全新角度剖析--iOS面试

参考:地址

一:面试题注意事项 (面试官角度)

我们很多iOS面试官在招聘的时候,很多都是直接在网上找一份iOS面试题就开始面试了!(😄偷懒😄)而我觉得这是一个很错误的做法。网上很多面试题的确不错,但是这样招聘过来的iOS开发人员不一定是非常优秀的,可能是背的面试题,也可能是贵公司的面试题泄漏,导致iOS求职者表现非常好!

  • 1:面试题可以网上获取,但是我希望面试官认真对待,希望能够结合你们的公司实际开发,落地到面试题 (这样也就避免人家吐槽,面试造🚀,开发拧🔩)

  • 2:面试题可以适当变动。根据求职者的简历情况,来变动面试题!有的简历不错的,可以适当调难一些。刚好在你的招聘及格线的求职者可以适当降低要求(毕竟要去不一样,后面薪资以及培养方向也会不一样)

  • 3:根据贵公司的状况也考虑:要不要笔试!笔试无好坏,只是一轮刷选,能够帮你适当刷掉一部分不符合你要求的iOS开发人员!但是贵公司招聘情况很不理想,我觉得可以反思:是不是笔试太难,笔试题目过多...

二:面试流程 (面试官角度)

个人比较反感的是:招聘岗位很少,却叫去很多面试者面试!这个是一种比较严重不尊重求职的一种行为!其实也是对你的一种损失 联系过多面试者来面试,这样的做法你既浪费了求职者的时间,同时也会造成面试成本飙升

希望面试官拿到简历,请你快速刷选出你合适中意的简历,然后分批安排面试! 对你中意的iOS 高级求职者!我希望能够多几次面试流程。一个真正的iOS高级开发对于公司来说非常重要,希望通过几个流程由不同的岗位 leader 写出评分,综合考虑, 切记盲目 同时这样正规的流程也能让求职者感受到贵公司的重视,以及入职以后的对于工作的重视!

三:iOS 高级面试内容

可能众多面试官还是比较关心面试内容,我这里从

  • iOS基础
  • Runtime相关
  • 网络&多线程
  • 数据结构&算法
  • 架构设计
  • 性能优化

等这些方面,给各位面试官准备了一些题,希望能够帮助到你

iOS基础

  • 1:讲讲你对noatomic & nonatomic的理解
  • 2:被 weak 修饰的对象在被释放的时候会发生什么?是如何实现的?知道sideTable 么?里面的结构可以画出来么?
  • 3:block 用什么修饰?strong 可以?
  • 4:block 为什么能够捕获外界变量? __block做了什么事?
  • 5:谈谈你对事件的传递链和响应链的理解 (这个面试题,如果求职者能够回答一些实际开发相关的处理,不只是简单的概念,予以加分)
  • 6:谈谈 KVC 以及 KVO 的理解?
  • 7:RunLoop 的作用是什么?它的内部工作机制了解么?
  • 8:苹果是如何实现 autoreleasepool的?
  • 9:谈谈你对 FRP (函数响应式) 的理解,延伸一下 RxSwift 或者 RAC
  • 10:平时开发有没有玩过 Instrument

分析:这里的内容非常有意思,对于一个iOS高级开发人员,我觉得还有很有必要掌握的!尤其开发3-5年,如果没有掌握这些内容我觉得是不合格的

在一些合适的地方可以进行延伸!

  • 第二题,第一问是关于 weak 这个面试是非常经典的,只要是个iOS开发都能回答一点。但是后面部分就需要他的学习能力了!
  • 第三题和第四题,侧击一下 MRC 一个资深4-5年开发经验或多或少都应该要知道一些 MRC 相关的知识!顺便可以摸摸求职者的探索能力
  • 第五题和第六题:我觉得如果求职者回答了一些实际开发相关以及文档能力的应该予以加分
  • 第七题、第八题、第九题以及第十题都是可以拓展更多的内容!

Runtime

  • 1:什么是 isa,isa 的作用是什么?
  • 2:一个实例对象的isa 指向什么?类对象指向什么?元类isa 指向什么?
  • 3:objc 中类方法和实例方法有什么本质区别和联系?
  • 4:loadinitialize 的去呗?
  • 5:_objc_msgForward 函数是做什么的?直接调用会发生什么问题?
  • 6:简述下 Objective-C 中调用方法的过程
  • 7:能否想向编译后得到的类中增加实例变量?能否向运行时创建的类中添加实例变量?为什么?
  • 8:谈谈你对切面编程的理解

