<meta charset="utf-8">
整理的一些iOS面试相关问题,持续更新,敬请关注
1、2018 iOS面试题---UI相关:事件传递,图像显示,性能优化,离屏渲染
2、2018 iOS面试题---Objective_C语言特性相关问题
3、2018 iOS面试题---runtime相关
4、2018 iOS面试题---算法相关
5、2019 iOS面试题-----内存管理、自动释放池与循环引用
6、2019 iOS面试题-----Block原理、Block变量截获、Block的三种形式
7、2019 iOS面试题-----进程、线程、多进程、多线程、任务、队列、NSThread、GCD、NSOprationQueue...
8、2019 iOS面试题-----多线程相关之GCD、死锁、dispatch_barrier_async、dispatch_group_async、Dispatch Semaphore
9、2019 iOS面试题-----多线程相关之NSOperation、NSOperationQueue、NSThread+runloop实现常驻线程、加锁
10、2019 iOS面试题-----RunLoop数据结构、RunLoop的实现机制、RunLoop的Mode、RunLoop与NSTimer和线程
11、2019 iOS面试题-----网络相关之HTTP协议
12、2019 iOS面试题-----网络相关之HTTPS、对称加密、非对称加密
13、2019 iOS面试-----一个基于UDP的简单的聊天Demo(用C语言、python、GCDAsyncUdpSocket来实现UDP通信)
14、2019 iOS面试题-----网络相关之UDP的特点、UDP的报文结构及差错检测
15、2019 iOS面试题-----网络相关之TCP、三次握手、四次挥手
16、2019 iOS面试题-----网络相关之TCP进阶:可靠数据传输、流量控制(滑动窗口)、拥塞控制
17、2019 iOS面试题-----网络相关之DNS
18、2019 iOS面试题-----网络相关之Cookie和Session
19、2019 iOS面试题-----网络相关之IP协议、IP数据报分片、IPv4编址、网络地址转换(NAT)
20、2019 iOS面试题-----网络相关之IPv6、从IPv4到IPv6的迁移
算法
1、七种常见的数组排序算法整理(C语言版本)
2、2019 算法面试相关(leetcode)--数组和链表
3、2019 算法面试相关(leetcode)--字符串
4、2019 算法面试相关(leetcode)--栈和队列
5、2019 算法面试相关(leetcode)--优先队列
6、2019 算法面试相关(leetcode)--哈希表
7、2019 算法面试相关(leetcode)--树、二叉树、二叉搜索树
8、2019 算法面试相关(leetcode)--递归与分治
9、2019 算法面试相关(leetcode)--贪心算法
10、2019 算法面试相关(leetcode)--动态规划(Dynamic Programming)
11、2019 算法面试相关(leetcode)--动态规划之背包问题
这个栏目将持续更新--请iOS的小伙伴关注!
1、iOS 应用导航模式有哪些?
2、iOS 中持久化方式有哪些?
3、iOS 单元测试框架有哪些?
4、iSO 7层协议,tcp四层协议及如何对应的
5、iOS 你在项目中用过 runtime 吗?举个例子
6、iOS 什么是ARC?
7、iOS 说明并比较关键词:atomatic, nonatomic
8、iOS 说明并比较关键词:strong, weak, assign, copy
9、iOS 说明并比较关键词:__weak,__block
10、iOS 什么情况下会出现循环引用?
以上是原文给的答案,这里开始继续更新答案
11、iOS 类(class)和结构体(struct)有什么区别?
12、iOS 什么是KVO和KVC?他们的使用场景是什么?
13、iOS 通知和协议有哪些不同之处
14、iOS 应用有哪些方式保存本地数据?他们都应用在哪些场景?
15、iOS 内存的使用和优化的注意事项
16、iOS UIViewController的完整生命周期
17、iOS 队列和多线程的使用原理
18、iOS SQLite中常用的SQL语句
19、iOS frame和bounds有什么不同?
20、iOS view的touch事件有哪些?
21、iOS 中的响应者链的工作原理
22、iOS property属性的修饰符的作用
23、iOS 对于Run Loop的理解
24、iOS @synthesize、@dynamic的理解
25、iOS 说一下 OperationQueue 和 GCD 的区别,以及各自的优势
26、iOS Swift 中 struct 和 class 的区别
27、iOS Swift 是如何实现多态的?
28、iOS Swift 和 OC,各自的优缺点有哪些?
29、iOS 如果让你实现 NSNotificationCenter,讲一下思路
30、iOS 如果让你实现 GCD 的线程池,讲一下思路
31、iOS 为什么是三次握手?为什么是四次挥手?三次挥手不行吗?
32、iOS 讲一下 HTTPS 密钥传输流程
33、iOS 讲讲 MVC、MVVM、MVP,以及你在项目里具体是怎么写的?
34、iOS 系统框架里使用了哪些设计模式?至少说6个
35、iOS 你自己用过哪些设计模式?
36、iOS 哪一个项目技术点最能体现自己的技术实力?具体讲一下
37、iOS 你在项目中遇到的最大的问题是什么?你是怎么解决的?
38、iOS 用 Alamofire 比直接使用 URLSession,优势是什么?
39、你是如何学习 iOS 的
40、iOS 和产品经理、测试产生冲突时,你是怎么解决的?
41、iOS 手写一下快排
42、iOS 遍历一个树,要求不能用递归
43、iOS 找出两个字符串的最大公共子字符串
44、iOS 解决cell重用的问题
45、iOS 怎样使用performSelector传入3个以上参数,其中一个为结构体
46、iOS 解释self = [super init]方法
47、iOS 在某个方法中 self.name = _name,name = _name 它 们有区别吗,为什么
48、iOS Core Data的6成员对象
49、iOS iOS 开发中数据持久性有哪几种
50、iOS isMemberOfClass 和 isKindOfClass 联系与区别
51、iOS @public、@protected、@private 它们的含义与作用
52、iOS #include与#import的区别、**#import **与@class 的区别
53、iOS static、self、super关键字的作用
54、iOS NSNotification、Block、Delegate和KVO的区别
55、iOS 代理的作用
56、iOS 键路径(keyPath)、键值编码(KVC)、键值观察(KVO)
57、iOS 循环引用的产生原因,以及解决方法
58、iOS 类别的作用
59、iOS 简述类目category优点和缺点
60、iOS 简述内存管理基本原则
61、iOS OC的理解与特性
62、
63、
64、
持续更新--请iOS的小伙伴关注! 喜欢的话给一个赞吧!
其他面经
1.直击2020——iOS 面试题大全(补充完整版)
2.“新”携程,阿里,腾讯iOS面试常见问题合集(附答案)
3.我是如何同时拿到阿里和腾讯offer的
4.腾讯&阿里&美团&快手&字节等10公司面经
5.腾讯社招iOS面试记录
6.最新阿里腾讯头条美团等iOS面试总结
7.让 BAT 的 Offer 不再难拿
以下文章可以做一个学习参考:
GCD面试要点
block面试要点
Runtime面试要点
RunLoop面试要点
内存管理面试要点
MVC、MVVM面试要点
网络性能优化面试要点
网络编程面试要点
KVC&KVO面试要点
数据存储面试要点
混编技术面试要点
设计模式面试要点
UI面试要点