{"id":13610369,"url":"https://github.com/liberalisman/iOS-InterviewQuestion-collection","last_synced_at":"2025-04-12T22:33:32.216Z","repository":{"id":44428076,"uuid":"124481973","full_name":"liberalisman/iOS-InterviewQuestion-collection","owner":"liberalisman","description":"iOS 开发者在面试过程中，常见的一些面试题，建议尽量弄懂了原理，并且多实践。","archived":false,"fork":false,"pushed_at":"2021-06-09T12:01:29.000Z","size":331,"stargazers_count":3220,"open_issues_count":15,"forks_count":767,"subscribers_count":106,"default_branch":"master","last_synced_at":"2025-04-06T23:13:56.325Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/liberalisman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-09T03:24:28.000Z","updated_at":"2025-04-03T08:10:10.000Z","dependencies_parsed_at":"2022-09-24T10:00:20.353Z","dependency_job_id":null,"html_url":"https://github.com/liberalisman/iOS-InterviewQuestion-collection","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liberalisman%2FiOS-InterviewQuestion-collection","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liberalisman%2FiOS-InterviewQuestion-collection/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liberalisman%2FiOS-InterviewQuestion-collection/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liberalisman%2FiOS-InterviewQuestion-collection/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liberalisman","download_url":"https://codeload.github.com/liberalisman/iOS-InterviewQuestion-collection/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248641904,"owners_count":21138293,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T19:01:44.048Z","updated_at":"2025-04-12T22:33:31.697Z","avatar_url":"https://github.com/liberalisman.png","language":"Objective-C","readme":"\n\u003cp align='center'\u003e\n\u003cimg src='https://timgsa.baidu.com/timg?image\u0026quality=80\u0026size=b9999_10000\u0026sec=1526457040696\u0026di=0c64726aa0fbf502bbb2af5142b8a1c2\u0026imgtype=0\u0026src=http%3A%2F%2Fimg2.jiemian.com%2F101%2Foriginal%2F20170408%2F149163479116565200.jpg'\u003e\n\u003c/p\u003e\n\n\u003cp align='center'\u003e\n\u003cimg src=\"https://img.shields.io/badge/platform-iOS-ff69b4.svg\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/language-Objective--C-orange.svg\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/language-Swift-abcdef.svg\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/PR-welcome%20!-brightgreen.svg?colorA=a0cd34\"\u003e\n\u003c/p\u003e\n\n\n## iOS-InterviewQuestion-collection（未完待续...）\n\n\n\n\u003e 最近在准备面试，所以自己边复习边整理，列出了一些自己复习的知识点。\n\u003e \n\u003e 后面的一些知识模块之所以没有延展开，是因为有的地方自己理解的还不到位，我还需要时间仔细整理。\n\u003e \n\u003e 这个仓库根据我的设想，我认为还远远没有完成，后续会不断更新，起初并不想写答案，但考虑到有的人需要，其次我自己写一个很简单的思路，起一个提示的作用，如果有想错的地方，也欢迎大家指正。\n\u003e \n\u003e 再次说明：所有的答案只写思路，不会长篇大论的验证，只起到提示作用。\n\u003e \n\u003e 欢迎大家提 PR！！！\n\n\n\n\n### 推荐书目\n* 1.《Effective Objective-C 2.0》- [读书笔记（进行中）](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/读书笔记/Effective_Objective-C.md)\n* 2.《Objective-C 高级编程》\n* 3.《程序员的自我修养》\n* 4.《图解HTTP》\n* 5.《高性能iOS应用开发》\n* 6.《算法图解》\n* 7.《剑指Offer》\n\n## 数据结构及算法\n\n\n#### 数据结构\n- 1.数组 - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/数据结构/数组.md)\n- 2.字典 - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/数据结构/字典.md)\n- 3.链表 - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/数据结构/链表.md)\n- 4.树\n- 5.栈\n- 6.队列\n- 7.哈希表\n\n#### 算法\n\n\n##### 常见概念\n- 时间复杂度\n- 空间复杂度\n\n\n###### 常见的摘要算法：\n- HEX编码\n- Base64\n- MD5\n- SHA1\n- SHA256\n- MAC算法\n\n###### 常见对称加密算法\n- AES\n- DES\n- 3DES\n- Blowfish\n\n###### 常见的排序算法\n- 快速排序 - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/算法集合/快速排序.md)\n- 堆排序\n- 冒泡排序 - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/算法集合/冒泡排序.md)\n- 选择排序 - [链接]()\n- 希尔排序\n- 归并排序\n\n###### 常见的字符编码方法\n- 1.ASCII\n- 2.ISO-8859-1\n- 3.GB2312\n- 4.GBK\n- 5.UTF-8\n- 6.UTF-16 \n- 7.Unicode\n\n\u003e 推荐一个很好的算法总结 - [链接](https://github.com/CyC2018/Interview-Notebook)\n\n###### 常考算法题\n- 1.字符串反转 - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/算法集合/1.第一题.md)\n- 2.链表反转 - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/算法集合/2.第二题.md)\n- 3.有序数组合并 - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/算法集合/3.第三题.md)\n- 4.查找第一个只出现一次的字符 - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/算法集合/4.第四题.md)\n- 5.查找两个子视图的共同父视图 - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/算法集合/5.第五题.md)\n- 6.无序数组中的中位数 - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/算法集合/6.第六题.md)\n- 7.两数之和为特定值 - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/算法集合/7.第七题.md)\n- 8.求出数组中连续数字的和值 - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/算法集合/8.第八题.md)\n- 9.白鼠与毒酒的算法问题 - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/算法集合/9.第九题.md)\n- 10.在一个数组中找出前四个最大的数字。- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/0.算法集合/10.第十题.md)\n- 11.假如有 10亿 条数据，每条数据的大小在 10k-100k 之间，我们有一台内存为 4G 的电脑，如何算出播放次数最多的一条微博？\n- 12.如何打印一个矩阵？\n- 13.如何验证一个 `IP` 地址的有效性？\n- 14.栈中储存着一组无序的数字，不用遍历的方式，如何找出最小值？\n- 15.二维数组查找一个值。\n\n## iOS 内存管理\n- 1.讲一下 `iOS` 内存管理的理解？(三种方案的结合) - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/1.第一题.md)\n- 2.使用自动引用计（`ARC`）数应该遵循的原则? - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/2.第二题.md)\n- 3.`ARC` 自动内存管理的原则？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/3.第三题.md)\n- 4.访问 `__weak` 修饰的变量，是否已经被注册在了 `@autoreleasePool` 中？为什么？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/4.第四题.md)\n- 5.`ARC` 的 `retainCount` 怎么存储的？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/5.第五题.md)\n- 6.简要说一下 `@autoreleasePool` 的数据结构？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/6.第六题.md)\n- 7.`__weak` 和 `_Unsafe_Unretain` 的区别？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/7.第七题.md)\n- 8.为什么已经有了 `ARC` ,但还是需要 `@AutoreleasePool` 的存在？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/8.第八题.md)\n- 9.`__weak` 属性修饰的变量，如何实现在变量没有强引用后自动置为 `nil`？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/9.第九题.md)\n- 10.说一下对 `retain`,`copy`,`assign`,`weak`,`_Unsafe_Unretain` 关键字的理解。 - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/10.第十题.md)\n- 11.`ARC` 在编译时做了哪些工作？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/11.第十一题.md)\n- 12.`ARC` 在运行时做了哪些工作？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/12.第十二题.md)\n- 13.函数返回一个对象时，会对对象 `autorelease` 么？为什么？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/13.第十三题.md)\n- 14.说一下什么是 `悬垂指针`？什么是 `野指针`? - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/14.第十四题.md)\n- 15.内存管理默认的关键字是什么？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/15.第十五题.md)\n- 16.内存中的5大区分别是什么？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/16.第十六题.md)\n- 17.是否了解 `深拷贝` 和 `浅拷贝` 的概念，集合类深拷贝如何实现？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/17.第十七题.md)\n- 18.`BAD_ACCESS` 在什么情况下出现? - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/18.第十八题.md)\n- 19.讲一下 `@dynamic` 关键字？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/19.第十九题.md)\n- 20.`@autoreleasrPool` 的释放时机？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/20.第二十题.md)\n- 21.`retain`、`release` 的实现机制？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/21.第二十一题.md)\n- 22.能不能简述一下 `Dealloc` 的实现机制？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/22.第二十二题.md)\n- 23.在 `MRC` 下如何重写属性的 `Setter` 和 `Getter`? - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/23.第二十三题.md)\n- 24.在 `Obj-C` 中，如何检测内存泄漏？你知道哪些方式？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/内存管理/24.第二十四题.md)\n\n\n## Runtime\n- 实例对象的数据结构？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/1.第一题.md)\n- 类对象的数据结构？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/2.第二题.md)\n- 元类对象的数据结构? - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/3.第三题.md)\n- Obj-C 对象、类的本质是通过什么数据结构实现的？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/25.第二十五题.md)\n- Obj-C 中的类信息存放在哪里？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/11.第十一题.md)\n- 一个 NSObject 对象占用多少内存空间？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/12.第十二题.md)\n- 说一下对 class_rw_t 结构体的理解？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/13.第十三题.md)\n- 说一下对 class_ro_t 的理解？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/14.第十四题.md)\n- Category 的实现原理？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/4.第四题.md)\n- 如何给 Category 添加属性？关联对象以什么形式进行存储？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/5.第五题.md)\n- Category 有哪些用途？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/6.第六题.md)\n- Category 和 Class Extension 有什么区别？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/7.第七题.md)\n- Category 可不可以添加实例对象？为什么？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/24.第二十四题.md)\n- Category 在编译过后，是在什么时机与原有的类合并到一起的？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/26.第二十六题.md)\n- 说一下 Method Swizzling? 说一下在实际开发中你在什么场景下使用过? - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/8.第八题.md)\n- Runtime 如何实现动态添加方法和属性？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/9.第九题.md)\n- 说一下对 isa 指针的理解，对象的 isa 指针指向哪里？ isa 指针有哪两种类型？（注意区分不同对象） - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/10.第十题.md)\n- 说一下 Runtime 消息解析。- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/15.第十五题.md)\n- 说一下 Runtime 消息转发。- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/15.第十五题.md)\n- 如何运用 Runtime 字典转模型？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/17.第十七题.md)\n- 如何运用 Runtime 进行模型的归解档？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/18.第十八题.md)\n- 在 Obj-C 中为什么叫发消息而不叫函数调用？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/19.第十九题.md)\n- 说一下 Runtime 的方法缓存？存储的形式、数据结构以及查找的过程？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/21.第二十一题.md)\n- 是否了解 Type Encoding? - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/22.第二十二题.md)\n- Objective-C 如何实现多重继承？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runtime/23.第二十三题.md)\n\n\n\n## Runloop\n- 1.`Runloop` 和线程的关系？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runloop/1.第一题.md)\n- 2.讲一下 `Runloop` 的 `Mode`?(越详细越好)  - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runloop/2.第二题.md)\n- 3.讲一下 `Observer` ？（Mode中的重点） - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runloop/3.第三题.md)\n- 4.讲一下 `Runloop` 的内部实现逻辑？（运行过程） - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runloop/4.第四题.md)\n- 5.你所知的哪些三方框架使用了 `Runloop`?（AFNetworking、Texture 等）\n- 6.`autoreleasePool` 在何时被释放？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runloop/6.第六题.md)\n- 7.解释一下 `事件响应` 的过程？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runloop/7.第七题.md)\n- 8.解释一下 `手势识别` 的过程？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runloop/8.第八题.md)\n- 9.解释一下 `GCD` 在 `Runloop` 中的使用？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runloop/9.第九题.md)\n- 10.解释一下 `NSTimer`，以及 `NSTimer` 的循环引用。 - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runloop/10.第十题.md)\n- 11.`AFNetworking` 中如何运用 `Runloop`? - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runloop/11.第十一题.md)\n- 12.`PerformSelector` 的实现原理？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runloop/12.第十二题.md)\n- 13.利用 `runloop` 解释一下页面的渲染的过程？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runloop/13.第十三题.md)\n- 14.如何使用 `Runloop` 实现一个常驻线程？这种线程一般有什么作用？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runloop/14.第十四题.md)\n- 15.为什么 `NSTimer` 有时候不好使？（不同类型的Mode）- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runloop/15.第十五题.md)\n- 16.`PerformSelector:afterDelay:`这个方法在子线程中是否起作用？为什么？怎么解决？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runloop/16.第十六题.md)\n- 17.什么是异步绘制？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Runloop/17.第十七题.md)\n- 18.如何检测 `App` 运行过程中是否卡顿？\n\n\n## UIKit\n\n- 1.`UIView` 和 `CALayer` 是什么关系？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/UIKit/1.第一题.md)\n- 2.`Bounds` 和 `Frame` 的区别? - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/UIKit/2.第二题.md)\n- 3.`TableViewCell` 如何根据 `UILabel` 内容长度自动调整高度?\n- 4.`LoadView`方法了解吗？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/UIKit/4.第四题.md)\n- 5.`UIButton` 的父类是什么？`UILabel` 的父类又是什么？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/UIKit/5.第五题.md)\n- 6.实现一个控件，可以浮在任意界面的上层并支持拖动？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/UIKit/6.第六题.md)\n- 7.说一下控制器 `View` 的生命周期，一旦收到内存警告会如何处理？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/UIKit/7.第七题.md)\n- 8.如何暂停一个 `UIView` 中正在播放的动画？暂停后如何恢复？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/UIKit/8.第八题.md)\n- 9.说一下 `UIView` 的生命周期？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/UIKit/9.第九题.md)\n- 10.`UIViewController` 的生命周期？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/UIKit/10.第十题.md)\n- 11.如何以通用的方法找到当前显示的`ViewController`? - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/UIKit/11.第十一题.md)\n- 12.`setNeedsDisplay` 和 `layoutIfNeeded` 两者是什么关系？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/UIKit/12.第十二题.md)\n\n## Foundation\n- 1.`nil`、`NIL`、`NSNULL` 有什么区别？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Foundation/1.第一题.md)\n- 2.如何实现一个线程安全的 `NSMutableArray`? - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Foundation/2.第二题.md)\n- 3.如何定义一台 `iOS` 设备的唯一性? - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Foundation/3.第三题.md)\n- 4.`atomic` 修饰的属性是绝对安全的吗？为什么？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Foundation/4.第四题.md)\n- 5.实现 `isEqual` 和 `hash` 方法时要注意什么？\n- 6.`id` 和 `instanceType` 有什么区别？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Foundation/6.第六题.md)\n- 7.简述事件传递、事件响应机制。- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Foundation/7.第七题.md)\n- 8.说一下对 `Super` 关键字的理解。- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Foundation/8.第八题.md)\n- 9.了解 `逆变` 和 `协变` 吗？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Foundation/9.第九题.md)\n- 10.`@synthesize` 和 `@dynamic` 分别有什么作用？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Foundation/10.第十题.md)\n- 11.`Obj-C` 中的反射机制了解吗？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Foundation/11.第十一题.md)\n- 12.`typeof` 和 `__typeof`，`__typeof__` 的区别? - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Foundation/12.第十二题.md)\n- 13.如何判断一个文件在沙盒中是否存在？\n- 14.头文件导入的方式？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Foundation/14.第十四题.md)\n- 15.如何将 `Obj-C` 代码改变为 `C++/C` 的代码？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Foundation/15.第十五题.md)\n- 16.知不知道在哪里下载苹果的源代码？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Foundation/16.第十六题.md)\n- 17.`objc_getClass()`、`object_getClass()`、`Class` 这三个方法用来获取类对象有什么不同？\n\n## 网络\n- 1.`NSUrlConnect`相关知识。\n- 2.`NSUrlSession`相关知识。\n- 3.`Http` 和 `Https` 的区别？为什么更加安全？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/3.第三题.md)\n- 4.`Http`的请求方式有哪些？`Http` 有什么特性？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/4.第四题.md)\n- 5.解释一下 `三次握手` 和 `四次挥手`？解释一下为什么是`三次握手` 又为什么是 `四次挥手`？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/5.第五题.md)\n- 6.`GET` 和 `POST` 请求的区别？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/6.第六题.md)\n- 7.`HTTP` 请求报文 和 响应报文的结构？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/7.第七题.md)\n- 8.什么是 `Mimetype` ? - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/8.第八题.md)\n- 9.数据传输的加密过程？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/9.第九题.md)\n- 10.说一下 `TCP/IP` 五层模型的协议? - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/10.第十题.md)\n- 11.说一下 `OSI` 七层模型的协议? - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/11.第十一题.md)\n- 12.`大文件下载` 的功能有什么注意点？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/12.第十二题.md)\n- 13.`断点续传` 功能该怎么实现？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/13.第十三题.md)\n- 14.封装一个网络框架有哪些注意点？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/14.第十四题.md)\n- 15.`Wireshark`、`Charles`、`Paw` 等工具会使用吗？\n- 16.`NSUrlProtocol`用过吗？用在什么地方了？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/16.第十六题.md)\n- 17.如何在测试过程中 `MOCK` 各种网络环境？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/17.第十七题.md)\n- 18.`DNS` 的解析过程？网络的 `DNS` 优化。 - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/18.第十八题.md)\n- 19.`Post`请求体有哪些格式？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/19.第十九题.md)\n- 20.网络请求的状态码都大致代表什么意思？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/20.第二十题.md)\n- 21.抓包软件 `Charles` 的原理是什么？说一下中间人攻击的过程。- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/21.第二十一题.md)\n- 22.如何判断一个请求是否结束？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/22.第二十二题.md)\n- 23.`SSL` 传输协议？说一下 `SSL` 验证过程？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/23.第二十三题.md)\n- 24.解释一下 `Http` 的持久连接？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/24.第二十四题.md)\n- 25.说一下传输控制协议 - `TCP` ?- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/25.第二十五题.md)\n- 26.说一下用户数据报协议 - `UDP` ? - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/26.第二十六题.md)\n- 27.谈一谈网络中的 `session` 和 `cookie`? - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/网络/27.第二十七题.md)\n- 28.发送网络请求的时候，如果带宽 `1M`，如何针对某些请求，限制其流量?\n\n\n\n## 多线程\n- 1.`NSThread`相关知识？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/多线程/1.第一题.md)\n- 2.`GCD` 相关知识？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/多线程/2.第二题.md)\n- 3.`NSOperation` 和 `NSOperationQueue`相关知识？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/5.多线程/3.第三题.md)\n- 4.如何实现线性编程？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/多线程/4.第四题.md)\n- 5.说一下 `GCD` 并发队列实现机制？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/多线程/5.第五题.md)\n- 6.`NSLock`？是否会出现死锁？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/多线程/6.第六题.md)\n- 7.`NSContion` - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/多线程/7.第七题.md)\n- 8.条件锁 - `NSContionLock`  - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/多线程/8.第八题.md)\n- 9.递归锁 - `NSRecursiveLock` - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/多线程/9.第九题.md)\n- 10.同步锁 - `Synchronized(self) {// code}`  - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/多线程/10.第十题.md)\n- 11.信号量 - `dispatch_semaphore`。 - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/多线程/11.第十一题.md)\n- 12.自旋锁 - `OSSpinLock` 。 - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/多线程/12.第十二题.md)\n- 13.多功能🔐 - `pthread_mutex` - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/多线程/13.第十三题.md)\n- 14.分步锁 - `NSDistributedLock`。- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/多线程/14.第十四题.md)\n- 15.如何确保线程安全？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/多线程/15.第十五题.md)\n- 16.`NSMutableArray`、和 `NSMutableDictionary`是线程安全的吗？`NSCache`呢？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/多线程/16.第十六题.md)\n- 17.多线程的 `并行` 和 `并发` 有什么区别？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/多线程/17.第十七题.md)\n- 18.多线程有哪些优缺点？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/多线程/18.第十八题.md)\n- 19.如何自定义 `NSOperation` ? - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/多线程/19.第十九题.md)\n- 20.`GCD` 与 `NSOperationQueue` 有哪些异同？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/多线程/20.第二十题.md)\n- 21.解释一下多线程中的死锁？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/多线程/21.第二十一题.md)\n- 22.子线程是否会出现死锁？说一下场景？\n- 23.多线程技术在使用过程中有哪些注意事项？\n\n\n\n\n## 项目架构\n- 1.什么是 `MVC`?\n- 2.什么是 `MVVM`?\n- 3.什么是 `MVP`?\n- 4.什么是 `CDD`?\n- 5.项目的组件化？\n    - 1.说一下你了解的项目组件化方案？\n    - 2.什么样的团队及项目适合采用组件化的形式进行开发？\n    - 3.组件之间的通信方式。\n    - 4.各组件之间的解耦合。\n- 6.还了解哪些项目架构？你之前所在公司的架构是什么样的，简单说一下？\n- 7.从宏观上来讲 `App` 可以分为哪些层？\n- 8.多工程连编之静态库 - [链接](https://blog.csdn.net/DonnyDN/article/details/79657986)\n\n## 消息传递的方式\n\n- 1.说一下 `NSNotification` 的实现机制？发消息是同步还是异步？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/消息传递的方式/1.第一题.md)\n- 2.说一下 `NSNotification` 的特点。 - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/消息传递的方式/2.第二题.md)\n- 3.简述 `KVO` 的实现机制。 - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/消息传递的方式/3.第三题.md)\n- 4.`KVO` 在使用过程中有哪些注意点？有没有使用过其他优秀的 `KVO` 三方替代框架？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/消息传递的方式/4.第四题.md)\n- 5.简述 `KVO` 的注册依赖键是什么？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/消息传递的方式/5.第五题.md)\n- 6.如何做到 `KVO` 手动通知？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/消息传递的方式/6.第六题.md)\n- 7.在什么情况下会触发 `KVO`?  - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/消息传递的方式/7.第七题.md)\n- 8.给实例变量赋值时，是否会触发 `KVO`?  - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/消息传递的方式/8.第八题.md)\n- 9.`Delegate`通常用什么关键字修饰？为什么？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/消息传递的方式/9.第九题.md)\n- 10.`通知` 和 `代理` 有什么区别？各自适应的场景？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/消息传递的方式/10.第十题.md)\n- 11.`__block` 的解释以及在 `ARC` 和 `MRC` 下有什么不同？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/消息传递的方式/11.第十一题.md)\n- 12.`Block` 的内存管理。- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/消息传递的方式/12.第十二题.md)\n- 13.`Block` 自动截取变量。- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/消息传递的方式/13.第十三题.md)\n- 14.`Block` 处理循环引用。- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/消息传递的方式/14.第十四题.md)\n- 15.`Block` 有几种类型？分别是什么？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/消息传递的方式/15.第十五题.md)\n- 16.`Block` 和 `函数指针` 的区别? - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/消息传递的方式/16.第十六题.md)\n- 17.说一下什么是`Block`? - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/消息传递的方式/16.第十六题.md)\n- 18.`Dispatch_block_t`这个有没有用过？解释一下？\n\n## 数据存储\n- 1.Sqlite3 \n    - 1.简单说一下 `Sqlite3` - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/数据存储/1.1-1.md)\n    - 2.`Sqlite3` 常用的执行语句\n    - 3.`Sqlite3` 在不同版本的APP，数据库结构变化了，如何处理?\n- FMDB (`Sqlite3` 的封装) - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/数据存储/2.2-1.md)\n- Realm\n- NSKeyArchieve - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/数据存储/4.4-1.md)\n- Preperfence - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/数据存储/5.5-1.md)\n- Plist - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/数据存储/6.6-1.md)\n- CoreDate\n- Keychain\n- UIPasteBoard(感谢 lilingyu0620 同学提醒)\n- FoundationDB\n- LRU(最少最近使用)缓存\n\n## iOS设计模式\n\n\u003e 这个模块需要大量代码，我就不贴了\n\n- 1.编程中的六大设计原则？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/设计模式/1.第一题.md)\n- 2.如何设计一个图片缓存框架？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/设计模式/2.第二题.md)\n- 3.如何设计一个时长统计框架？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/设计模式/3.第三题.md)\n- 4.如何实现 `App` 换肤（夜间模式）？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/设计模式/4.第四题.md)\n- 5.外观模式\n- 6.中介者模式\n- 7.访问者模式\n- 8.装饰模式 \n- 9.观察者模式\n- 10.责任链模式\n- 11.命令模式\n- 12.适配器模式\n- 13.桥接模式\n- 14.代理委托模式\n- 15.单例模式\n- 16.类工厂模式\n\n\n## WebView\n* 1.说一下 `JS` 和 `OC` 互相调用的几种方式？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/WebView/1.第一题.md)\n* 2.在使用 `WKWedView` 时遇到过哪些问题？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/WebView/2.第二题.md)\n* 3.是否了解 `UIWebView` 的插件化？\n* 4.是否了解 `SFSafariViewController` ？\n\n## 图像处理\n- 1.一张物理体积20KB、分辨率为 200 * 300 的图片，在内存中占用多大的空间？\n- 2.图像的压缩、解压。\n\n## iOS 动画\n- 1.简要说一下常用的动画库。- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Animation/1.第一题.md)\n- 2.请说一下对 `CALayer` 的认识。- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Animation/2.第二题.md)\n- 3.解释一下 `CALayer.contents` 属性。- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/Animation/3.第三题.md)\n- 4.在 `iOS` 中，动画有哪几种类型？\n- 5.隐式动画\n- 6.显式动画\n\n\n## 代码管理、持续集成、项目托管\n- 1.Git\n    - 1.`git pull` 和 `git fetch` 的区别？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/代码管理/1.1-1.md)\n    - 2.`git merge` 和 `git rebase` 的区别？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/代码管理/1.1-2.md)\n    - 3.如何在本地新建一个分支，并 `push` 到远程服务器上？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/代码管理/1.1-3.md)\n    - 4.如果 `fork` 了一个别人的仓库，怎样与源仓库保持同步？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/代码管理/1.1-4.md)\n    - 5.总结一下 `Git` 常用的命令？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/代码管理/1.1-5.md)\n- 2.SVN（个人认为过气了）\n- 3.CocoaPods\n    - 1.说一下 `CocoaPods` 的原理？\n    - 2.如何让自己写的框架支持 `CocoaPods`？\n    - 3.`pod update` 和 `pod install` 有什么区别？\n    - 4.`Podfile.lock` 文件起什么作用？\n    - 5.`CocoaPods` 常用指令？\n    - 6.在使用 `CocoaPods` 中遇到过哪些问题？\n    - 7.如何使用 `CocoaPods` 集成远程私有库？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/代码管理/3.3-7.md)\n    - 8.如果自己写的库需要依赖其他的三方库，该怎么办？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/代码管理/3.3-8.md)\n    - 9.`CocoaPods` 中的 `Subspec` 字段有什么用处？\n- 4.Carthage\n- 5.Fastlane\n- 6.Jenkins\n- 7.fir.im\n- 8.蒲公英\n- 9.TestFlight\n\n## 数据安全及加密\n- 1.RSA非对称加密 - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/数据安全及加密/1.第一题.md)\n- 2.AES对称加密\n- 3.DES加密\n- 4.Base64加密\n- 5.MD5加密\n- 6.简述 `SSL` 加密的过程用了哪些加密方法，为何这么做？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/数据安全及加密/6.第六题.md)\n- 7.是否了解 `iOS` 的签名机制？\n- 8.如何对 `APP` 进行重签名？\n\n## 源代码阅读\n- 1.YYKit\n- 2.SDWebImage  - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/源代码阅读/2.第二题.md)\n- 3.AFNetworking\n- 4.SVProgressHub \n- 5.Texture（ASDK）\n\n## iOS逆向及安全\n\n## Coretext\n\n## 项目组件化\n- 1.说一下你之前项目的组件化方案？\n- 2.项目的组件化模块应该如何划分？\n- 3.如何集成本地私有库？\n- 4.如何集成远程私有库？\n\n## 性能优化\n- 1.如何提升 `tableview` 的流畅度？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/性能优化/1.第一题.md)\n- 2.如何使用 `Instruments` 进行性能调优？(Time Profiler、Zombies、Allocations、Leaks)\n- 3.如何优化 `APP` 的启动时间？\n- 4.如何优化 `APP` 的网络流量？\n- 5.如何有效降低 `APP` 包的大小？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/性能优化/5.第五题.md)\n- 6.日常如何检查内存泄露？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/性能优化/6.第六题.md)\n- 7.能不能说一下物理屏幕显示的原理？\n- 8.解释一下什么是屏幕卡顿、掉帧？该如何避免？\n- 9.什么是 `离屏渲染`？什么情况下会触发？该如何应对？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/性能优化/9.第九题.md)\n- 10.如何高性能的画一个圆角？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/性能优化/10.第十题.md)\n- 11.如何优化 `APP` 的内存？\n- 12.如何优化 `APP` 的电量？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/性能优化/12.第十二题.md)\n\n## 调试技巧 \u0026 软件使用\n- 1.`LLDB` 调试。\n- 2.断点调试 - `breakPoint`。\n- 3.`NSAssert` 的使用。\n- 4.`Charles` 的使用。\n    - 使用 `Charles` 下载过去任意版本的 `App`。\n- 5.`Reveal` 的使用。\n- 6.`iOS` 常见的崩溃类型有哪些？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/调试技巧/6.第六题.md)\n- 7.当页面 `AutoLayout` 出现了问题，怎样快速调试？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/调试技巧/7.第七题.md)\n\n## 扩展问题\n- 1.无痕埋点\n- 2.APM（应用程序性能监测）\n- 3.Hot Patch（热修补）\n- 4.崩溃的处理\n\n## 其他问题\n\n- 1.`load` 和 `Initialize` 的区别? - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/其他问题/1.第一题.md)\n- 2.`Designated Initializer`的规则？ - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/其他问题/2.第二题.md)\n- 3.`App` 编译过程有了解吗？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/其他问题/3.第三题.md)\n- 4.说一下对 `APNS` 的认识？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/其他问题/4.第四题.md)\n- 5.`App` 上有一数据列表，客户端和服务端均没有任何缓存，当服务端有数据更新时，该列表在 `wifi` 下能获取到数据，在 4G 下刷新不到，但是在 4g 环境下其他 `App` 都可以正常打开，分析其产生的原因？\n- 6.是否了解链式编程？- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/其他问题/6.第六题.md)\n\n\n\n\n\n## 逻辑计算题\n- 1.**输出如下的计算结果** （14）\n\n```objc\nint a=5,b;\nb=(++a)+(++a);\n```\n\n- 2.**不使用第三个变量，交换两个变量的值。**- [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/计算题/2.第二题.md)\n\n```objc\nint a = 5;\nint b = 10;\n```\n- 3.**给出 `i`值得取值范围？** （大于或等于10000）\n\n```objc\n    __block int i = 0;\n\n    while (i\u003c10000) {\n\n    dispatch_async(dispatch_get_global_queue(0, 0), ^{\n        i++;\n    });\n}\n    NSLog(@\"i=%d\",i);\n}\n```\n\n- 4.**编码求，给定一个整数，按照十进制的编码计算包含多少个 `0`?**  - [链接](https://github.com/liberalisman/iOS-InterviewQuestion-collection/blob/master/计算题/4.第四题.md)\n\n## 开放性问题\n\n- 1.你最近在业余时间研究那些技术点？可不可以分享一下你的心得？\n- 2.你对自己未来的职业发展有什么想法？有没有对自己做过职业规划？\n- 3.和同事产生矛盾（包括意见分歧），你一般怎么解决？\n- 4.能不能说一下你的业余精力都花在什么方面，或者介绍一下你的爱好？\n- 5.学习技术知识通常通过哪些途径？\n- 6.遇到疑难问题一般怎么解决？能不能说一个你印象颇深的技术难点，后来怎么解决的？\n\n\n","funding_links":[],"categories":["Websites","HarmonyOS","Objective-C","客户端"],"sub_categories":["Windows Manager","iOS"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliberalisman%2FiOS-InterviewQuestion-collection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliberalisman%2FiOS-InterviewQuestion-collection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliberalisman%2FiOS-InterviewQuestion-collection/lists"}