字节iOS客户端抖音隐私合规一二三hr面
一面 3.25(1h30min)
1.自我介绍
2.什么时候接触iOS开发,学习路径
3.属性修饰符,nonnull这些也问了,strong,weak的区别,copy
4.strong和copy一样吗
5.assign的语义,答的和weak的区别
6.weak是怎么实现的,有没有性能问题
7.一个局部变量是什么时候释放的,autorelease什么时候释放
8.pod对应的产物是什么,自己有没有编写过library
9.程序到可执行文件的过程,链接过程都干了啥
10.静态库和动态库各自的好处
11.响应者链条,一个view不响应的原因,以及为什么
12.hitTest和pointInside的关系
13.叠在一起的两个view,哪个会响应,如果不想让上面的view响应,怎么解决?如果两个view都要响应,怎么做
14.GCD介绍下
15.iOS有哪些多线程的方法(四种)
16.项目中哪一块用到了GCD
17.dispatch的问题,会输出什么
NSLog(@"1"); dispatch_async(dispatch_get_main_queue(), ^{ // 如果把这里改成globalQueue,又会输出什么 NSLog(@"2"); } NSLog(@"3");
18.线程和队列的关系
19.自旋锁和互斥锁的区别
20.锁和信号量的关系
21.信号量有什么功能是锁做不到的
22.项目中有没有用过锁,锁有哪些
23.在整个面试的过程中,可能会用到哪些协议,都在哪几层
24.为什么视频会议用UDP
25.如果用TCP实现音视频,需要建立几次连接
26.用UDP实现音视频,有什么方法可以保证通话质量
27.DNS为什么用UDP,为什么不用TCP
28.HTTP和HTTPS的区别
29.HTTPS用到哪些加密算法
30.HTTPS的建立过程
31.两个算法题,一个是给定两个整数数组A和B,A只比B多一个元素,其它元素都一样,找出多的那个元素;另一个是两个UIView找到第一个公共父View
32.反问环节
二面 3.29(1h)
- 一个图片在计算机中是怎么存储的,占多大内存
- 如果发现微信和qq都可以正常使用,但是浏览器网页打不开,可能是什么原因,有什么排查的办法
- DNS解析的过程
- HTTPS和HTTP的区别,用了哪些加密技术
- HTTPS比起HTTP有什么缺陷
- 一个文件有哪些属性,怎么获取(文件描述符)
- 用户态和内核态,什么时候用户态会转为内核态
- 进程间的通信方式
- 线程间的通信方式
- 有哪些锁,自旋锁和互斥锁的区别
- 考了一个题目,一个线程打印奇数,一个线程打印偶数,从1-100
- 打印一个View的所有子View,要求分层打印
- top-k大的数,答快排思想,时间复杂度(O(n))
三面 4.2(1h)
- 聊项目
- 虚拟内存,干嘛用的,有什么作用
- 页表在linux中怎么用的,页式、段式、段页式聊了聊
- 你是怎么理解页表的
- 二级页表是什么
- 一个程序当中的地址是虚拟地址还是物理地址
- 拿到一个虚拟地址后,怎么转成物理地址
- 听没听说过TLB
- 一次寻址过程会访问几次内存
- MVC介绍一下,会有什么问题
- model会持有view吗
- MVC的controller繁琐的问题怎么解决
- 了不了解MVVM,了不了解响应式编程
- 消息机制介绍一下
- hook一个方法有什么途径
- TCP和UDP的区别
- 有人认为TCP一定比UDP更快,你怎么认为
- 流量控制和拥塞避免的区别
- 在高宽带、高丢包的情况下,怎么保证TCP的性能
- 什么情况下发送方的滑动窗口会后移
- 算法题,给一个链表,有环的话输出环的入口,没有环输出nullptr
- 反问环节
hr面 4.3(30min)
- 后续规划
- 会不会考虑转正
- 还有哪些公司在流程中
- 其他公司面得怎么样
- 项目是几个人完成的,你主要是什么工作,项目当前的进展
- 项目中挑战最大的点
- 遇到问题一般怎么解决
- 是怎么学习iOS开发的
- 前几次面试的感受
- 其他公司的部门怎么样
- 知不知道我们这边的业务是什么,有什么了解
- 压力比较大的时候是什么
- 保研计划是什么时候开始的,怎么做的
- 怎么平衡学习和科研
- 项目中遇到意见分歧的时候是怎么解决的
- 有什么兴趣爱好
- 你自己能给公司带来什么,有什么优劣
- 实习的目的是什么
- 对字节的印象
- 能不能全勤
- 最早什么时候能来
- 反问
4.6晚发了offer。
开了一个个人wx公众号:iOS开发学习
来记录找实习和秋招过程中的一些经验,欢迎关注 :)
#字节跳动iOS面经##面经##iOS##实习##校招#学习iOS开发 == 手握大厂offer