分析:Runtime 这个模块iOS面试无论初中高都会面试。我觉得这个模块不光只是仅仅问问关于知识点内容,我更新想要听到求职者在这里面的爬坑探索辛历路程!

网络&多线程

  • 1:HTTP的缺陷是什么?
  • 2:谈谈三次握手,四次挥手!为什么是三次握手,四次挥手?
  • 3:socket 连接和 Http 连接的区别
  • 4:HTTPS,安全层除了SSL还有,最新的? 参数握手时首先客户端要发什么额外参数
  • 5:HTTPS是什么?握手过程,SSL原理,非对称加密了解多少
  • 6:什么时候POP网路,有了 Alamofire 封装网络 URLSession为什么还要用Moya
  • 7:如何实现 dispatch_once
  • 8:能否写一个读写锁?谈谈具体的分析
  • 9:什么时候会出现死锁?如何避免?
  • 10:有哪几种锁?各自的原理?它们之间的区别是什么?最好可以结合使用场景来说

分析:这个模块可能是一般开发人员的盲区。因为一般开发真心没必要去操心这么多!面试官你们可以挑去拷问就OK,面试过程中不能对答如流也是正常!当然如果能够回答上来应该加分!

数据结构

  • 1.数据结构的存储一般常用的有几种?各有什么特点?
  • 2.集合结构 线性结构 树形结构 图形结构
  • 3.单向链表 双向链表 循环链表
  • 4.数组和链表区别
  • 5.堆、栈和队列
  • 6.输入一棵二叉树的根结点,求该树的深度?
  • 7.输入一课二叉树的根结点,判断该树是不是平衡二叉树?

算法

  • 1.时间复杂度
  • 2.空间复杂度
  • 3.常用的排序算法
  • 4.字符串反转
  • 5.链表反转(头差法)
  • 6.有序数组合并
  • 7.查找第一个只出现一次的字符(Hash查找)
  • 8.查找两个子视图的共同父视图
  • 9.无序数组中的中位数(快排思想)
  • 10.给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。

分析:这个模块是绝大部分开发人员的软肋!这个模块是最能测试求职者思维能力的!但是我不建议面试官直接让求职者手写 在那样的面试紧张环境,手写数据结构或者一些算法代码,是非常有挑战的!思维到我觉得差不多!

架构设计

  • 1:设计模式是为了解决什么问题的?
  • 2:看过哪些第三方框架的源码,它们是怎么设计的?
  • 3:可以说几个重构的技巧么?你觉得重构适合什么时候来做?
  • 4:开发中常用架构设计模式你怎么选型?
  • 5:你是如何组件化解耦的?

分析:架构设计这一层对于一个iOS中高级开发人员来说。这一块那是他必须要去思考和感受总结的!如果这位求职者开发4-5年了,一直都在做应用层界面开发,那么想必他未来的职业晋升是已经落后了的!面试官不妨在这一个模块单独设计成一面,就和求职者一起交流讨论。毕竟这些思维的设计,也许能够给面试官带来一些不一样的东西!😊

性能优化

  • 1:tableView 有什么好的性能优化方案?
  • 2: 界面卡顿和检测你都是怎么处理?
  • 3:谈谈你对离屏渲染的理解?
  • 4:如何降低APP包的大小
  • 5:日常如何检查内存泄露?
  • 6:APP启动时间应从哪些方面优化?

分析:现在APP性能优化以及成为iOS中高级开发人员必须要去关系的东西!这一块我个人建议结合实际开发去和求职者交流。而不是仅仅停留在知识点问答,因为没有实际开发能力的性能优化都只是纸上谈兵!

推荐面试文集

* iOS面试题合集
* BAT—最新iOS面试题总结

总结

一个优秀的iOS中高级开发 = iOS技术 + 学习能力 + 态度 其中态度和学习能力也是我在面试别人过程中非常看重的!哪怕你技术目前很差,但是你有谦虚诚恳的态度,优秀的学习能力。也会愿意带你!

非常感谢你阅读到了这里!前面都是本人的建议,具体你的实施还是需要你根据情况调整!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容