最近在准备面试,所以自己边复习边整理,列出了一些自己复习的知识点。
后面的一些知识模块之所以没有延展开,是因为有的地方自己理解的还不到位,我还需要时间仔细整理。
这个仓库根据我的设想,我认为还远远没有完成,后续会不断更新,起初并不想写答案,但考虑到有的人需要,其次我自己写一个很简单的思路,起一个提示的作用,如果有想错的地方,也欢迎大家指正。
再次说明:所有的答案只写思路,不会长篇大论的验证,只起到提示作用。
欢迎大家提 PR!!!
推荐一个很好的算法总结 - 链接
IP 地址的有效性?iOS 内存管理的理解?(三种方案的结合) - 链接ARC)数应该遵循的原则? - 链接ARC 自动内存管理的原则? - 链接__weak 修饰的变量,是否已经被注册在了 @autoreleasePool 中?为什么? - 链接ARC 的 retainCount 怎么存储的? - 链接@autoreleasePool 的数据结构? - 链接__weak 和 _Unsafe_Unretain 的区别? - 链接ARC ,但还是需要 @AutoreleasePool 的存在? - 链接__weak 属性修饰的变量,如何实现在变量没有强引用后自动置为 nil? - 链接retain,copy,assign,weak,_Unsafe_Unretain 关键字的理解。 - 链接ARC 在编译时做了哪些工作? - 链接ARC 在运行时做了哪些工作? - 链接autorelease 么?为什么? - 链接悬垂指针?什么是 野指针? - 链接深拷贝 和 浅拷贝 的概念,集合类深拷贝如何实现? - 链接BAD_ACCESS 在什么情况下出现? - 链接@dynamic 关键字?- 链接@autoreleasrPool 的释放时机?- 链接retain、release 的实现机制?- 链接Dealloc 的实现机制?- 链接MRC 下如何重写属性的 Setter 和 Getter? - 链接Obj-C 中,如何检测内存泄漏?你知道哪些方式? - 链接Runloop 和线程的关系? - 链接Runloop 的 Mode?(越详细越好) - 链接Observer ?(Mode中的重点) - 链接Runloop 的内部实现逻辑?(运行过程) - 链接Runloop?(AFNetworking、Texture 等)autoreleasePool 在何时被释放? - 链接事件响应 的过程? - 链接手势识别 的过程? - 链接GCD 在 Runloop 中的使用? - 链接NSTimer,以及 NSTimer 的循环引用。 - 链接AFNetworking 中如何运用 Runloop? - 链接PerformSelector 的实现原理?- 链接runloop 解释一下页面的渲染的过程?- 链接Runloop 实现一个常驻线程?这种线程一般有什么作用?- 链接NSTimer 有时候不好使?(不同类型的Mode)- 链接PerformSelector:afterDelay:这个方法在子线程中是否起作用?为什么?怎么解决?- 链接App 运行过程中是否卡顿?UIView 和 CALayer 是什么关系?- 链接Bounds 和 Frame 的区别? - 链接TableViewCell 如何根据 UILabel 内容长度自动调整高度?LoadView方法了解吗?- 链接UIButton 的父类是什么?UILabel 的父类又是什么?- 链接View 的生命周期,一旦收到内存警告会如何处理?- 链接UIView 中正在播放的动画?暂停后如何恢复?- 链接UIView 的生命周期?- 链接UIViewController 的生命周期?- 链接ViewController? - 链接setNeedsDisplay 和 layoutIfNeeded 两者是什么关系?- 链接nil、NIL、NSNULL 有什么区别?- 链接NSMutableArray? - 链接iOS 设备的唯一性? - 链接atomic 修饰的属性是绝对安全的吗?为什么? - 链接isEqual 和 hash 方法时要注意什么?id 和 instanceType 有什么区别?- 链接Super 关键字的理解。- 链接逆变 和 协变 吗?- 链接@synthesize 和 @dynamic 分别有什么作用?- 链接Obj-C 中的反射机制了解吗?- 链接typeof 和 __typeof,__typeof__ 的区别? - 链接Obj-C 代码改变为 C++/C 的代码?- 链接objc_getClass()、object_getClass()、Class 这三个方法用来获取类对象有什么不同?NSUrlConnect相关知识。NSUrlSession相关知识。Http 和 Https 的区别?为什么更加安全?- 链接Http的请求方式有哪些?Http 有什么特性?- 链接三次握手 和 四次挥手?解释一下为什么是三次握手 又为什么是 四次挥手?- 链接GET 和 POST 请求的区别?- 链接HTTP 请求报文 和 响应报文的结构?- 链接Mimetype ? - 链接TCP/IP 五层模型的协议? - 链接OSI 七层模型的协议? - 链接大文件下载 的功能有什么注意点? - 链接断点续传 功能该怎么实现? - 链接Wireshark、Charles、Paw 等工具会使用吗?NSUrlProtocol用过吗?用在什么地方了? - 链接MOCK 各种网络环境? - 链接DNS 的解析过程?网络的 DNS 优化。 - 链接Post请求体有哪些格式? - 链接Charles 的原理是什么?说一下中间人攻击的过程。- 链接SSL 传输协议?说一下 SSL 验证过程?- 链接Http 的持久连接?- 链接TCP ?- 链接UDP ? - 链接session 和 cookie? - 链接1M,如何针对某些请求,限制其流量?NSThread相关知识? - 链接GCD 相关知识? - 链接NSOperation 和 NSOperationQueue相关知识? - 链接GCD 并发队列实现机制?- 链接NSLock?是否会出现死锁? - 链接NSContion - 链接NSContionLock - 链接NSRecursiveLock - 链接Synchronized(self) {// code} - 链接dispatch_semaphore。 - 链接OSSpinLock 。 - 链接pthread_mutex - 链接NSDistributedLock。- 链接NSMutableArray、和 NSMutableDictionary是线程安全的吗?NSCache呢? - 链接并行 和 并发 有什么区别? - 链接NSOperation ? - 链接GCD 与 NSOperationQueue 有哪些异同?- 链接MVC?MVVM?MVP?CDD?App 可以分为哪些层?NSNotification 的实现机制?发消息是同步还是异步? - 链接NSNotification 的特点。 - 链接KVO 的实现机制。 - 链接KVO 在使用过程中有哪些注意点?有没有使用过其他优秀的 KVO 三方替代框架? - 链接KVO 的注册依赖键是什么? - 链接KVO 手动通知? - 链接KVO? - 链接KVO? - 链接Delegate通常用什么关键字修饰?为什么? - 链接通知 和 代理 有什么区别?各自适应的场景? - 链接__block 的解释以及在 ARC 和 MRC 下有什么不同?- 链接Block 的内存管理。- 链接Block 自动截取变量。- 链接Block 处理循环引用。- 链接Block 有几种类型?分别是什么?- 链接Block 和 函数指针 的区别? - 链接Block? - 链接Dispatch_block_t这个有没有用过?解释一下?Sqlite3 - 链接Sqlite3 常用的执行语句Sqlite3 在不同版本的APP,数据库结构变化了,如何处理?Sqlite3 的封装) - 链接这个模块需要大量代码,我就不贴了
App 换肤(夜间模式)? - 链接JS 和 OC 互相调用的几种方式? - 链接WKWedView 时遇到过哪些问题? - 链接UIWebView 的插件化?SFSafariViewController ?CALayer 的认识。- 链接CALayer.contents 属性。- 链接iOS 中,动画有哪几种类型?SSL 加密的过程用了哪些加密方法,为何这么做? - 链接iOS 的签名机制?APP 进行重签名?tableview 的流畅度?- 链接Instruments 进行性能调优?(Time Profiler、Zombies、Allocations、Leaks)APP 的启动时间?APP 的网络流量?APP 包的大小?- 链接离屏渲染?什么情况下会触发?该如何应对?- 链接APP 的内存?APP 的电量?- 链接LLDB 调试。breakPoint。NSAssert 的使用。Charles 的使用。
Charles 下载过去任意版本的 App。Reveal 的使用。iOS 常见的崩溃类型有哪些?- 链接AutoLayout 出现了问题,怎样快速调试?- 链接load 和 Initialize 的区别? - 链接Designated Initializer的规则? - 链接App 编译过程有了解吗?- 链接APNS 的认识?- 链接App 上有一数据列表,客户端和服务端均没有任何缓存,当服务端有数据更新时,该列表在 wifi 下能获取到数据,在 4G 下刷新不到,但是在 4g 环境下其他 App 都可以正常打开,分析其产生的原因?int a=5,b;
b=(++a)+(++a);
int a = 5;
int b = 10;
i值得取值范围? (大于或等于10000) __block int i = 0;
while (i<10000) {
dispatch_async(dispatch_get_global_queue(0, 0), ^{
i++;
});
}
NSLog(@"i=%d",i);
}
0? - 链接
最近在准备面试,所以自己边复习边整理,列出了一些自己复习的知识点。
后面的一些知识模块之所以没有延展开,是因为有的地方自己理解的还不到位,我还需要时间仔细整理。
这个仓库根据我的设想,我认为还远远没有完成,后续会不断更新,起初并不想写答案,但考虑到有的人需要,其次我自己写一个很简单的思路,起一个提示的作用,如果有想错的地方,也欢迎大家指正。
再次说明:所有的答案只写思路,不会长篇大论的验证,只起到提示作用。
欢迎大家提 PR!!!
推荐一个很好的算法总结 - 链接
IP 地址的有效性?iOS 内存管理的理解?(三种方案的结合) - 链接ARC)数应该遵循的原则? - 链接ARC 自动内存管理的原则? - 链接__weak 修饰的变量,是否已经被注册在了 @autoreleasePool 中?为什么? - 链接ARC 的 retainCount 怎么存储的? - 链接@autoreleasePool 的数据结构? - 链接__weak 和 _Unsafe_Unretain 的区别? - 链接ARC ,但还是需要 @AutoreleasePool 的存在? - 链接__weak 属性修饰的变量,如何实现在变量没有强引用后自动置为 nil? - 链接retain,copy,assign,weak,_Unsafe_Unretain 关键字的理解。 - 链接ARC 在编译时做了哪些工作? - 链接ARC 在运行时做了哪些工作? - 链接autorelease 么?为什么? - 链接悬垂指针?什么是 野指针? - 链接深拷贝 和 浅拷贝 的概念,集合类深拷贝如何实现? - 链接BAD_ACCESS 在什么情况下出现? - 链接@dynamic 关键字?- 链接@autoreleasrPool 的释放时机?- 链接retain、release 的实现机制?- 链接Dealloc 的实现机制?- 链接MRC 下如何重写属性的 Setter 和 Getter? - 链接Obj-C 中,如何检测内存泄漏?你知道哪些方式? - 链接Runloop 和线程的关系? - 链接Runloop 的 Mode?(越详细越好) - 链接Observer ?(Mode中的重点) - 链接Runloop 的内部实现逻辑?(运行过程) - 链接Runloop?(AFNetworking、Texture 等)autoreleasePool 在何时被释放? - 链接事件响应 的过程? - 链接手势识别 的过程? - 链接GCD 在 Runloop 中的使用? - 链接NSTimer,以及 NSTimer 的循环引用。 - 链接AFNetworking 中如何运用 Runloop? - 链接PerformSelector 的实现原理?- 链接runloop 解释一下页面的渲染的过程?- 链接Runloop 实现一个常驻线程?这种线程一般有什么作用?- 链接NSTimer 有时候不好使?(不同类型的Mode)- 链接PerformSelector:afterDelay:这个方法在子线程中是否起作用?为什么?怎么解决?- 链接App 运行过程中是否卡顿?UIView 和 CALayer 是什么关系?- 链接Bounds 和 Frame 的区别? - 链接TableViewCell 如何根据 UILabel 内容长度自动调整高度?LoadView方法了解吗?- 链接UIButton 的父类是什么?UILabel 的父类又是什么?- 链接View 的生命周期,一旦收到内存警告会如何处理?- 链接UIView 中正在播放的动画?暂停后如何恢复?- 链接UIView 的生命周期?- 链接UIViewController 的生命周期?- 链接ViewController? - 链接setNeedsDisplay 和 layoutIfNeeded 两者是什么关系?- 链接nil、NIL、NSNULL 有什么区别?- 链接NSMutableArray? - 链接iOS 设备的唯一性? - 链接atomic 修饰的属性是绝对安全的吗?为什么? - 链接isEqual 和 hash 方法时要注意什么?id 和 instanceType 有什么区别?- 链接Super 关键字的理解。- 链接逆变 和 协变 吗?- 链接@synthesize 和 @dynamic 分别有什么作用?- 链接Obj-C 中的反射机制了解吗?- 链接typeof 和 __typeof,__typeof__ 的区别? - 链接Obj-C 代码改变为 C++/C 的代码?- 链接objc_getClass()、object_getClass()、Class 这三个方法用来获取类对象有什么不同?NSUrlConnect相关知识。NSUrlSession相关知识。Http 和 Https 的区别?为什么更加安全?- 链接Http的请求方式有哪些?Http 有什么特性?- 链接三次握手 和 四次挥手?解释一下为什么是三次握手 又为什么是 四次挥手?- 链接GET 和 POST 请求的区别?- 链接HTTP 请求报文 和 响应报文的结构?- 链接Mimetype ? - 链接TCP/IP 五层模型的协议? - 链接OSI 七层模型的协议? - 链接大文件下载 的功能有什么注意点? - 链接断点续传 功能该怎么实现? - 链接Wireshark、Charles、Paw 等工具会使用吗?NSUrlProtocol用过吗?用在什么地方了? - 链接MOCK 各种网络环境? - 链接DNS 的解析过程?网络的 DNS 优化。 - 链接Post请求体有哪些格式? - 链接Charles 的原理是什么?说一下中间人攻击的过程。- 链接SSL 传输协议?说一下 SSL 验证过程?- 链接Http 的持久连接?- 链接TCP ?- 链接UDP ? - 链接session 和 cookie? - 链接1M,如何针对某些请求,限制其流量?NSThread相关知识? - 链接GCD 相关知识? - 链接NSOperation 和 NSOperationQueue相关知识? - 链接GCD 并发队列实现机制?- 链接NSLock?是否会出现死锁? - 链接NSContion - 链接NSContionLock - 链接NSRecursiveLock - 链接Synchronized(self) {// code} - 链接dispatch_semaphore。 - 链接OSSpinLock 。 - 链接pthread_mutex - 链接NSDistributedLock。- 链接NSMutableArray、和 NSMutableDictionary是线程安全的吗?NSCache呢? - 链接并行 和 并发 有什么区别? - 链接NSOperation ? - 链接GCD 与 NSOperationQueue 有哪些异同?- 链接MVC?MVVM?MVP?CDD?App 可以分为哪些层?NSNotification 的实现机制?发消息是同步还是异步? - 链接NSNotification 的特点。 - 链接KVO 的实现机制。 - 链接KVO 在使用过程中有哪些注意点?有没有使用过其他优秀的 KVO 三方替代框架? - 链接KVO 的注册依赖键是什么? - 链接KVO 手动通知? - 链接KVO? - 链接KVO? - 链接Delegate通常用什么关键字修饰?为什么? - 链接通知 和 代理 有什么区别?各自适应的场景? - 链接__block 的解释以及在 ARC 和 MRC 下有什么不同?- 链接Block 的内存管理。- 链接Block 自动截取变量。- 链接Block 处理循环引用。- 链接Block 有几种类型?分别是什么?- 链接Block 和 函数指针 的区别? - 链接Block? - 链接Dispatch_block_t这个有没有用过?解释一下?Sqlite3 - 链接Sqlite3 常用的执行语句Sqlite3 在不同版本的APP,数据库结构变化了,如何处理?Sqlite3 的封装) - 链接这个模块需要大量代码,我就不贴了
App 换肤(夜间模式)? - 链接JS 和 OC 互相调用的几种方式? - 链接WKWedView 时遇到过哪些问题? - 链接UIWebView 的插件化?SFSafariViewController ?CALayer 的认识。- 链接CALayer.contents 属性。- 链接iOS 中,动画有哪几种类型?SSL 加密的过程用了哪些加密方法,为何这么做? - 链接iOS 的签名机制?APP 进行重签名?tableview 的流畅度?- 链接Instruments 进行性能调优?(Time Profiler、Zombies、Allocations、Leaks)APP 的启动时间?APP 的网络流量?APP 包的大小?- 链接离屏渲染?什么情况下会触发?该如何应对?- 链接APP 的内存?APP 的电量?- 链接LLDB 调试。breakPoint。NSAssert 的使用。Charles 的使用。
Charles 下载过去任意版本的 App。Reveal 的使用。iOS 常见的崩溃类型有哪些?- 链接AutoLayout 出现了问题,怎样快速调试?- 链接load 和 Initialize 的区别? - 链接Designated Initializer的规则? - 链接App 编译过程有了解吗?- 链接APNS 的认识?- 链接App 上有一数据列表,客户端和服务端均没有任何缓存,当服务端有数据更新时,该列表在 wifi 下能获取到数据,在 4G 下刷新不到,但是在 4g 环境下其他 App 都可以正常打开,分析其产生的原因?int a=5,b;
b=(++a)+(++a);
int a = 5;
int b = 10;
i值得取值范围? (大于或等于10000) __block int i = 0;
while (i<10000) {
dispatch_async(dispatch_get_global_queue(0, 0), ^{
i++;
});
}
NSLog(@"i=%d",i);
}
0? - 链接