iOS校招面经大杂烩 | 腾讯字节虾皮百度美团等

在牛客收获了非常多前辈的经验,给我的招聘季很大的助力,趁着学校开分享会把秋招记录的面经整理一下发出来,回馈牛客。
也给80天没更新的iOS面经区一点生机哈哈哈哈
祝看到这个帖子的你春/秋招顺利,offer多多~

个人情况

武汉某不知名985本科生,暑期时零基础在字节做iOS开发方向的实习,后续没有转正,投了字节、腾讯、阿里、网易、腾讯音乐、美团、百度、shopee的秋招,均为iOS岗位,由于自己有录音复盘的习惯,记录了这些公司的面经

offer情况

以下未标明凉的都拿了意向,最后选择去了wxg

腾讯音乐 二面凉

9.8 19.00-20.20 一面

两道算法 30min

  • lc142 环形链表II 求环入口公式怎么推导

  • lc743 网络延迟时间 经典Djistra 没做出来

聊项目 20min

iOS

  • APP的生命周期

  • 了解什么OC底层原理,说了runtime,类对象,KVC、KVO原理

  • 用过方法交换吗

计算机基础

  • 进程和线程区别,介绍一下协程

  • 虚拟内存机制,虚拟内存有哪些分区,全局变量在哪个区

  • 内存抖动了解吗

  • 死锁的条件,如何解除和避免死锁

  • 并发和并行

  • 程序从编译到执行的步骤,其中编译这一步的产物是什么

  • TCP如何保证可靠性,讲讲流量控制,两次握手会有什么问题

9.14 二面 前面问题没答出来,面完秒凉

介绍项目10min

没追问项目细节,只问了两个问题,都答得很不好

  • 用到了播放器,了解视频播放的原理吗

  • 用了网络请求,让你实现这个库怎么实现

一堆八股

百度

一天面完一二三面 9.12 15.00-17.00

一面

  • 聊项目15min

  • 进程和线程,进程通信,socket

  • 五层网络模型,有哪些协议

  • HTTPS过程,HTTPS握手应该如何优化,HTTPS验证的关键点是什么,Charles抓包是什么原理

  • TCP和UDP

  • 算法:快排

二面

项目15min

iOS

  • OC为什么是动态语言,消息发送和消息转发的流程

  • KVO原理

  • MRC的特点,ARC什么时候添加自动计数

  • delegate 有什么优点

  • 怎么理解MVC

  • 自动布局原理,自动布局好处

  • 讲讲C++的多态,OC中的多态如何实现

计算机基础

  • HTTPS,TCP

  • 哈希表的结构,哈希表如何解决冲突,其中拉链法如何优化

  • 了解哪些锁,讲一讲具体区别,如何设计线程安全的NSMutableArray

  • 单例,单例会有什么问题(除了加锁可以解决的),多进程如何保证单实例

  • 面向对象特点,面向对象设计原则和思想

  • 了解组合吗

  • 怎么学习iOS的,如何设计微信聊天界面

算法:atoi

三面

  • 聊项目+各种各种个人素质问题,无技术问题

美团 到家

一面 9.10 19.30 记不清了...

二面 9.17 19.30-20.00

  • 数组下标查找的原理,NSArray如何实现O(1)查找的

  • 状态码304、403遇到过吗

  • GET的body可以放数据吗,POST如何传输数据的

  • 如何理解UIWindow,可以有多个UIWindow吗

  • 聊项目,遇到了什么难点

腾讯 wxg

录音没录上,只记得一些重点

一面 9.15 19.00-20.00

  • 聊项目细节,挖的很深

  • 算法lc863 二叉树中所有距离为 K 的结点,20min写完分析复杂度

  • ios中进程和线程如何体现,用过哪些多线程的类和方法

  • 看一段GCD代码说输出,同步函数主线程死锁,讲为什么死锁

面委一二面 9.22 20.00-22.30

一面

  • 聊项目

  • 课内做过印象最深刻,最难的是啥

  • 自己平时有钻研什么小技术或者有什么做过的小产品

  • 一些八股,OS、C++

  • 职业规划

