字节十三面(附面经),终于战胜...(下)
字节客户端,流转番茄、剪映、抖音、飞书等多个部门,历经十三次面试,终于拿下。前六面面经见上篇,记录下后续面经:
七面(1h45min)
1. 自我介绍
2. 实习项目
3. 介绍下实习的项目架构
4. 讲讲对Compose声明式的理解
5. java强引用和弱引用的区别
6. 还有其他引用类型吗
7. ThreadLocal
8. 你平常有什么遇到的ThreadLocal的应用场景
9. java集合类型(介绍各种集合,吟唱List、Map、Set)
10. 集合多线程访问数据竞争问题怎么解决
11. synchronized的用法
12. LeakCanary检测内存泄漏的机制
13. MVVM、MVP、MVC三种架构的区别
14. 算法:搜索旋转排序数组
总结:知识点知识面掌握挺不错的,基础知识的细节也了解得比较清楚,实习经历对于一个还没毕业的本科生来说还是不错的。过
八面(1h)
1. 项目拷打
2. 不使用ksp开发的监测组件有什么办法定位Compose组件执行耗时
3. LeakCanary原理机制
4. OKHttp和Retrofit设计模式(答了七八个主要的)
5. 责任链好处是什么
6. 包大小优化措施,提升了哪些性能
7. 线程和协程的区别
8. 鸿蒙调用cpp是怎么做的
9. 了解什么跨端框架
10. flutter为什么比原生慢
11. flutter和react native在渲染机制上的区别是什么(自绘引擎独立绘制和原生组件映射)
12. kmp是怎么实现跨端的(逻辑层统一编写,UI等原生层各自实现)
13. view事件分发cancel事件什么情况会触发
14. view事件分发流程
15. Binder机制
16. lc.215 数组中第k个最大元素(要求先讲几种不同方法,再实现代码最复杂那个)
(1) 直接排序 O(nlogn)
(2) 优先队列(最小堆)O(logn)
(3) 快速选择 O(n) 写这个的代码
总结:没什么问题,秒过,进入hr面(最后倒在审批,原因是手头的offer不够多很难争取)
九面(hr面45min)
压力很大,像是在面技术面
1. 自我介绍
2. 为什么选择就业而不是考研
3. 工作室有什么项目需要做
4. 项目为什么做了一年(业余时间开发)
5. 项目的动机、背景
6. 还在实习吗(转正离职了)
7. 挑一个实习工作讲一下背景和做了哪些事情
8. 技术优化是谁提出来的,leader提出的还是自己找到的
9. 做完需求的成长和进步体现在哪里
10. 独立开发sdk提效是谁给你的建议吗
11. 除了技术问题还有遇到其他困难吗(联调沟通)
12. 一开始不使用联调的原因是什么,打乱工作节奏吗
13. 做好一个程序员,除了技术上扎实,还需要基本什么样的素质和能力
14. 沟通上有什么心得,可以提高工作效率
15. 有遇到矛盾和分歧吗,怎么解决的
16. 在团队中工作影响你产出的阻碍和困扰有什么
17. 新的UI框架你是花多久学清楚的
18. mentor对你的评价是什么
19. 组内几个实习生,都转正通过了吗
20. 和其他实习生相比你的优势在哪里(来得早,知识面多)
21. 你有想过未来规划怎么样长期保持自己的优势吗(自驱力,持续学习)
22. 跨端方面你觉得哪家公司做得比较好(腾讯视频)
23. 你们组的跨端方案跟腾讯视频比有什么差距吗
24. 对字节校招面试的感受是怎么样的
25. 你是从其他部门流转过来抖音搜索的,对该部门面试的感受是什么
26. 有反思该部门二面没通过的原因吗
27. 会有失落和挫折的感受吗
28. 怎么排解失落的心情
29. 现在手头有哪些offer
30. 看你也投了其他非互联网公司,对发展的不同方向有倾向性吗
审批一周还是倒下了,流转其他部门,后续免hr面
后面的面试不怎么问八股了,更多是项目、场景、智力题
十面(30min)
1. 自我介绍
2. 有了解鸿蒙如何与Kotlin通信吗
3. Compose对比常规view的优势是什么
4. Compose局部重组的原理,标脏机制
5. 对最近比较火的ai编程工具有了解吗,像claude这些
6. 了解ai编程的原理吗
7. 现在还在实习吗
8. 什么时候接触安卓的?写过ios,前端吗
9. 你会怎么快速上手ios
10. 编码算法就不考察了,之前面试都写出来了
11. 为啥有微信offer还面其他的
总结:从二面开始,通过了就是三面,大概率也不考算法。过
十一面(1h)
1. 自我介绍
2. 实习介绍
3. Compose局部重组是怎么实现的
4. ai工具你是怎么用的
5. 有没有用过claude code、cursor(需要付费,没用过)
6. agent是怎么实现的,工作原理是什么
7. 你觉得自己比同阶段的同学优势在哪里
8. 最近在学什么
9. 最近比较感兴趣并且学得深一点的是什么
10. Compose什么时候会跳过重组
11. 自己后面有什么规划吗
12. Compose组件封装得更通用有什么思路吗
13. 组件点击事件的响应是怎么扩展的
14. 9枚硬币有一枚是假的,假硬币会轻一点,有一个天平,最少称几次可以找到假硬币
15. 100层楼,有两个瓶子,怎么扔,最坏情况下扔几次可以用最少次数找到瓶子会不会碎的临界楼层(想了几种方案最终只优化到18次的最坏情况)
16. 为什么apk体积比较小了还要优化
17. apk优化方案
总结:客户端经验很丰富,ai了解不够多。一周后挂
十二面(1h)
1. 自我介绍
2. 实习亮点介绍
3. 跨端方案的背景
4. 跨端方案很多,为什么使用c++?写起来方便吗?
5. java和c++是怎么通信的
6. 还了解哪些其他跨端技术
7. 怎么判断哪些代码可以下沉到逻辑复用层
8. 在跨端过程中你做了哪些
9. 举个例子说明哪些代码放在原生层,哪些代码放在复用层
10. 底层数据发生变化是怎么通知上层的?数据驱动是怎么做的
11. 原生层的viewmodel和底层的viewmodel的区别是什么
12. 使用什么手段可以主动发现线上的性能问题(流水线)
13. MVVM的设计思路是什么,和传统MVC、MVP的区别
14. LiveData相对于传统观察者模式有什么优势(生命周期集成)
15. 性能优化的整体思路是什么
16. 优化的收益怎么衡量
17. 怎么分组快速发现新改动的性能问题(AB实验)
18. 安卓内存泄漏的场景
19. kotlin协程的理解
20. 多线程读取数据可能会有哪些问题,可以通过什么方式避免
21. 100瓶水,有1瓶是毒药,喝了1天后会毒发,最少多少只小白鼠和最短几天可以测出来(二进制编码)
22. 之前考了很多笔试了,就不考了,开始反问
依然是从二面开始。过
十三面(1h10min)
1. 自我介绍
2. 实习介绍
3. 介绍几个技术上挑战比较大的,提升比较多的
4. 介绍下java和c++通信的细节
5. 数据转换有性能上的问题吗
6. C++和Kotlin/Java的差异有哪些
7. SQLite使用有遇到存储和删减导致数据库文件庞大的情况吗
8. 数据库索引是怎么提高查询速度的,原理是什么
9. 除了xml解析还有没有看过其他三方库的源码
10. okhttp的架构是怎么设计的,有哪些印象深刻的设计,哪些觉得设计得不够好的
11. 场景:微信朋友圈滑动卡顿,会怎么分析
12. 卡顿是由于什么引起的
13. 图片加载过多为什么会引起卡顿(频繁gc)
14. 怎么解决频繁gc的卡顿问题
15. 设计一个图片缓存库,会怎么设计(三级缓存)
16. 不同尺寸、分辨率的图片怎么标识(key怎么设计)
17. 不同尺寸的同一张图片怎么关联起来
18. 内存缓存图片的淘汰思路
19. 图片在磁盘的存储思路(包括图片命名,文件夹命名,图片查找策略等等)
20. 图片在磁盘的淘汰策略(包括使用频率记录方法、关联其他图片、删除方法、直接删一半空间的策略等等)
最后的场景被拷打麻了。。。已经不知道自己是谁了
最终等了一周还是通过了。
谨以此贴记录字节面试经历,也希望能带给后来人一些参考
#字节求职进展汇总#
#秋招#
#字节#
#面经#
七面(1h45min)
1. 自我介绍
2. 实习项目
3. 介绍下实习的项目架构
4. 讲讲对Compose声明式的理解
5. java强引用和弱引用的区别
6. 还有其他引用类型吗
7. ThreadLocal
8. 你平常有什么遇到的ThreadLocal的应用场景
9. java集合类型(介绍各种集合,吟唱List、Map、Set)
10. 集合多线程访问数据竞争问题怎么解决
11. synchronized的用法
12. LeakCanary检测内存泄漏的机制
13. MVVM、MVP、MVC三种架构的区别
14. 算法:搜索旋转排序数组
总结:知识点知识面掌握挺不错的,基础知识的细节也了解得比较清楚,实习经历对于一个还没毕业的本科生来说还是不错的。过
八面(1h)
1. 项目拷打
2. 不使用ksp开发的监测组件有什么办法定位Compose组件执行耗时
3. LeakCanary原理机制
4. OKHttp和Retrofit设计模式(答了七八个主要的)
5. 责任链好处是什么
6. 包大小优化措施,提升了哪些性能
7. 线程和协程的区别
8. 鸿蒙调用cpp是怎么做的
9. 了解什么跨端框架
10. flutter为什么比原生慢
11. flutter和react native在渲染机制上的区别是什么(自绘引擎独立绘制和原生组件映射)
12. kmp是怎么实现跨端的(逻辑层统一编写,UI等原生层各自实现)
13. view事件分发cancel事件什么情况会触发
14. view事件分发流程
15. Binder机制
16. lc.215 数组中第k个最大元素(要求先讲几种不同方法,再实现代码最复杂那个)
(1) 直接排序 O(nlogn)
(2) 优先队列(最小堆)O(logn)
(3) 快速选择 O(n) 写这个的代码
总结:没什么问题,秒过,进入hr面(最后倒在审批,原因是手头的offer不够多很难争取)
九面(hr面45min)
压力很大,像是在面技术面
1. 自我介绍
2. 为什么选择就业而不是考研
3. 工作室有什么项目需要做
4. 项目为什么做了一年(业余时间开发)
5. 项目的动机、背景
6. 还在实习吗(转正离职了)
7. 挑一个实习工作讲一下背景和做了哪些事情
8. 技术优化是谁提出来的,leader提出的还是自己找到的
9. 做完需求的成长和进步体现在哪里
10. 独立开发sdk提效是谁给你的建议吗
11. 除了技术问题还有遇到其他困难吗(联调沟通)
12. 一开始不使用联调的原因是什么,打乱工作节奏吗
13. 做好一个程序员,除了技术上扎实,还需要基本什么样的素质和能力
14. 沟通上有什么心得,可以提高工作效率
15. 有遇到矛盾和分歧吗,怎么解决的
16. 在团队中工作影响你产出的阻碍和困扰有什么
17. 新的UI框架你是花多久学清楚的
18. mentor对你的评价是什么
19. 组内几个实习生,都转正通过了吗
20. 和其他实习生相比你的优势在哪里(来得早,知识面多)
21. 你有想过未来规划怎么样长期保持自己的优势吗(自驱力,持续学习)
22. 跨端方面你觉得哪家公司做得比较好(腾讯视频)
23. 你们组的跨端方案跟腾讯视频比有什么差距吗
24. 对字节校招面试的感受是怎么样的
25. 你是从其他部门流转过来抖音搜索的,对该部门面试的感受是什么
26. 有反思该部门二面没通过的原因吗
27. 会有失落和挫折的感受吗
28. 怎么排解失落的心情
29. 现在手头有哪些offer
30. 看你也投了其他非互联网公司,对发展的不同方向有倾向性吗
审批一周还是倒下了,流转其他部门,后续免hr面
后面的面试不怎么问八股了,更多是项目、场景、智力题
十面(30min)
1. 自我介绍
2. 有了解鸿蒙如何与Kotlin通信吗
3. Compose对比常规view的优势是什么
4. Compose局部重组的原理,标脏机制
5. 对最近比较火的ai编程工具有了解吗,像claude这些
6. 了解ai编程的原理吗
7. 现在还在实习吗
8. 什么时候接触安卓的?写过ios,前端吗
9. 你会怎么快速上手ios
10. 编码算法就不考察了,之前面试都写出来了
11. 为啥有微信offer还面其他的
总结:从二面开始,通过了就是三面,大概率也不考算法。过
十一面(1h)
1. 自我介绍
2. 实习介绍
3. Compose局部重组是怎么实现的
4. ai工具你是怎么用的
5. 有没有用过claude code、cursor(需要付费,没用过)
6. agent是怎么实现的,工作原理是什么
7. 你觉得自己比同阶段的同学优势在哪里
8. 最近在学什么
9. 最近比较感兴趣并且学得深一点的是什么
10. Compose什么时候会跳过重组
11. 自己后面有什么规划吗
12. Compose组件封装得更通用有什么思路吗
13. 组件点击事件的响应是怎么扩展的
14. 9枚硬币有一枚是假的,假硬币会轻一点,有一个天平,最少称几次可以找到假硬币
15. 100层楼,有两个瓶子,怎么扔,最坏情况下扔几次可以用最少次数找到瓶子会不会碎的临界楼层(想了几种方案最终只优化到18次的最坏情况)
16. 为什么apk体积比较小了还要优化
17. apk优化方案
总结:客户端经验很丰富,ai了解不够多。一周后挂
十二面(1h)
1. 自我介绍
2. 实习亮点介绍
3. 跨端方案的背景
4. 跨端方案很多,为什么使用c++?写起来方便吗?
5. java和c++是怎么通信的
6. 还了解哪些其他跨端技术
7. 怎么判断哪些代码可以下沉到逻辑复用层
8. 在跨端过程中你做了哪些
9. 举个例子说明哪些代码放在原生层,哪些代码放在复用层
10. 底层数据发生变化是怎么通知上层的?数据驱动是怎么做的
11. 原生层的viewmodel和底层的viewmodel的区别是什么
12. 使用什么手段可以主动发现线上的性能问题(流水线)
13. MVVM的设计思路是什么,和传统MVC、MVP的区别
14. LiveData相对于传统观察者模式有什么优势(生命周期集成)
15. 性能优化的整体思路是什么
16. 优化的收益怎么衡量
17. 怎么分组快速发现新改动的性能问题(AB实验)
18. 安卓内存泄漏的场景
19. kotlin协程的理解
20. 多线程读取数据可能会有哪些问题,可以通过什么方式避免
21. 100瓶水,有1瓶是毒药,喝了1天后会毒发,最少多少只小白鼠和最短几天可以测出来(二进制编码)
22. 之前考了很多笔试了,就不考了,开始反问
依然是从二面开始。过
十三面(1h10min)
1. 自我介绍
2. 实习介绍
3. 介绍几个技术上挑战比较大的,提升比较多的
4. 介绍下java和c++通信的细节
5. 数据转换有性能上的问题吗
6. C++和Kotlin/Java的差异有哪些
7. SQLite使用有遇到存储和删减导致数据库文件庞大的情况吗
8. 数据库索引是怎么提高查询速度的,原理是什么
9. 除了xml解析还有没有看过其他三方库的源码
10. okhttp的架构是怎么设计的,有哪些印象深刻的设计,哪些觉得设计得不够好的
11. 场景:微信朋友圈滑动卡顿,会怎么分析
12. 卡顿是由于什么引起的
13. 图片加载过多为什么会引起卡顿(频繁gc)
14. 怎么解决频繁gc的卡顿问题
15. 设计一个图片缓存库,会怎么设计(三级缓存)
16. 不同尺寸、分辨率的图片怎么标识(key怎么设计)
17. 不同尺寸的同一张图片怎么关联起来
18. 内存缓存图片的淘汰思路
19. 图片在磁盘的存储思路(包括图片命名,文件夹命名,图片查找策略等等)
20. 图片在磁盘的淘汰策略(包括使用频率记录方法、关联其他图片、删除方法、直接删一半空间的策略等等)
最后的场景被拷打麻了。。。已经不知道自己是谁了
最终等了一周还是通过了。
谨以此贴记录字节面试经历,也希望能带给后来人一些参考
#字节求职进展汇总#
#秋招#
#字节#
#面经#
全部评论

接好运
相关推荐
查看23道真题和解析 点赞 评论 收藏
分享
查看20道真题和解析 点赞 评论 收藏
分享
点赞 评论 收藏
分享
