抖音--最新iOS面试题总结

关于面试题,可能没那么多时间来总结答案,有什么需要讨论的地方欢迎大家指教。主要记录一下准备过程,和面试的一些总结,希望能帮助到正在面试或者将要面试的同学吧。

一面

  1. 最近公共父节点(两个节点,都可能为null,都可能不在树上。)

  2. 反转链表(常规题)

  3. HTTP了解吗?HTTP2.0介绍下

  4. iOS9-13,每个版本讲一个特性

  5. 怎么实现多个任务执行完后,再统一处理(应该是同步阻塞、栅栏函数、调度组)

  6. 不让用SDWebImage,如何实现类似逻辑 (自己设计图片请求和缓存,简单讲了SDWebImage的思路)

  7. 每个TableViewCell都有一个UIImageView要加载图片,如果没有缓存,有五个Cell请求一个url,同时发请求肯定是不实际的,如何处理?

  8. 微信TableView滑动的时候,动图是不动的,为什么?(Runloop的Mode决定的)

  9. 有了解过WebSocket吗?

二面

  1. 如何不试用递归,打印所有一个UIView所有的subviews

  2. 设计一个图片缓存系统,并代码实现

  3. 介绍基于LLVM/Clang的静态分析

  4. 七层协议栈

  5. HTTP是哪一层的协议

  6. HTTP常见的返回码有哪些?

  7. HTTP除了GET、POST还有哪些?(UPDATE、DELETE、HEAD)

  8. HTTPS介绍一下

  9. HTTPS能防止中间人攻击吗?

  10. TCP和UDP的区别

  11. 线程和进程的区别

  12. 线程之间如何进行通讯

  13. 不使用gcd,如何保证线程安全?

  14. iOS有哪些多线程方式?(NSOperation、NSThread、GCD)

  15. 同步和异步有什么区别?

  16. 串行队列和并行队列有什么区别?

  17. 队列和线程的关系

  18. 死锁是怎么产生的?

三面

  1. 合并排序链表

  2. HTTPS用的对称加密还是非对称加密?

  3. TCP的慢启动,快恢复介绍下

  4. 客户端发送网络请求,到拿到响应的整个过程 (类似打开一个网页的过程)

  5. 接上题,如果DNS解析的时候,某个ISP服务器没有了,这时候逻辑是怎样的?

  6. 介绍了下字典转模型的设计+夜间模式的设计

  7. 为什么不用成熟的字典转模型的三方?有了解过吗?

  8. 夜间模式有什么缺点,能怎么优化?

  9. 锁有哪些?

  10. 数据存储,怎么存的(FMDB)

  11. 线程安全错误是怎么出现的?


更多:iOS面试题合集

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章