字节抖音 iOS 客户端实习 123hr 面 面经
1 面
自我介绍
项目里的困难
使用过哪些设计模式
讲一下 MVC
MVVM
TCP 三次握手四次挥手
为什么是三次握手四次挥手
介绍分析学过的所有排序算法
排序的稳定性指的是
数组和链表
有什么数据结构可以兼顾数组和链表的优点
讲一下进程和线程
iOS 点击事件处理
内存泄漏和内存溢出是什么
使用 block 的内存泄漏
写一下冒泡排序
给定数组和 k,求数组中 k 个连续元素和的最大值
(反问)部门的业务内容
2 面
自我介绍
项目里的印象深刻的困难
为什么选 iOS
怎么捕获点击事件
(比划)A 的子视图 B,B 里有一个按钮 C,C 的显示范围超出了 B,点击超出范围的 B 会有响应吗
响应者链的体系
OC 写一个 Person 类,拥有外部只可读的 name,外部可读写的 age 两个属性,提供 initWithName 的初始化方法,保证两个 Person 的相等只需要两个 Person 的 name 相等
苹果公司为什么设计 UITableView 有 dataSource 和 delegate
UIView 的继承关系
isa 指针是什么
UIController 和 UIResponder 的关系(二面没答好三面又问了)
介绍 NSNotification,如何使用
block 是什么
block 可以视作一个对象吗
面向对象编程
说 OC 和 C++是面向对象编程语言,C 语言则不是的根本原因
什么是隐式动画
算法题:给一个数组和 k,从数组里找三个数的和最接近 k 并返回
3 面
各种项目细节
觉得前两面怎么样
什么契机选择 iOS
看了哪些书
storyboard 的原理
UIController 和 UIResponder
点击屏幕到响应事件的流程是怎样的
iOS 内存管理
为什么说 block 和对象相互持有
类比其他语言(C++)的内存管理
iOS 动画
TCP 的慢启动过程
WEB 页面解析过程
学校里计算机网络实验做了什么
多线程需要注意什么
怎么保证线程安全
反问环节:实习生的培养规划
hr 面
各种家长里短,复盘前三轮面试、有接触其他技术栈吗、在校学习情况、职业选择与规划以及入职时间等等……整个过程还是比较轻松的。
资料推荐
如果你正在跳槽或者正准备跳槽不妨动动小手,添加一下咱们的交流群101 295 1431来获取一份详细的大厂面试资料为你的跳槽多添一份保障。
评论