百度iOS三面面试题
百度一面
切入
- 自我介绍
- 计算机网络
- 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么?
聊天
- 画一个你的人生轨迹
- 说说如何提升自己
- 说一个你最欣赏的人
- 说一个你最讨厌的人
- 最近有看什么书籍?
- 看的书给你带来了些什么?