网络
- AFNetwork实现
- https证书的验证,为什么证书是安全的
- https中ssl协议的过程
- https证书的校验以及其中对称加密和非对称加密分别在哪个步骤
- Charles抓包是怎么做到的 https://www.jianshu.com/p/5ca12a0188ed?utm_campaign=
- 说一下HTTP协议以及经常使用的code码的含义
- 说一下TCP和UDP
- 说一下HTTP和HTTPs的请求过程?
多线程
- 多线程资源抢夺的原因
- 说一下多线程,你平常是怎么用的?
- 说几个你在工作中使用到的线程安全的例子。
- 用过哪些锁?哪些锁的性能比较高?
- NSNotificationCenter是在哪个线程发送的通知?
- 为什么一定要在主线程里面更新UI?
block
- __weak、__strong原理
- __block原理
- 全局、堆、栈block
- 一句话描述block
runtime&runloop
- 说一下runloop和线程的关系
- 说一下runtime,工作是如何使用的?看过runtime源码吗?
swift
- swift中@objc
- 理解optional
- swift语言和oc语言对比
- oc中nil和swift中nil有什么区别
其他
- 类与对象区别
- assign、copy、strong、weak修饰词
- 深浅copy
- nonatomic、atomic
- +load、+initiallize
- 扩展和分类的区别
- category原理
- UI中点击响应链
- 自动释放池原理
- 野指针什么时候会出现
- isKindOfClass和isMemmerOfClass
- [self class]和 [super class]
- OC的反射机制 https://www.jianshu.com/p/3ed2c7bc6653
- UIView和CALayer的区别
- 野指针和悬垂指针
- dealloc时系统做了什么
- 遇到过BAD_ACCESS的错误吗?你是怎样调试的?
- 什么是指针常量和常量指针?
- 不借用第三个变量,如何交换两个变量的值?要求手动写出交换过程。
- category为什么不能添加属性?
- 说一下静态库和动态库之间的区别
- NStimer使用注意事项及除了invalide方法解决循环引用问题的原理
算法
- 链表逆序
- 判断链表是否是循环链表
- 前、中、后、层序遍历二叉树
- NSArray内部实现
- 数组和链表的区别
- 平衡二叉树及遍历
- hash算法
- NSDictionary的实现原理
- APP如何处理本地数据安全
- 用递归算法求1到n的和
设计模式
- 若你去设计一个通知中心,你会怎样设计?
- 如何去设计一个方案去应对后端频繁更改的字段接口?
- KVO、KVC的实现原理
- 说一下简单工厂模式,工厂模式以及抽象工厂模式
- 如何设计一个网络请求库?
- 看过哪些三方库?说一下实现原理以及好在哪里?
- 设计一套缓存策略
- 设计一个检测主线和卡顿的方案
- 说一下你对架构的理解?
优化
- 说一下UITableViewCell的卡顿你是怎么优化的?