面试内容
一面(腾讯会议视频面试)
0. 自我介绍和手撕代码(简单题:给定一个字符串,返回后面k个字符)
1. 从在浏览器输入URL到网页显示的过程,发生了什么
2. 为什么HTTPS是安全的
3. TCP是怎么保证可靠传输的
4. 堆和栈的区别
5. 什么是内存对齐(这个没回答好)
6. 深拷贝和浅拷贝的区别
7. 进程和线程的区别
8. 什么是死锁,死锁发生的条件以及怎么避免
9. 进程间的通信方式有哪些
10. 二叉树的遍历方式有哪些
11. 字典查找的时间复杂度是多少,为什么
12.数据库事务正确执行的四个基本要素(没答上来)
13. 说一下三种范式(也没回答上来,并且坦白告诉面试官,我对数据库不是很熟悉)
14. strong、weak、assign、retain和copy等修饰符的区别
15. 说一下MVC设计模式
16. app生命周期
17. KVO的原理
18.说一下对Runloop的理解
19. 有看过AFNetworking源码吗(我简历上提到用过哪些库。我回答了没看过)
20. 你在学校做iOS项目的时候,有没有遇到什么印象深刻的问题,你是怎么解决的(针对简历上面写的项目问)
21. 你有什么想问的吗
小结:一轮面试问的基础问题比较多,大部分都回答得不错