抖音--最新iOS面试题总结
关于面试题,可能没那么多时间来总结答案,有什么需要讨论的地方欢迎大家指教。主要记录一下准备过程,和面试的一些总结,希望能帮助到正在面试或者将要面试的同学吧。
一面
-
最近公共父节点(两个节点,都可能为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,群文件直接获取
如下图所示: