字节面经-字节跳动后端开发岗面经-12
- 时间
- 2026-08
- 来源
- 牛客网
《面试题目》
- 手撕:合并两个有序数组
- 发送一个朋友圈,从发出到别人看到,从数据流转的角度说一下会经历哪些过程
- 快手低端机性能优化专项中,你负责的具体工作是什么?
- 安卓系统的 AOT 编译是什么时候执行的?
- 强制 AOT 编译如何提升 APP 运行性能?
- Glide 图片加载库的三级缓存机制中,活动缓存和内存缓存的区别是什么?
- 快手智能音量调节需求的核心逻辑是什么?
- 计算音量分贝值的公式和关键步骤是什么?
- Java 中接口和抽象类的区别是什么?
- Java 的四大引用?
- Java 垃圾回收机制中,死亡对象的判断方式有哪些?
- 快手实习中,反编译抖音源码并进行网络抓包的具体流程是什么?
- 除了修改源码的方式,还有哪些中间人攻击手段可以绕过 CA 证书校验?
- 如何设计方案防止 APP 被抓包和破解?
- TCP 三次握手的具体过程是什么?
- 为什么用BM25,BM25怎么实现?
- docker镜像一般都怎么做的?
- 有装过这个docker的这个软件吗?
- 用过K8s吗,Deployment的yaml文件怎么写的,分为几个部分?
- 你怎么理解无状态跟有状态?
- Deployment里面是怎么去声明文件的使用跟限制啊?
- 讲一下docker的一些核心的一些概念,还有工作原理。
- 介绍下实习的项目架构
- 你两个练手项目中遇到过什么难点?
- 缓存不一致出现的场景、原因及具体解法是什么?
- 先更新数据库再删除缓存的策略,存在哪些边界 case?
- 延迟双删的第二次删除是在什么时候?
- 删掉缓存后,只允许第一个请求读数据库并更新缓存,其他请求被锁住,这个设计是为了实现什么?
- 构建缓存的请求失败了怎么办?
- 为什么选择让未拿到锁的请求直接返回旧数据,而不是让它们等待锁或重试?
- 有三条语句如何创建最优索引 条件大概是:(id=?
- 手撕:无重复字符最长子串;
- 总结:前期聊的不错,近50分钟才开始写题;滑动窗口这段时间确实没碰,一开始思路就错了,设计了两个用例过了,第不过三个死活不通过,over?
- 1)进程与线程的区别?
- 手撕二叉树之字型层序遍历
- 怎么权限判断:查ID匹配。慢怎么办?
- 过程中安全怎么做?
- 说一下浏览器从你输入域名访问后整个网络发生了什么?
- 介绍一下RecycleView
- 讲讲UDP TCP的区别
- 讲讲volatile和synchronized底层,用了他们之后在内存是怎么走的?
- redis会多少?
- 那你们用的是redis分布式锁对吧,那我问你一下,不用redis怎么做分布式锁?
- 不用任何组件如何做分布式锁?
- 不用任何组件,如何做分布式限流?
- 介绍一下mapreduce的过程,
- 介绍一下flink,
- 对于你的这个实习项目,你觉得有什么难点吗?
- 你能讲讲你在设计这个组件的时候是怎么分析的吗?
- 除了这个方案,你有排除过其它方案吗?
- 这里的无状态设计指的是什么?
- 你们的下游会不会重复消费你产生的日志?
- 缓存雪崩和缓存穿透是什么?
- 还有没有其它解决方法?
- 你对工作的预期是什么?
- 代码和开发跟着谁学的?
- 简单介绍下两个项目,解决了什么问题。
- 你说的这些事情是网上教程学的还是自己设计的?
- 那它在生活中解决了什么问题?
- 另一个生活服务项目(黑马点评)是做什么的?
- 讲一下缓存击穿和缓存穿透及其解决办法有哪些?
- 开发组件时有没有遇到过 受控(Controlled)/ 非受控(Uncontrolled) 的场景?
- 如果 value 和 defaultValue 同时传入,组件内部如何处理?
- 做基础组件时有没有考虑 键盘操作(Accessibility)?
- 键盘事件是 监听在哪个元素上 的?
- 元素 没有聚焦(focus)怎么会有键盘事件?
- 讲一下你的项目吧
- 你的项目涉及到的模型是你们公司自己做的还是用的GPT这些?
- 平时你在公司主要负责的业务是什么?
- 讲一下你这个GraphRAG的具体实现流程吧,
- 你是怎么量化成果的?
- 有没有基本的后端开发经验?
- 手撕题:有效的字母异位词easy
- subagent,mcp,skill,function calling的区别?
- 线程进程的区别?里面具体有哪些东西?
- 虚函数,在一个类的构造函数和析构函数里面执行其他类的虚函数会有什么问题?
- 虚函数的底层实现原理是?
《参考解析》
- 算法题先明确边界条件与不变量,再选择合适的数据结构;双指针、哈希表、递归/迭代是常见工具,目标是把复杂度控制在线性或对数级别。
- 这类问题建议结合自己的项目经历和岗位要求准备具体案例,突出思考过程而非死记结论,面试官更看重解决问题的逻辑。
- 介绍项目时应说明背景、个人分工、遇到的技术难点及解决方案,并量化收益(性能提升、成本下降等),便于面试官追问细节。
- 进程是资源分配的基本单位,线程是CPU调度的基本单位,协程是用户态的轻量级调度单位,切换成本远低于线程,但需要语言/运行时支持。
- 产品设计题应先明确目标用户和场景,再拆解可衡量的指标(如转化率、留存率),最后给出可执行的方案并说明如何验证效果。