时长:30分钟
1. 自我介绍(约5分钟)
2. iOS基础
2.1 在启动一个App时,类的加载过程是什么样的?
2.2 在OC或者Swift中,调用一个类的方法时,具体的流程是什么样的?(OC走runtime机制,Swift则是四种不同的派发机制:直接派发、虚函数表派发、见证表派发、runtime动态派发)
2.3 一个App是如何被渲染的?(Vsync信号)
2.4 刚刚提到了离屏渲染,在什么时候会触发离屏渲染?
2.5 有圆角时一定会触发离屏渲染吗?(不一定,要看具体的视图层级)
2.6 iOS的多线程编程中,如果现在A、B两个线程要先执行,C和D线程要等A与B完成后执行,有哪些方案可以实现?(栅栏函数、信号量、同步队列、dispatchGroup)
2.7 OC在调用函数时如何调用?(runtime)
2.8 在iOS中有Timer,使用过哪些timer?
2.9 runLoop除了能够绑定timer,还可以实现哪些功能?(性能优化、自动释放池)
2.10 如何理解weak关键字?什么时候需要使用weak?(循环引用)
2.11 使用cocoaPods来进行pod install时,具体执行了哪些步骤?
2.12 UIView和UIViewController的继承链关系是什么样的?
3. 反问
3.1 部门的业务开发?
3.2 跨端技术对于整个iOS行业的影响?