<meta charset="utf-8">
整理的一些iOS面试相关问题,持续更新,敬请关注
1、2018 iOS面试题---UI相关:事件传递,图像显示,性能优化,离屏渲染
2、2018 iOS面试题---Objective_C语言特性相关问题
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进阶:可靠数据传输、流量控制(滑动窗口)、拥塞控制
18、2019 iOS面试题-----网络相关之Cookie和Session
19、2019 iOS面试题-----网络相关之IP协议、IP数据报分片、IPv4编址、网络地址转换(NAT)
20、2019 iOS面试题-----网络相关之IPv6、从IPv4到IPv6的迁移
算法
2、2019 算法面试相关(leetcode)--数组和链表
7、2019 算法面试相关(leetcode)--树、二叉树、二叉搜索树
8、2019 算法面试相关(leetcode)--递归与分治
10、2019 算法面试相关(leetcode)--动态规划(Dynamic Programming)
11、2019 算法面试相关(leetcode)--动态规划之背包问题
这个栏目将持续更新--请iOS的小伙伴关注!
7、iOS 说明并比较关键词:atomatic, nonatomic
8、iOS 说明并比较关键词:strong, weak, assign, copy
以上是原文给的答案,这里开始继续更新答案
11、iOS 类(class)和结构体(struct)有什么区别?
14、iOS 应用有哪些方式保存本地数据?他们都应用在哪些场景?
16、iOS UIViewController的完整生命周期?
24、iOS @synthesize、@dynamic的理解?
25、iOS 说一下 OperationQueue 和 GCD 的区别,以及各自的优势?
26、iOS Swift 中 struct 和 class 的区别?
29、iOS 如果让你实现 NSNotificationCenter,讲一下思路?
31、iOS 为什么是三次握手?为什么是四次挥手?三次挥手不行吗?
33、iOS 讲讲 MVC、MVVM、MVP,以及你在项目里具体是怎么写的?
36、iOS 哪一个项目技术点最能体现自己的技术实力?具体讲一下
37、iOS 你在项目中遇到的最大的问题是什么?你是怎么解决的?
38、iOS 用 Alamofire 比直接使用 URLSession,优势是什么?
41、iOS 手写一下快排?
45、iOS 怎样使用performSelector传入3个以上参数,其中一个为结构体?
46、iOS 解释self = [super init]方法?
47、iOS 在某个方法中 self.name = _name,name = _name 它 们有区别吗,为什么?
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)?
58、iOS 类别的作用?
62、
63、
64、
持续更新--请iOS的小伙伴关注! 喜欢的话给一个赞吧!
其他面经
以下文章可以做一个学习参考:
GCD面试要点
block面试要点
Runtime面试要点
RunLoop面试要点
内存管理面试要点
MVC、MVVM面试要点
网络性能优化面试要点
网络编程面试要点
KVC&KVO面试要点
数据存储面试要点
混编技术面试要点
设计模式面试要点
UI面试要点