作者:ZhHS
- Runtime的消息转发机制
- Runloop的工作原理
- 内存管理
- block
- GCD
- 定时器的几个类方法底层分别是怎么实现的([NSTimer timerWithTimeInterval:repeats: block:]等)
- KVO、delegate、通知的区别以及底层实现
- Struct与Union主要区别
- 思维题:情景:20个主人,20条狗,在同一个小区每天在同一个地方同时遛狗,狗主人绝对聪明,一旦发现自己家的狗是疯狗,回家之后就会用枪把狗打死。第一天晚上遛狗回家后没有听见枪响,第二天晚上遛狗回家后没有听见枪响,第三天晚上遛狗回家后听见多声枪响,请问有多少条疯狗。 条件: ①狗主人不能直接发现自己家的狗是否是疯狗,可以发直接现别人家的狗是否是疯狗,凭此可以推断自己家的狗是否是疯狗 ②狗主人遛狗期间不会有任何交谈 ③疯狗不会传染
- iOS11的新特性
- 点击应用图标到启动应用整个过程,系统进行了什么操作
- swift相关知识
- Apple pay的支付流程
-
写一段程序判断文本框内输入的IP地址是否合法
@"^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$"
- 开头结尾是否空格,是否为空,是否字符串类型
- 0.0.0.0 合法, 00.0.0.0 不合法,
- IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。
-
- 的
实现逻辑
- 的
-
runtime的相关知识
-
autorelease的使用场景
- for循环中,创建大文件
-
plist读写操作如何进行锁管理
- 使用
dispatch _barrier
- 赋值时候不可以读和其他读写,读取的时候可以多处读取
- 使用
-
NSNotification实现逻辑,子线程中给主线程发送通知,主线程是否会处理通知
-
编译器怎么检测#import和#include导入多次的问题,三方库导入时如何设置**""和<>**
- ifdef def #endif
- if __has_include(<>)
- 关于业务方面以及性能方面的问题
- 组件化的问题
- 怎么修复线上卡顿、崩溃问题,
- 项目结构等等
- 面试题系列目录
- 上一份: 美团饿了么面试题2018年4月
- 下一份: 校招攻略43份优质面经汇总iOS开发2018年