iOS面试题相关
- 原理部分
- runloop mode、常见用法
- 内存管理 autoreleasepool如何释放,怎么用的,实现原理
- kvo/kvc原理,NSNotificationCenter区别,实现一个center
- weak 实现、weak 变量什么时间释放
- category 实现、与extension区别
- NSTimer timer不准
- copy 手动实现copy方法,与strong区别
- performSelector 与发消息区别
- load与initlize区别 运行时机
- runtime 都用到哪些,基本就是整个模块讲一遍,会多少讲多少
- 多线程 都用到哪些
- UI部分
- UIButton继承链 UIControl
- masory
- UITableView 优化
- 怎么实现一个滑动页面,这个页面有很多怎么办,如何保证页面数据不发生变化
- 事件响应链 点击button,哪个会响应
- 第三方库源码
- SDWebImage dispatch_barrier_async,框架分模块,某一个模块怎么做的
- weex原理,为什么要采用weex,不采用rn;
- JSPatch 原理,与weex区别
- 调试与优化
- 如何检测卡顿 runloop
- UITableView优化,高度缓存、cell重用、子view opaque、SD
编程基础相关
- http报文,get/post,socket
- 结构体与枚举的区别
- NSUrlSession相关
- 数据结构 链表(交叉、有环)、树的遍历、栈实现队列、红黑树
- 算法 1亿数据中取前10个数,放硬币
面试过程相关
- SDK 点击曝光检测,怎么调用
- 曝光检测,怎么保证出现
- 是这样的吗?平时要多思考
面试准备
首先,面试要自信,不用担心基础不行或者怎么样,不会的人多的是;
思维、思路很重要,体现出自己思考的过程;