iOS程序员
文章平均质量分 88
iOS开发面试
关注公众号:iOSer 每天更新更多开发干货!
展开
-
iOS开发--Swift:布局库——SnapKit
如果你是只从事过iOS开发,觉得使用SnapKit(OC中的Masonry)很方便,甚至xib拖拉也不错。可以说,这些都是iOS开发稀疏平常的日常。但一旦你学过Flutter/Vue写过UI组件,那么iOS的UI编写真的是有种不忍直视的感觉,可以说是原始社会。虽然隔壁Android的UI写起来也不会特别友好,但是还是比iOS好。为啥,因为其他的UI编写基本上都可以既见既所得了,就算犯了错,边看边边调试就行了只有iOS的需要编译调试。。。编译调试。。。编译调试。。。而且其他家的UI编写基本上都是一原创 2021-12-02 14:23:50 · 2973 阅读 · 0 评论 -
iOS开发——Swift中的函数盘点
前言:Swift已经被越来越多的公司使用起来,因此Swift的学习也应该提上日程了。本篇就先探索Swift中的函数,主要包括以下几个方面:Swift函数定义Swift函数参数与返回值Swift函数重载内敛函数优化函数类型、嵌套函数一、Swift函数定义函数的定义包含函数名、函数体、参数及返回值,定义了函数会做什么、接收什么以及返回什么。函数名前要加上 func 关键字修饰。如下为一个完整的函数定义事例:func greet(person: String) ->原创 2021-11-23 15:55:07 · 2072 阅读 · 0 评论 -
七年iOS架构师教你如何一举拿下35K的Offer,(附面试技巧)
前言:现在很多人即将毕业或者换工作面临找工作,为了帮助大家,遂写下这篇文章。如果你想进入BAT,抑或拿到高工资,无论你的基础如何,你至少要花三个月时间来准备简历、笔试题、面试题。对于没有项目经验,没有计算机专业背景,甚至没有学历背景的朋友,更需要花时间来准备了,建议半年以上。脱颖而出的简历,一份优秀的简历一定要有以下描述:(一)基本信息1、姓名、手机、邮件这三个信息是必备的,邮件一定不要使用 QQ 邮箱,会显得你很 LOW,建议用 Gmail 邮箱,转载 2021-05-17 21:14:26 · 335 阅读 · 0 评论 -
如何快速成为一名合格的iOS开发架构师?
前言:最近好多人私信问我,该怎样才能成为架构师,还有一个就对当前的状态感到迷茫。我在此做一个简单的说明,或者对迷茫中的你来说有些许帮助。如果你是想成为iOS架构师,那么你首先要是一个iOS高级攻城狮。也就是说,基础底层知识必须牢固,对iOS的了解全面而且深入。有很多人对现在的工作感到很没意思,因为当前的工作,完全是实现业务,技术上没有任何提高。在这种状态下就会感到迷茫,特别是一想到将来这种迷茫感就更强烈了。与其说迷茫还不如说是担忧,随着时间的推移,自己的技术又没有长进,所以感觉忧心忡忡。这里分为这转载 2021-04-20 21:32:40 · 272 阅读 · 0 评论 -
升级版iOS开发面试题,难倒80%的iOS程序员?
序言:之前一时兴致在本站上出过一份iOS的中级面试题,引起一些关注,不少同学表示对”隐藏关卡“感兴趣。升级版iOS面试题来了,目测难倒90%iOS程序员,目测一大波程序员撸着袖子在靠近。每道题都不难,对知识广度有要求,请摸着良心回答,不要百度。**声明:**这份面试题和iOS程序员本身技术水平没任何关联,无论你能否全部答出,都不要对自己产生任何正面或消极的评价,请理性对待,权当做闲暇之余的消遣。作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:834688868,不原创 2021-03-24 20:18:59 · 177 阅读 · 0 评论 -
iOS经典面试题
前言随着移动互联网科技不断的发展和创新,如今无论是公司还是开发者或设计师个人而言,面试都是一项耗时耗钱的项目,而面对iOS开发者及设计师在面试时可能会遇到的问题进行了筛选与汇总。下面我们一起来一下看看吧。一、如何绘制UIView?绘制一个UIView最灵活的方法就是由它自己完成绘制。实际上你不是绘制一个UIView,而是子类化一个UIView并赋予绘制自己的能力。当一个UIView需要执行绘制操作时,drawRect:方法就会被调用,覆盖此方法让你获得绘图操作的机会。当drawRect:方法被调用,原创 2021-03-19 20:34:11 · 1013 阅读 · 0 评论 -
面试滴滴+美团+阿里之后,总结了62道最新iOS面试题
前言:每年三四月份都是招聘高峰期,也就是我们说的金三银四,很多想换工作的职场人士都会选择在此时换一份工作,毕竟一年之计在于春,对于公司和个人而言都是一个新的开始。2021年,各行各业都举步维艰,然而做为iOS面试官的我也在精心准备的为公司招进优秀的iOS开发,期间收到了很多简历,也笔试了不少开发者,上一周我们已经发了3个offer,所以先下手为强,我们已经招满了人的职位,依旧陆陆续续也还有很多的简历投向我们。前面一段时间给公司面试了10个iOS开发,自己总结了62道面试题,在此,我分享给大家,希望大原创 2021-03-08 22:47:32 · 1852 阅读 · 0 评论 -
面试了一个 31岁的iOS开发者,思绪万千,30岁以上的程序员还有哪些出路?
前言之前HR给了我一份简历,刚看到简历的第一眼,31岁? 让我有点意外,实际上,现在开发趋向于年轻化,大部分都是90后、95后,毕竟,软件开发不像硬件开发一样,年限越高,相对来说越吃香。31岁,iOS开发工程师,工作经历7年,5年左右都在外包公司,2年左右在创业公司。经常能在网上听到一些某某公司清退一些35岁以上人员,小编工作也有4年多了,说实话,也有点迷茫,特意百度查了一下30岁程序猿的出路,发现知乎上有这么一个话题,“30岁以上的程序员该何去何从?”[外链图片转存失败,源站可能有防盗链机制,原创 2021-02-24 21:29:35 · 3692 阅读 · 0 评论 -
iOS开发行业月薪想要突破3万,需要经历什么?
前言:本文分享内容如题。根据强哥的经验,我们可以把职业生涯进行一个简单的规划,要实现月薪2万的目标(在一线城市到也不难,二线城市相对低一些,我们就取个中间值吧,2万的目标就是指一线城市3万左右月薪,二线城市1万5左右月薪这么个水平),大致需要经过以下几个阶段:第一阶段 迷茫期毕业0到3年时间范围,薪水5-8K居多(一线城市更高一点,二线城市刚好,三线城市更低一点。秀优越感和杠精们绕道。),可能有很多朋友都处于这个阶段,比上不足,比下有余,内心很动荡,总觉得别人的技术才是最好的,自己所拥有的都是垃圾。原创 2020-12-16 21:13:46 · 266 阅读 · 1 评论 -
IT行业的高薪还能维持多久?
前言:Glassdoor 数据显示,在美国,Google软件工程师的平均工资在13万美金左右,Facebook软件工程师的平均工资也在12.5万美金以上。在国内,华为员工的人均年薪也高达63万人民币。可是虽然IT行业的高工资吸引着越来越多人选择IT方面的工作,但也有很多人担心一个问题:IT行业的薪资会不会逐年下滑?那么,IT行业的高薪到底还能不能继续维持下去呢?下面我们就来分析一下。1. IT行业需求持续扩大,逐渐吞噬各行各业华尔街日报曾在2011年就说到,软件正在吞噬这个世界。 餐饮业的手机点单原创 2020-10-15 21:16:22 · 344 阅读 · 0 评论 -
iOS优化篇之App启动时间优化
前言最近由于体验感觉我们的app启动时间过长,因此做了APP的启动优化。本次优化主要从三个方面来做了启动时间的优化,main之后的耗时方法优化、premain的+load方法优化、二进制重排优化premain时间。通常我们对于启动时间的定义为从用户点击app到看到首屏的时间。因此对于启动时间优化就是遵循一个原则:尽早让用户看到首页内容。app启动过程iOS应用的启动可分为pre-main阶段和main()阶段,pre-main阶段为main函数执行之前所做的操作,main阶段为main函数到首页展示原创 2020-08-24 22:11:43 · 637 阅读 · 0 评论 -
从事 iOS 研发6年的面经——送给准备跳槽的你!
前言:今天和大家分享一下,我从事iOS开发6年的面试心得。大大小小参加过不下30+公司的面试,其中不乏BAT、TMD等一线互联网公司,总结一下,发现大厂招聘都有一个共性。对技术的要求很全面,有些同学认为iOS掌握了基础的UI、网络、内存、多线程等等就够了,其实要想更好的应付iOS的面试,这些是远远不够的。比如对RunTime底层实现机制、RunLoop的用户态到核心态切换逻辑,设计模式、架构以及框架的考察,再比如,可能是让很多同学头疼的算法问题,然而算法问题是一线大厂的必考内容。所以我们需要学习原创 2020-08-06 21:27:52 · 233 阅读 · 0 评论 -
那群吵着说iOS不行了的人,现在都去哪了?
前言:平时工作之余,我也会偶尔看下QQ交流群里面的聊天信息,最近发现群里的很多iOSer都在讨论iOS不如从前,自嘲iOS岗位没人要。群里有人就说了,三年前我刚培训出来加的群就有人喊iOS开发没人要了,现在不也是好好的吗?比较有意思的是说上面这句话的人,也同样说了下面这句话。其实不然,不是iOS开发没人要,25k以上的iOS在北上照样烂大街,一般普通的码农,在别的城市做着最基本的UI业务,每天过着三和大神的日子,能混则混,肯定是挺难的,毕竟跟北上广深那些个大厂的iOSer比较起来的话,不论从薪资原创 2020-07-23 23:17:29 · 224 阅读 · 0 评论 -
《数据结构与算法》总结(八)优先级队列
目录优先级队列优先级队列的应用场景举例优先队列的底层实现习题一 优先级队列优先级队列也是个队列,因此也是提供以下接口int size(); // 元素的数量boolean isEmpty(); // 是否为空 void enQueue(E element); // 入队 E deQueue(); // 出队E front(); // 获取队列的头元素 void clear(); // 清空普通的队列是 FIFO 原则,也就是优先级队列则是按照优先级高低进行出队,比如将优先原创 2020-07-23 23:05:27 · 196 阅读 · 0 评论 -
iOS开发--探究iOS线程调用栈及符号化
探究iOS线程调用栈及符号化概念调用栈,也称为执行栈、控制栈、运行时栈与机器栈,是计算机科学中存储运行子程序的重要的数据结构,主要存放返回地址、本地变量、参数及环境传递,用于跟踪每个活动的子例程在完成执行后应该返回控制的点。一个线程的调用栈如上图所示,它分为若干栈帧(frame),每个栈帧对应一个函数调用,如蓝色部分是DrawSquare函数的栈帧,它在运行过程中调用了DrawLine函数,栈帧为绿色部分表示。栈帧主要包含三部分组成函数参数、返回地址、帧内的本地变量,如上图中的函数DrawLine调原创 2020-07-20 21:12:13 · 469 阅读 · 0 评论 -
《数据结构与算法》总结(七)哈夫曼树
目录哈夫曼编码(Huffman Coding)哈夫曼树构建哈夫曼树构建哈夫曼编码一 哈夫曼编码(Huffman Coding)哈夫曼编码,又称为霍夫曼编码,它是现代压缩算法的基础假设要把字符串【ABBBCCCCCCCCDDDDDDEE】转成二进制编码进行传输可以转成ASCII编码(6569,10000011000101),但是有点冗长,如果希望编码更短呢?可以先约定5个字母对应的二进制ABCDE000001010011100对应的二原创 2020-07-20 20:41:38 · 514 阅读 · 0 评论 -
《数据结构与算法》总结(六)哈希表
目录哈希表哈希冲突(Hash Collision)JDK1.8的哈希冲突解决方案哈希函数如何生成key的哈希值Long和Double的哈希值字符串的哈希值关于31的探讨自定义对象的哈希值自定义对象作为key哈希值的进一步处理:扰动计算装填因子TreeMap vs HashMapLinkedHashMap关于使用%来计算索引一 哈希表哈希表也叫做散列表( hash 有剁碎的意思)它是如何实现高效处理数据的?put(“Jack”, 666);put(“Ros原创 2020-07-20 20:40:49 · 570 阅读 · 0 评论 -
2-6年“iOS开发”,跳槽简历思路(必备)
前言:一年之计在于春 金三银四已过,2020也上半年也已经过去,作为一个开发人员,你是否面上了自己理想的公司,薪资达到心中理想的高度?现在距离九十月份还有不到2个月,如果你按我总结的方式去不断学习探索,相信也能在金九银十给自己一个满意的答复!越来越多的消息显示着现在互联网行业招人难,应聘难,程序员想找个好工作更难,但是招聘网站数据显示,iOS岗位的缺口依旧很大!iOS市场慢慢的往中高级方向走了!所以并不是你找不到工作了,iOS岗位还是有很多的,技术是最关键的,所以还在等什么呢?行动.原创 2020-07-13 21:35:47 · 808 阅读 · 0 评论 -
《数据结构与算法》总结(三)集合
一 目录集合介绍接口设计二 集合(Set)集合的特点不存放重复的元素常用于去重存放新增 IP,统计新增 IP 量存放词汇,统计词汇量…三 接口设计@interface Set : NSObject- (int)size;- (BOOL)isEmpty;- (void)clear;- (BOOL)contains:(id)element;- (void)add:(id)element;- (void)remove:(id)element;- (v原创 2020-07-08 22:38:09 · 114 阅读 · 0 评论 -
2020年中高级iOS大厂面试宝典+答案
前言过年之后相信有一部分的人,早已磨刀霍霍向大厂。势必要大展拳脚,必将在大厂内创出一片天地。但是,想必大家都知道:最近几年的最严重的互联网寒冬来临,各位兄弟都会说**“江湖再见”**。耳边总是充刺着流言蜚语,这个地方裁员了,这个地方缩减HC。弄得人心慌慌。年后将是一片血雨腥风,程序界的江湖将在这一天精彩斑斓。但我们要知道,寒冬之中,什么是最珍贵,就让鄙人告诉你:人才。只要有过硬的技术和装备,在逆风直下的情况下,咱们也能迎难而上,打他个戳手不及。不是“李云龙”大哥说:“过狭路相逢勇者胜.”最近几天看了朋原创 2020-06-29 22:27:10 · 711 阅读 · 0 评论 -
这些 iOS开发 冷知识,你知道吗?
笔者最近在准备面试时候,回顾了一些过去写的项目和知识点,从底层和原理的角度重新去看代码和问题,发现了几个有意思的地方。单例对象的内存管理问题背景在解决 App 防止抓包问题的时候,有一种常见的解决方案就是:检测是否存在代理服务器。其实现为:+ (BOOL)getProxyStatus { CFDictionaryRef dicRef = CFNetworkCopySystemProxySettings(); const CFStringRef pr原创 2020-06-28 21:01:18 · 137 阅读 · 0 评论 -
iOS面试题--原理篇
runtime怎么添加属性、方法等ivar表示成员变量class_addIvarclass_addMethodclass_addPropertyclass_addProtocolclass_replaceProperty是否可以把比较耗时的操作放在NSNotificationCenter中首先必须明确通知在哪个线程中发出,那么处理接受到通知的方法也在这个线程中调用如果在异步线程发的通知,那么可以执行比较耗时的操作;如果在主线程发的通知,那么就不可以执行比较耗时的操作runtim原创 2020-06-28 21:00:38 · 212 阅读 · 0 评论 -
2020 WWDC 苹果开发者大会 总结
总结:对开发者来说的几点期待:iOS的小组件设计和开发clips的设计和开发safari扩展提效的功能新应用适配apple新芯片第三方包对于catalyst的支持,这项功能的真实可用时间点对普通用户来说的期待和疑问:iOS,macOS,carplay的新UI不知哪年才能用上的carkey提升音效的airpods有骑车指引的新版地图不知道能不能从钉钉和微信手里抢用户的imessage看起来好像超快超低能耗的新款mac下面是我整理的一些具体内容iOS抄安卓,抄微信,抄钉钉原创 2020-06-24 16:17:23 · 1024 阅读 · 0 评论 -
太厉害了,终于有人能把TCP/IP 协议讲的明明白白了
同样的,本文篇幅也比较长,先来一张思维导图,带大家过一遍。一、 计算机网络体系结构分层作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:413038000,不管你是大牛还是小白都欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!推荐阅读iOS开发——最新 BAT面试题合集(持续更新中)以下资料在群文件可自行下载!不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而转载 2020-06-10 22:45:40 · 191 阅读 · 0 评论 -
iOS算法题(三)合并K个有序链表
题目描述合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4->5->6一 思路一 最笨方法将所有节点添加到一个数组中对数组中的节点从小到大进行排序从数组中从小到大依次取出节点,串成链表图解作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交原创 2020-06-09 16:08:56 · 303 阅读 · 0 评论 -
iOS算法题(二)合并两个有序链表
一 题目详解https://leetcode-cn.com/problems/merge-two-sorted-lists/将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。实例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4二 思路分析思路一 迭代思路二 递归作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:4130380原创 2020-06-09 16:08:19 · 403 阅读 · 0 评论 -
iOS开发——Block内存管理实例分析
说道block大家都不陌生,内存管理问题也是开发者最头疼的问题,网上很多讲block的博客,但大都是理论性多点,今天结合一些实例来讲解下。存储域首先和大家聊聊block的存储域,根据block在内存中的位置,block被分为三种类型:NSGlobalBlockNSStackBlockNSMallocBlock从字面意思上大家也可以看出来1、NSGlobalBlock是位于全局区的...原创 2020-05-08 15:52:44 · 165 阅读 · 0 评论 -
iOS经典面试题大全
1.INTERVIEW 共勉2.INTERVIEW 准备作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:638302184,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 与2800+iOS开发者一起交流学习成长!3.iOS developers 方向4.INTERVIEW QUESTION4...原创 2019-12-23 22:42:04 · 820 阅读 · 0 评论 -
从阿里面试官角度教你,如何给面试官留下好印象?拿到大厂Offer
我可能是在同龄人中做面试官经验比较丰富的,在某乎实习的时候就参与了前端的技术面试。后来在阿里以及另一家公司也面试过不少候选人,校招、社招、外包都有面试过。这里以一个面试官的角度来给大家谈谈在面试的时候怎么能给面试官留下更好的印象,更容易拿到大厂的Offer。为了不造成任何面试题泄露,这里我不会涉及到任何具体的面试题。推荐阅读:iOS开发——2019 最新 BAT面试题合集(持续更新中)...原创 2019-12-13 22:56:16 · 279 阅读 · 0 评论 -
如果有机会重来,你还愿意做iOS开发嘛?
前言:49年入国ming党是个什么感觉?我相信现在很多做iOS开发的体验到了~从唐巧大佬发布的微博来看,要求已经比前些年移动热潮时代高了不是一点点!不能说是歧视,毕竟大佬说了,只要有能力,其他的anything都无所谓!作为从事iOS 开发好几年的“编程狗”,我见识过 2013-2014 年移动端大热时的疯狂,见识过 2016 年一个iOS 岗位对应千封简历的疯狂(培训班扰...原创 2019-11-26 22:23:00 · 169 阅读 · 0 评论 -
一年iOS工作经验,如何一举拿下百度、美团、快手等Offer面经(附面试题)
前言:先简单说说我最近的面试经历吧。面试的公司很多,大部分最后都能得到令人满意的结果,我将这些体会记录下来,面了这么多公司,如果不留下什么,那岂不是太浪费了。对于我来说,这也是一次自我检查,在这次面试中总结经验,认清自己,同时希望这些对即将换工作或者打算看看其他机会的你有一些帮助。以下的部分有具体的面试经历,也有自己的一些总结面试必备技能和自己的一些感想。为何离开小米?离开小米的主...原创 2019-08-14 22:12:50 · 619 阅读 · 0 评论