百度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么?

聊天

  • 画一个你的人生轨迹
  • 说说如何提升自己
  • 说一个你最欣赏的人
  • 说一个你最讨厌的人
  • 最近有看什么书籍?
  • 看的书给你带来了些什么?