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

1,115 阅读4分钟


写此文的目的 

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

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

背景 

焦虑的不行要涨薪啊。

总共面试了6家,分别是豆瓣、好未来、平安、印象笔记、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次
    基本消息转发过程中都经过了哪些步骤说一说,每一步是干什么,以及能做什么。会结合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.cn/user/2893570334019655 . 
  • https://www.jianshu.com/p/5a4ba3c165b9 
  • 《iOS面试指南》 
  • 《Effective Objective-C 2.0》