这个栏目将持续更新--请iOS的小伙伴关注!
1、多线程的应用
2、GCD实现多个请求都完成之后返回结果
3、A、B两个int数组,得到A数组中B数组不包含的元素
4、事件传递链,页面上一个按钮,按钮和它的superView有一样的action,为什么只执行button的action?
5、runtime的应用
6、array中加入对象,对象的retainCount会加1 如何是的对象自己管理自己的生命周期
7、bugly的卡顿监控原理
8、如何架构一个app
9、c中,malloc对象,传入了size,free只需要指针,这是为什么?
10、数据库选择原因(realm 、coreData、FMDB、Sqlite)
11、数据库做过哪些优化
12、脚本打包原理
13、app运行过程中,同时最多有几个线程,怎么实现的高并发
14、iOS应用导航模式有哪些?
15、iOS中持久化方式有哪些?
16、iOS单元测试框架有哪些?
17、iOS atomatic nonatomic区别和理解
18、#import 跟 #include 有 什 么 区 别 , @class 呢 , #import<> 跟 #import” ”有什么区别?
19、Object-c 的类可以多重继承么?可以实现多个接口么?Category 是什 么?重写一个类的方式用继承好还是分类好?为什么?
20、属性 readwrite,readonly,assign,retain,copy,nonatomic 各是 什么作用,在那种情况下用?
21、[对于语句 NSString*obj=[[NSDataalloc]init];obj 在编译时和运行时 分别时什么类型的对象?](https://www.jianshu.com/p/8c2...
22、常见的 objective-c 的数据类型有那些, 和 C 的基本数据类型有什 么区别?如:NSInteger 和 int
23、Objective-C 如何对内存管理的,说说你的看法和解决方法?
24、原子(atomic)跟非原子(non-atomic)属性有什么区别?
25、ObjectC 中创建线程的方法是什么?如果在主线程中执行代码,方 法是什么?如果想延时执行代码、方法又是什么?
26、浅复制和深复制的区别?
27、类别的作用?继承和类别在实现中有何区别?
28、类别和类扩展的区别
29、我们说的 OC 是动态运行时语言是什么意思?
30、类变量的@protected,@private,@public,@package,声明各有什么 含义?
31、简述 OC 中内存管理机制。与 retain 配对使用的方法是 dealloc 还 是 release,为什么?需要与 alloc 配对使用的方法是 dealloc 还是 release,为什么...
32、说说响应链
33、线程是什么?进程是什么?二者有什么区别和联系?
34、RunLoop 是什么?
35、简述你对 UIView、UIWindow 和 CALayer 的理解
36、iOS 的动态性
37、谈谈对性能优化的看法,如何做?
38、NSAutoreleasePool 是怎么工作的?
39、什么情况使用 weak 关键字,相比 assign 有什么不同?
40、runtime 如何实现 weak 属性?
41、怎么用 copy 关键字?
42、用 @property 声明的 NSString(或 NSArray,NSDictionary)经常使用 copy 关键字,为什么?如果改用 strong 关键字,可能造成什么问题?
43、怎么理解浅拷贝与深拷贝?
44、如何让自己的类用 copy 修饰符?
45、@property 的本质是什么?
46、@protocol 和 category 中如何使用 @property?
47、category 和 extension 有什么区别?category 是如何加载的?category 的方法覆盖是怎么处理的?
48、@synthesize 和 @dynamic 分别有什么作用?
49、ARC 下,不显式指定任何属性关键字时,默认的关键字都有哪些?
50、在有了自动合成属性实例变量之后,@synthesize 还有哪些使用场景?
51、一个 objc 对象如何进行内存布局(考虑有父类的情况)?
52、runtime 如何通过 selector 找到对应的 IMP 地址(分别考虑实例方法和类方法)?Selector、Method 和 IMP 的有什么区别与联系?
53、objc 中的类方法和实例方法有什么本质区别和联系?
54、objc_msgSend、_objc_msgForward 都是做什么的?OC 中的消息调用流程是怎样的?
55、能否向编译后得到的类中增加实例变量?能否向运行时创建的类中添加实例变量?为什么?
56、runloop 和线程有什么关系?
57、runloop 的 mode 作用是什么?
58、以 + scheduledTimerInterval... 的方式触发的 timer,在滑动页面上的列表时,timer 会暂定回调,为什么?如何解决?WithTime
59、猜想 runloop 内部是如何实现的?
60、聊一聊iOS 中的离屏渲染?
61、objc 使用什么机制管理对象内存?
62、ARC 通过什么方式帮助开发者管理内存?
63、iOS 开发中常见的内存问题有哪些?
64、一个 autorealese 对象在什么时刻释放?
65、如何实现 autoreleasepool 的?
66、如何用 GCD 同步若干个异步调用?
67、dispatch_barrier_async 的作用是什么?
68、如何手动触发一个 value 的 KVO?
69、BAD_ACCESS 在什么情况下出现?
70、动态计算文本高度的时候需要注意什么?
71、如何优化 App 的启动耗时?
72、什么是事件响应链?
73、当我们要做一些基于 CALayer 的动画时,有时需要设置 layer 的锚点来配合动画,这时候我们需要注意什么?
74、聊一聊 TCP 的滑动窗口协议?
75、聊一聊 TCP 的拥塞控制相关过程?
76、聊一聊你知道的几种查找树?
77、load 和 initialize 方法的区别?
78、如何优化 App 的的包大小?
79、struct和class的区别
80、介绍一下观察者模式
81、在一个HTTPS连接的网站里,输入账号密码点击登录后,到服务器返回这个请求前,中间经历了什么
82、在一个app中间有一个button,在你手触摸屏幕点击后,到这个button收到点击事件,中间发生了什么
83、循环引用的产生原因,以及解决方法
84、键路径(keyPath)、键值编码(KVC)、键值观察(KVO)
85、NSNotification、Block、Delegate和KVO的区别
86、static、self、super关键字的作用
87、iOS开发中数据持久性有哪几种?
88、Core Data的6成员对象
持续更新,多多关注
另外我附上一份pdf的面试题大全,以及收集的各大厂面试题 ! 要的加iOS高级技术群:624212887,群文件直接获取
如下图所示: