字节 8.19 后端开发秋招一面面经
- 时间
- 2026-08
- 来源
- 牛客网
《面试题目》
- 三年来第一次过了字节的一面,之前每次都是一面挂,并且面评脏完,说明你最近确实变强了很多了。
- 问我微软的一个spark session复用怎么做的,背景,好处,收益,难点,然后问我你知道spark底层里哪些可以复用吗,我说我之前做的时候知道,现在不太记得了,然后说你这里用了redis,能不能讲讲redis怎么水平拓展的,有哪些方式,我说主从模式,哨兵模式,redis cluster,然后他问了这些东西分别有什么优劣,我将三个进行对比,然后架构的递进,然后给我出了一个场景题,设计那个redis机器水平拓展以及怎么对应相应的slot,反正需要对这个彻底理解,我答的还不错感觉
- 上面那个里面你用了lua防止vcore超卖,他说你知道redis里除了lua之外还有什么能够完全替代lua的效果吗(这里对分布式锁的理解很深刻),然后jvm里有什么类似的方法吗(我答了cas syschnized之类的,并且将他们最底层的原理和场景都答了出来,这是因为上次被拼多多拷打了之后专门去了解的
- 开始做题了
- 问了我cr agent怎么设计的,然后出现问题怎么收敛的,我这个怎么保证断点可续的,我统统回答了出来,因为这个东西我自己设计的
- 我的那个cr agent里有metaharness,让我介绍一下我的metaharness,然后问deepseek harness和我的这个meraharness都是干嘛的,哪个更能够收敛,我也回答出来了
- 过了一小时了,准备反问,他准备反问的时候又继续说对了,我还想问问你的cr agent的一些东西,然后又继续说了说。
- 反问:我说我之前每次字节都是一面挂,我想请问一下您觉得我有什么地方需要改进吗。他说你今天的整体回答都是比较符合我想要的答案,agent先不谈,因为这东西变化的太快了,如果非要说的话可能就是分布式那块地方答的少了点(就是因为第三条那里lua那块地方,实际上我觉得是他题目没有讲清楚,我回来重新彻底了解了一下,对整个的分布式锁还有原子性之类的又彻底系统整理了一下,感觉我现在对于jvm里的锁和分布式锁之类的已经通过拼多多和字节的面试彻底学明白了,下次面试我直接输出,面试官肯定会觉得我很懂😁
- 第二天上午通知二面,能过一面我已经没有什么遗憾了,剩下的就是好好发挥自己的能力吧。我感觉我现在面试就是还是存在一个问题,就是那种小公司我不在乎的反而讲的慢条斯理,落落大方,那种大厂反而因为比较重视就会开始语速过快,我还在想怎么改一下这种情况
《参考解析》
- Redis常用于缓存、分布式锁和计数。缓存与数据库更新通常采用“先写数据库、再删除缓存”,并通过重试、延时双删或消息补偿处理删除失败。
- 并发问题应先明确共享状态和一致性边界,再选择锁、CAS或队列。线程池需要根据任务是CPU密集还是IO密集设置核心线程数、队列容量和拒绝策略,并监控活跃数与队列长度。
- Agent或RAG链路应记录工具调用、检索证据和失败原因;对非法参数、路由错误和超时设置校验、重试上限与可观测日志,避免把模型输出直接当作可信结果。