iOS面试题小结(1)
2018-03-12 本文已影响61人
萌小奇
最近iOS求职越来越难了,连个像样的面试电话都没得,这是我是朋友那里打听到的部分面试题,稍作总结,总要有所期待的,万一那天成真了呢。
如果你也刚经历了面试或者对这些问题感兴趣,欢迎一起讨论、回答。
京东:
- AFNetworking是如何实现多线程的
- 如何自己控制AFNetWorking的多线程,如果解决上传多张图片引起的内存剧增的问题
- 模块化的实现过程
- 自动化测试
- 数据库的升级(当前数据库不能满足业务了,1.0->2.0->3.0…..)
of0
- block的底层实现
- block的类型有哪几种
- 你碰到的block的循环引用
- 为什么你在用masonry,AFNetWorking的block回调不需要对self进行__weak
- 出现野指针的情况大概有哪些
- swift里的闭包和OC的block的区别
- sqlite使用的时候需要注意什么
美团
- Block的底层原理,结构,内存以及需要注意的地方。
- 图片渲染,一张 png/jpg 格式的图片渲染到页面上显示有哪些流程。png和jpg的区别。png一定是无损的吗?
- Runtime。
- Runloop 的结构和循环流程,用Runloop做过什么事情。
- 多线程,NSOperationQueue 和 GCD 的区别。用多线程做过什么事情。线程安全的问题。加锁有几种方式。
- NSURLSession 和 NSURLConnection 的区别, NSURLConnection 是怎么封装的。CFNetwork。
- 做过什么动画。
- https 的工作原理,和 http 的区别。RSA 加密原理。
- 网络层级,TCP 和 UDP 的区别。
- SDWebImage 的框架结构,缓存机制。
- Git 的 rebase 的原理。Git 流程。
- 对组件化的了解,组件化是为了解决什么问题。
- JSPatch的原理。
- 单例是为了处理什么问题而使用的,单例和全局变量的区别。
- 对设计模式的掌握。
- 分层打印二叉树。