关于面试题,可能没那么多时间来总结答案,有什么需要讨论的地方欢迎大家指教。主要记录一下准备过程,和面试的一些总结,希望能帮助到正在面试或者将要面试的同学吧。
一面
- 最近公共父节点(两个节点,都可能为null,都可能不在树上。)
- 反转链表(常规题)
- HTTP了解吗?HTTP2.0介绍下
- iOS9-13,每个版本讲一个特性
- 怎么实现多个任务执行完后,再统一处理(应该是同步阻塞、栅栏函数、调度组)
- 不让用SDWebImage,如何实现类似逻辑 (自己设计图片请求和缓存,简单讲了SDWebImage的思路)
- 每个TableViewCell都有一个UIImageView要加载图片,如果没有缓存,有五个Cell请求一个url,同时发请求肯定是不实际的,如何处理?
- 微信TableView滑动的时候,动图是不动的,为什么?(Runloop的Mode决定的)
- 有了解过WebSocket吗?
二面
- 如何不试用递归,打印所有一个UIView所有的subviews
- 设计一个图片缓存系统,并代码实现
- 介绍基于LLVM/Clang的静态分析
- 七层协议栈
- HTTP是哪一层的协议
- HTTP常见的返回码有哪些?
- HTTP除了GET、POST还有哪些?(UPDATE、DELETE、HEAD)
- HTTPS介绍一下
- HTTPS能防止中间人攻击吗?
- TCP和UDP的区别
- 线程和进程的区别
- 线程之间如何进行通讯
- 不使用gcd,如何保证线程安全?
- iOS有哪些多线程方式?(NSOperation、NSThread、GCD)
- 同步和异步有什么区别?
- 串行队列和并行队列有什么区别?
- 队列和线程的关系
- 死锁是怎么产生的?
三面
- 合并排序链表
- HTTPS用的对称加密还是非对称加密?
- TCP的慢启动,快恢复介绍下
- 客户端发送网络请求,到拿到响应的整个过程 (类似打开一个网页的过程)
- 接上题,如果DNS解析的时候,某个ISP服务器没有了,这时候逻辑是怎样的?
- 介绍了下字典转模型的设计+夜间模式的设计
- 为什么不用成熟的字典转模型的三方?有了解过吗?
- 夜间模式有什么缺点,能怎么优化?
- 锁有哪些?
- 数据存储,怎么存的(FMDB)
- 线程安全错误是怎么出现的?
更多:iOS面试题合集
另外附上一份各个好友收集的各大厂面试题+答案 ! 需要的可加 iOS技术探讨群:624212887,群文件直接获取
如下图所示:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。