二面

  • 聊项目

  • OC和C++的区别

  • 一些八股,计网、C++、OC

  • 为什么多进程和多线程都需要有,分别是什么场景用

  • 平衡二叉树和红黑树的使用场景

  • 单核CPU上,设计一个CPU占有率保持50%的程序

  • 不动类内的代码,如何从类外访问一个类的私有成员,多说几种方法

  • 智力题 3L和5L杯子搞出4L水

shopee

常见八股不说了...记录一些印象比较深的

一面

  • 简单讲一讲项目

  • 几乎都是八股

  • 两个算法:字符串判断等同和LRU

二面

  • 自我介绍,没让讲项目

  • 讲讲自动释放池的机制

  • 为什么数据库的表需要有主键

  • dispatch_async会不会阻塞,会不会开新线程

  • 任务C需要在任务AB都完成后执行,GCD有哪些方法,越多越好

  • 算法:又是LRU...写完说,一面做过一遍了啊,那再来个快排吧

  • UI卡顿都有哪些原因,越多越好

网易 云音乐

一面

iOS

  • copy修饰符

  • 类型检查

  • OC消息发送和转发

  • isa指针

  • delegate如何实现一对多

  • 响应者链

  • 离屏渲染

计算机基础

  • CPU是如何调度多线程的

  • 进程和线程的区别

  • HTTP请求大文件,服务端和客户端可以怎么优化

  • HTTPS原理,抓包的关键,安装了证书仍然乱码是什么原因

  • 口述算法:链表找环的入口

二面

  • 如何学习OC的,有什么印象深刻的底层原理

  • main里面有一个函数,此函数在目标文件里是怎样的

  • 多线程对临界变量进行++,多核和单核的结果概率分布有什么区别

  • HTTP的发展,其中1.1长连接时多个请求串行还是并行,为什么

  • HTTP2.0的多路复用具体是什么

  • 用assign修饰可变的集合类,有什么问题

  • block动画是如何实现的

字节 抖音直播

一面

  • 项目

  • Xcode有什么监控性能工具

  • UIScrollView如何实现滑动

  • frame和bounds

  • cell复用机制的理解

  • 自己设计一个tableview,用什么数据结构实现复用

  • 了解哪些锁,有什么区别

  • 并行和并发

  • POST和GET

  • HTTPS

  • 三次握手

  • 管线化、多路复用

  • 滑动窗口

  • 算法:找链表环入口

二面

  • 算法:最大整数

  • 读C语言代码说报错和输出

  • 寻址方式,淘汰算法

  • MRC、ARC

  • C++智能指针

  • extern函数的原理,在编译还是链接时

  • MVC、MVVM

  • 如何实现读写锁

  • UIView和CALayer

  • 为什么UI要在主线程

  • 一个UI操作到更新到屏幕上经历了哪些

  • GCD了解哪些

  • 项目

三面

  • 项目

  • tableview

  • 委托代理模式的优点

  • 了解哪些设计模式,细讲

  • KVO原理

  • 怎么实现UI容器类

  • button加上tapgesture,哪个会响应

  • 响应者链

  • runloop

阿里

一面 挂

  • 项目

  • runtime,消息转发

  • iOS崩溃监测和CPU啥啥了解吗

  • 原生与h5交互了解吗

  • VCpush生命周期

  • HTTPS

#2021秋招##腾讯##百度##Shopee##网易##面试题目#
全部评论
好难啊感觉
1 回复 分享
发布于 2021-12-05 15:26
可见iOS岗并不缺人
7 回复 分享
发布于 2021-12-04 16:11
哈哈哈哈都是华科校友,帮顶
2 回复 分享
发布于 2021-12-06 02:13
好家伙,我社招都没这么狠
2 回复 分享
发布于 2022-01-04 10:32

相关推荐

10-24 16:09
已编辑
途虎_前端
途虎
|
校招
|
41个岗位
点赞 评论 收藏
分享
10 58 评论
分享
牛客网
牛客企业服务