iOS开发去面试BAT,这些iOS面试题必须得会
前言
*近把各个大厂的 iOS面试题整理了, 题目大部分是网上收录的, 方便自己巩固复习, 也分享给大家; 希望对大家有所帮助!
此次iOS面试题 ,底部会提供一份答案
题集大全
1: 谈谈你对KVC的理解
2: iOS项目中引用多个第三方库引发冲突的解决方法
3: GCD实现多读单写
4: 讲一下atomic的实现机制;为什么不能保证*对的线程安全?
5: Autoreleasepool所使用的数据结构是什么?
6: AutoreleasePoolPage结构体了解么?
7: iOS中内省的几个方法?
8: class方法和objc_getClass方法有什么区别?
9: 分类和扩展有什么区别?可以分别用来做什么?
10: 分类有哪些局限性?分类的结构体里面有哪些成员?
11: 能不能简述一下Dealloc的实现机制
12: HTTPS和HTTP的区别
13: TCP为什么要三次握手,四次挥手?
14: 对称加密和非对称加密的区别?分别有哪些算法的实现?
15: HTTPS的握手流程?为什么密钥的传递需要使用非对称加密?双向认证了解么?
16: 如何用Charles抓HTTPS的包?其中原理和流程是什么?
17: 什么是中间人攻击?如何避免?
18: 了解编译的过程么?分为哪几个步骤?
19: 静态链接了解么?静态库和动态库的区别?
20: App网络层有哪些优化策略?
21: 排序题︰冒泡排序,选择排序,插入排序,快速排序(二路,三路)能写出那些?
22: iOS开发中的加密方式
23: App安全,数字签名,App签名,重签名
24: OC数据类型
25: property和属性修饰符
26: 成员变量ivar和属性property的区别,以及不同关键字的作用
27: 类簇的优缺点
28: 谈谈设计模式
29: 谈谈架构设计
30: ReactiveCocoa的使用及优缺点
31: 类的继承,类能否多继承,协议能不能做继承?
32: 分类(category)和类扩展(extension)的区别
33: 如何实现week
34: 字典注意事项:setvalue和setobject的区别
35: 多线程和锁
36: WebSocket与TCP Socket的区别
37: 事件传递和响应机制