面试7家公司后摘出的知识点(iOS)

作者总结了iOS开发面试的知识点,按被问次数罗列。面试了7家公司,部分有完整记录。指出iOS开发人员需求仍在,但要求提高,对知识点掌握的精确度和深度有提升,还提及自我介绍等要提前准备,最后列举了高频和低频面试知识点。


写此文的目的 

记得去年这个时候自己就在面试,今年面试自己总结了很多。我按照被问的次数罗列了一些知识点,整理了下自己总结的东西。(因为知道自己能力有限,没有过深的去解释每个点,不过基本谷歌一下,所有的内容基本可以查到)

罗列的前13都是面试命中率较高的知识点

背景 

焦虑的不行要涨薪啊。

总共面试了7家,分别是豆瓣、好未来、平安、*暂时匿名*、印象笔记、360、斗米。谈到offer的有、到2面的也有,在一面就被刷的有3家。

豆瓣、360、斗米3家是有稍微完整的知识点记录,其他的或因为拿到offer、或因为当时面试状态不佳,都是靠之后回忆了一部分。 

感受以及总结

 iOS开发人员需求还是有的,只是要求高了很多。

 对于知识点的掌握不再止于了解,精确度、深度的要求都有提升。 

自我介绍、项目亮点、项目难点一定要事先准备好,有深度,不卡壳。(可以看看面试之道第一章),算法、数据结构的考量因为我面的不是太大的厂,面的不深,但是会有。

 好未来运行时的东西偏多、 印象笔记偏广、平安偏组件化(自己感觉)

知识点总结(2次以上13个。14后之后的都是被问到一次也可以看看)

  1. tableview滑动流畅的优化 被问6次
    这个相信大家肯定问到过,推荐ibireme的 blog.ibireme.com/2015/11/12/…
  2. kvo kvc 被问5次

    这个的会问kvc的内部实现,   kvo的原理 
  3. 消息转发 被问5次
    unrecognized selector sent to instance **一般到了这里就没跑了 等面试官说完,基本消息转发过程中都经过了哪些步骤说一说,每一步是干什么,以及能做什么。会结合Runtime添加方法什么的聊一聊
  4. gcd 被问5次
    推荐《Effective Objective-C》 2.0第6章    信号量 group 栅栏 3个关键词如何使用
  5. 事件响应 被问5次
    响应链和事件传递、怎么寻找最合适的view、 一个view的frame超出父view会怎样
  6. 循环引用的几种,成员变量怎么解环 被问4次
    可能会延伸到weak的实现 weak-strong dance 为啥还要strong一下
    成员变量产生循环引用该怎么解
  7. property相关 被问4次
    Weak strong copy 什么时候用啥,混用会有什么后果。
    为啥string用copy
    weak的底层实现
  8. Runtime 被问4次
    啥是运行时 能干哈 objc_messageSend的底层实现
    打印项目中所有类,类的方法
    method swizzling
  9. 代理,block,通知的差别 被问3次
    可能会手写代理 可能在代理里串下为什么用weak修饰
    block的本质 循环引用及其解决
    通知的原理 自己实现一个通知的思路
  10. 组件化 被问3次

    组件间调用及通讯、也会串设计模式mvc、mvvm

  11. runloop和线程的关系 被问3次
    这个也没啥可说的,有下面一段代码被问到
    dispatch_queue_t queue = dispatch_get_global_queue(0, 0);
    dispatch_async(queue, ^{
    NSLog(@"1");
    [self performSelector:self withObject:@selector(test) afterDelay:.0];
    NSLog(@"3");
    });
    - (void)test{
    NSLog(@"2");
    }
    推荐阅读链接: https://www. jianshu.com/p/5a4ba3c16… 第九点 
  12. self super 调用方法的步骤 被问2次
  13. autoreleasepool的底层实现,什么时候被释放 被问2次
  14. 判断链表重复节点 被问2次
  15. 如何隐藏一个view 有几钟方法
    这个有点笼统,具体也没啥好的答案,大家可以留言讨论下
  16. iOS推送流程(APNS) 
  17. ismemberof isclassof的去呗
  18. static全局和局部的差别
  19. uivew继承自谁,CALayer与uiview的关系
  20. .isa指针
  21. atmtic是线程安全嘛,为什么
  22. 不通过中间变量交换2个变量
  23. 25匹马 5个赛道 赛多少次可以获得第三名
  24. 分层架构在计算机中有哪些用到
  25. Http协议三次握手过程

推荐阅读:

  • https://juejin.im/user/595c8f866fb9a06bbf6fecba . 
  • https://www.jianshu.com/p/5a4ba3c165b9 
  • 《iOS面试指南》 
  • 《Effective Objective-C 2.0》


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值