代码拉取完成,页面将自动刷新
最近在准备面试,所以自己边复习边整理,列出了一些自己复习的知识点。
后面的一些知识模块之所以没有延展开,是因为有的地方自己理解的还不到位,我还需要时间仔细整理。
这个仓库根据我的设想,我认为还远远没有完成,后续会不断更新,起初并不想写答案,但考虑到有的人需要,其次我自己写一个很简单的思路,起一个提示的作用,如果有想错的地方,也欢迎大家指正。
再次说明:所有的答案只写思路,不会长篇大论的验证,只起到提示作用。
欢迎大家提 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
中,如何检测内存泄漏?你知道哪些方式? - 链接Category
的实现原理? - 链接Category
添加属性?关联对象以什么形式进行存储? - 链接Category
有哪些用途? - 链接Category
和 Extension
有什么区别?- 链接Method Swizzling
? 说一下在实际开发中你在什么场景下使用过? - 链接isa
指针的理解, 对象的isa
指针指向哪里?isa
指针有哪两种类型?(注意区分不同对象) - 链接Obj-C
中的类信息存放在哪里? - 链接NSObject
对象占用多少内存空间?- 链接class_rw_t
的理解?- 链接class_ro_t
的理解?- 链接Runtime
消息解析。- 链接Runtime
消息转发。- 链接Runtime
字典转模型?- 链接Runtime
进行模型的归解档?- 链接Obj-C
中为什么叫发消息而不叫函数调用?- 链接runtime
的理解。(主要讲一下消息机制,是对上述的总结)Runtime
的方法缓存?存储的形式、数据结构以及查找的过程?- 链接Type Encoding
? - 链接Objective-C
如何实现多重继承? - 链接Category
可不可以添加实例对象?为什么? - 链接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
? - 链接nil
、NIL
、NSNULL
有什么区别?- 链接NSMutableArray
? - 链接iOS
设备的唯一性? - 链接atomic
修饰的属性是绝对安全的吗?为什么? - 链接isEqual
和 hash
方法时要注意什么?id
和 instanceType
有什么区别?- 链接Super
关键字的理解。- 链接逆变
和 协变
吗?- 链接@synthesize
和 @dynamic
分别有什么作用?- 链接Obj-C
中的反射机制了解吗?- 链接typeof
和 __typeof
,__typeof__
的区别? - 链接Obj-C
代码改变为 C++/C
的代码?- 链接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
包的大小?离屏渲染
?什么情况下会触发?该如何应对?- 链接LLDB
调试。breakPoint
。NSAssert
的使用。Charles
的使用。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
? - 链接此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。