序言
以下 iOS 面试题仅供参考,毕竟面试是不可控的,但懂得越多,天然机会越大!
字节一面内容:
1、自我介绍
2、介绍一下简历中的一个我的项目
3、面向对象的三个因素
4、多态?
5、Java,python,OC 运行效率孰高?
6、Property,其中 copy 如何?
7、Property(nonatomatic, copy) NSMutableArray 有什么问题
8、Copy 和 MutableCopy 的区别
9、解释下类别,原理
10、解释下封装,重载;
11、OC 存在多重继承吗?
12、理解表视图吗,解释一下复用原理
13、阐明一下表视图的滑动卡顿的优化办法
14、viewDidLoad 和 viewDidAppear 的调用机会(一次和屡次的区别);
15、页面间的传值形式有哪些(私有属性,私有办法和协定,block 传值,告诉,extern 全局变量传值,NSUserDefault 简略数据存储传值);
16、告诉和 delegate 的区别?
17、告诉的发送和接管是否在同一线程?
18、HTTP 和 HTTPS 区别?
19、OC 中多线程个别有几个计划?
20、理解 NSURLConnection 和 Session 吗?
21、说一下 NSURLSession 具体的实现原理
22、http 的头部的几个码。;
23、编程题:实现一个二叉树的倒置。
字节二面内容:
1、老虎吃羊问题。(博弈论,老虎要吃羊,假如所有老虎是理智的,即首先为了生存,其次为了饱腹,老虎吃了羊后会变成羊,同样会被其余老虎吃掉。当初,N 只老虎和 1 只羊,请问 N 为多少时,老虎们会吃羊。动静布局问题,奇数吃,偶数不吃。)
2、青蛙跳格子,斐波拉契数列;青蛙跳格子,斐波拉契数列;
3、相熟应用什么框架?
4、如果让你本人实现 SDWebImage 的二级存储机制,你如果实现?
5、@autorelease{NSString s;} 和 NSString s; 有什么区别?
6、说一下你对 autorelease 的了解。
7、说一下对于 http 的了解?
8、http 的返回状态码有理解吗?
9、为什么说 http 是无状态的?
10、为什么不必原生的 APNS 技术实现呢?
11、理解 GCD 吗?
12、说一下 dispatch_group_t 和 dispatch_barrier_sync 的区别吗?
13、理解 NSOperation 吗?
14、理解 NSOperationQueue 吗?
字节三面内容:
1、算法题:求只有三项元素的数组中的顺序排列,工夫复杂度要求 O(n);
2、说一下你对 OC 程序编译和连贯方面的了解?
3、说一下内存治理相干的操作?
4、说一下响应链的原理?
5、诘问:hitTest 有尝试过重写吗?
6、http, session 和 cookie 有理解过吗;
7、线程和队列的关系?
8、CALayer 和 UIView 理解吗?
须要更多 iOS 面试文集材料,加 iOS 开发交换群:642363427,群文件间接获取
——点击退出:iOS 开发交换群
如下图所示: