一面
1. 算法:
- 字符串转整形
- 反转链表(递归和非递归)
- 将两个有序链表合并成一个有序链表
2. iOS基础:
- Objective-C的内存管理
- ARC和MRC的区别
- Timer的使用,怎么避免循环引用
- autoreleasePool的底层实现机制
- autoreleasePool的底层数据结构,为什么要这么设计
- iOS中常见的多线程技术
- 常见的锁,有什么区别
- 如果让你设计读写锁,你怎么设计
3. RN、flutter、weex:
- 你怎么看待这些动态化技术
- RN、flutter以及weex的区别
- RN怎么和native通信的
二面
- 算法: 山脉数组找目标值(要求logN的时间复杂度)
- QA发现了一个按钮无法响应点击事件,可能是什么原因导致的(说了五种情况好像没有答到面试官要的点)
- iOS响应者链,怎么寻找最合适的响应者,如果为nil会怎么办
- frame和bounds的区别
- 如果bounds的origin不是00会怎样
- 你平常用过Charles么,说说Charles的抓包原理
- Charles能抓HTTPS么,怎么实现
- HTTPS怎么建立连接的
- 中间人攻击,怎么避免
- 多线程一般会有什么问题,请举个例子
- 为什么会造成上述问题以及解决方案
- 主队列和主线程的关系
- 全局并发队列一定在主线程上运行的么
- 项目相关,用了什么技术,有哪些难点,怎么处理的
三面
- 自我介绍
- 为啥想看机会
- 聊了下项目
- 怎么看待RN、Flutter
- 平常有看过什么技术书籍吗
- 有看过开源框架吗
- 工作中遇到最难的事情后面是怎么解决的
- 有什么想问的么
收录:原文地址