说实话,大部分问题不难,很基础,查漏补缺。 先列出问题,答案待更新。
iOS基础
Objective-C
- 属性常用修饰符,及意义
- Weak实现原理
- 启动过程,进程如何创建,动态库是如何加载,静态库是怎么加载的。
- 串行/并行队列
- 异步/同步任务
- 栅栏函数
- 如何实现多读单写
Runtime
- isa
- kvo
- kvc
- 类对象、元类对象数据结构
- 方法查找过程
- cache如何扩容
- 关联对象
- dealloc释放过程
- performSelector: 编译器会提示警告,是什么警告(内存泄漏),为什么会有内存泄漏,在什么情况下会有内存泄漏。
Runloop
- 结构
- 自动释放池
- 原理
- 卡顿监测
- 线程保活
Swift
- Class & Struct区别
- 访问限定符
- 范型
计算机基础
网络
-
HTTPS握手过程
- 证书校验过程
- 自签名证书安全吗?
- 中间人攻击怎么防护
- 握手各步骤意义,是否可以去除
-
TCP/UDP
- TCP 三次握手/四次挥手,是否可以简化,为什么?
- TCP/UDP 区别,TCP为什么安全,如何保证的?拥塞控制?滑动窗口?慢启动?
- UDP 报文结构
- TCP 数据帧结构
-
HTTP
- 各版本区别
- 常见请求头字段
-
DNS 查找过程
- 域名污染
- 域名劫持
基础
- 进程 & 线程
- Hash表
- 碰撞如何解决
- 结构
算法
- 两个链表查找公共交点
- atoi
- ip地址判断