2020 Bigo iOS 面试分享

756 阅读2分钟

一面

1. 算法:

  • 字符串转整形
  • 反转链表(递归和非递归)
  • 将两个有序链表合并成一个有序链表

2. iOS基础:

  • Objective-C的内存管理
  • ARC和MRC的区别
  • Timer的使用,怎么避免循环引用
  • autoreleasePool的底层实现机制
  • autoreleasePool的底层数据结构,为什么要这么设计
  • iOS中常见的多线程技术
  • 常见的锁,有什么区别
  • 如果让你设计读写锁,你怎么设计

3. RN、flutter、weex:

  • 你怎么看待这些动态化技术
  • RN、flutter以及weex的区别
  • RN怎么和native通信的

二面

  1. 算法: 山脉数组找目标值(要求logN的时间复杂度)
  2. QA发现了一个按钮无法响应点击事件,可能是什么原因导致的(说了五种情况好像没有答到面试官要的点)
  3. iOS响应者链,怎么寻找最合适的响应者,如果为nil会怎么办
  4. frame和bounds的区别
  5. 如果bounds的origin不是00会怎样
  6. 你平常用过Charles么,说说Charles的抓包原理
  7. Charles能抓HTTPS么,怎么实现
  8. HTTPS怎么建立连接的
  9. 中间人攻击,怎么避免
  10. 多线程一般会有什么问题,请举个例子
  11. 为什么会造成上述问题以及解决方案
  12. 主队列和主线程的关系
  13. 全局并发队列一定在主线程上运行的么
  14. 项目相关,用了什么技术,有哪些难点,怎么处理的

三面

  • 自我介绍
  • 为啥想看机会
  • 聊了下项目
  • 怎么看待RN、Flutter
  • 平常有看过什么技术书籍吗
  • 有看过开源框架吗
  • 工作中遇到最难的事情后面是怎么解决的
  • 有什么想问的么

收录:原文地址