iOS面试知识回顾

187 阅读1分钟

一:编程语言(总览)

1、OC

2、swift

3、Dart

4、python

5、java

二:技术面试之oc

1、内存管理 (1、引用计数 2、mrc 3、arc 4、strong weak assign 5、深copy与浅copy 6、内存泄露 7、循环引用 8、atomic 与nonatomic)

2、runtime(1、id,instance 2、isa 3、消息转发机制 4、method swizzing 5、category、extension 6、nscoding 7、kvc\kvo)

3、Block(1、block原理 2、堆block 栈block 全局block 3、变量捕获 4、__block __weak 5、weakself)

4、多线程(1、what 2、串行队列 并发队列 3、同步执行、异步执行 4、线程安全 5、GCD 6、NSoperationQueue)

5、runloop(1、what 2、runloop mode\source\observer 3、runloop运行逻辑 4、常驻线程)

6、性能优化(1、卡顿视图加载,异步渲染 2、耗电 3、启动优化)

7、网络(1、tcp三次握手和四次挥手为什么 2、tcp的拥塞控制 3、tcp与udp应用场景以及区别 4、http与https区别 5、tls加密过程 tls握手过程 6、tls握手随机数有什么作用)

8、设计模式(1、mvc,mvp,mvvm,viper 2、路由设计,组件化设计)

9、iOS Library (1、SDK差异适配 2、Xcode适配 3、自动化工程配置)

三:人事面试: 1、求职原因 2、自我认知 3、职业规划 4、期望薪资