百度iOS面经 offer
百度一面
切入
- 自我介绍
计算机网络
- OSI七层模型和TCP/IP五层模型
- HTTP和HTTPS的区别?
cao作系统
- 有哪些cao作系统?
- 即时系统和非即时系统的区别?
- 线程的几种状态?
数据结构和算法
- 手撕二叉树层序遍历
- 手撕前K大的数
- 几种排序算法的思想和复杂度?
- logn的复杂度是怎么算出来的?
iOS
- 手动实现观察者模式
- rn,weex,微信小程序的基本了解
- 安卓和iOS系统的区别
- iOS中有哪些常用的传值方法?
- 如何解决controller臃肿问题?
- NSNumber是如何实现的?
百度二面
切入
- 自我介绍
项目
- 说说实习做的SDK具体是干什么的?
- 说说从接到需求到选定技术方案整个过程?
- 说说项目中的难点
C/C++
- 变量的声明和定义有什么区别
- 声明变量会占用存储空间么?
- 变量可以声明很多次么?
- 变量可以定义很多次么?
- sizeof和strlen的区别?
- 写一个计算最小值的标准宏
-
#define和typedef的区别
-
const是做什么的?
- extern是干什么的?
- static关键字有什么作用?
- C++内存管理需要注意什么问题
- C++的内存分区是怎么样的
- 什么是野指针
- 哪些情况下回出现野指针问题
- 什么是指针变量?什么是变量指针?
iOS
- load和initilize方法的异同?
- OC中向一个nil对象发送消息会出现问题么?
- 谈谈MVC设计模式?
- 谈谈观察者模式?
- 写一个工厂模式?
算法和数据结构
- 如果最高效的计算17 * 2?
- 找到链表的倒数第k个结点?
- 10亿个数中找最大的1000个数
百度三面
切入
- 讨论我的名字是否是多音字....
- 自我介绍
项目
- 实习项目的具体内容
- 学校开发的几个项目具体是什么
- 设计一个协议具体是怎样的?如何发现传输的内容被篡改了
- rn和weex
- 为什么不做安卓而做iOS
- 安卓系统和iOS系统有一定差异 如何评价?
- 再给你一次机会,你还会做iOS么?
聊天
- 画一个你的人生轨迹
- 说说如何提升自己
- 说一个你最欣赏的人
- 说一个你最讨厌的人
- 最近有看什么书籍?
- 看的书给你带来了些什么?