2019高级iOS开发工程师面试题(持续更新中...)
2019-06-20 本文已影响223人
正确的道路上用笨方法
最近参加了几次面试,感觉iOS的水越累越深了,问的问题都是超出了我的能力范围,因为有的有点记不清楚了,今天专门抽时间整理一下,如果你都能答对,那就很棒了
总结如下:
1:http ,浏览器,输入网址,敲入回车,执行了什么操作?
2:block里边如何使用,可以用strong吗?
3:weak asign strong asign 的区别?
4: weak的内部的使用的原理
5: swift中 struct和xx的区别
6: 循环引用是怎么出现的?如何避免
7: timer是如何释放的?
8: 多线程有几种?
9:GCD是如何工作的
10: 倒计时有几种方式实现?
11: APNS的原理
12: https和http的区别
13: socket原理(暂时没有问到)
14:内存管理机制
15: 排序算法
16: 文件管理
17: ios组件化用过哪些
18: 哪些是遇到的难点?如何解决的
19: 微信支付的流程
20: 响应链
21:class 和methClass的区别
22: 属性的原理
23:拓展 和 类别 和继承的区别
24:kvo和kvc底层实现
25: load和init的区别
26:对象什么时候释放
27:沙盒结构
28:串行异步和并行同步什么区别
29: 如何造成死锁
30:如何循环引用
31:runLoop循环
32.runtime 机制
33:TCP UDP
34:OSI7层模型 (通信底层原理)
35:单例模式如何释放
36:tableview cell 的运行机制
37: 倒计时有几种?
38:延迟的几种方法?