笔试题
笔试题
一面
1、@property 本质是什么?NSString 为什么用 Copy,用 Strong 行不行?
2、block 为什么用 copy ?
3、block 和代理你用的哪个多?各有什么特点?
4、GCD 的两个队列(串行、并行)有了解吗?从字面意思看,你觉得这俩哪个效率高,哪个占空间
5、类似网易新闻那种滑动切换页面你是怎么做的?我说是一个 scrollView,点击按钮后滚动到指定的 index。他说的顶部按钮是3个,如果是30个呢,会有什么问题?他说如果1个页面占用5M,30个页面就占用5x30M,会有内存问题,怎么解决这个问题?我说看过别人写的,用的是子控制器,把这些页面加到当前控制器的子控制器中。(现在想想我也是这么做的。。但是没说是这么做)
6、AFN内部看过吗?AFN的5个模块。
大概这时候问,你觉得自己是什么级别的?
7、说一下响应者链。
8、一个约束题。
9、项目不忙的时候做过什么优化?他说发现过什么问题?他说那考虑用什么替换定时器呢?
还做过什么优化?
10、野指针是啥?如果又有其他指针指向了这块内存,会怎么样
12、斐波那切数列
0 1 2 3 4 5…
1 1 2 3 5 8 13 21 求n f(n) = f(n-1) + f(n-2)
复试
1、怎么学的 iOS ?为什么没搞 Java
2、介绍公司情况,人员规模,介绍项目
3、说一下项目中遇到的问题,怎么解决的?
4、说一下内存管理,怎么检测内存泄漏的?
5、你用 OC 开发还是 Swift ?你觉得两者有啥不同?
6、金融 App 应该有一些安全措施吧?你们是怎么做的?
7、TCP 和 UDP 有啥区别?
8、TCP 几次握手?过程是怎么样的?
9、Post 请求和 Get 请求有啥区别?
10、数据持久化都有哪些?
11、AFN 的实现原理?SDWebImage 的实现原理?哪些存在内存,哪些存在磁盘?
12、两个网络请求有依赖关系时,怎么处理的?
13、同步、异步 串行、并行
14、几张图合成一张图
15、说一下 Runloop
16、KVO 的实现原理
17、不使用中间变量 实现交换两个数 swap(a, b)
18、copy 关键字修饰什么?
19、类的私有属性,怎么设置属性值?我答了 KVC 他提到了 Runtime
20、有没有做过音频的处理?类似唱吧把原唱关掉。
21、动画了解的怎么样?
22、了解 ARKit 吗?
23、数据结构和算法你怎么样?冒泡排序,选择排序?