非科班转码:211化学本→985材料硕→字节后端开发

我本科某211化学类专业,化工厂的噪声&&毒气&&倒班,让我迫切想要逃离,当时的我以为学术是什么非常高大上的东西,于是考研至某985材料专业,并且在所谓的“国家重点实验室”里。

但是,毕业进高校的时代早已过去,无意义的科研又让我一度陷入迷茫。于是自学java,B站、星球、小林coding、javaguide、面试鸭我都刷过。力扣刷了大概300道。当时觉得,我的每一份努力都是有意义的,我背的八股能用在简历上、面试中。

我的简历整整两页,教育背景部分却只有三行,本硕学校+英语六级(570+)。没有专业课程和绩点,但是写了一堆专业技能,涵盖计算机四大件。没有科研、实习、论文、竞赛,但是写了三个项目。并且我边背八股边修改专业技能,把面试官爱问的直接写上去了。2025年12月开始海投海面,2026年1月面了二十多场(美团、字节、京东、腾讯等等)。

决定转码那时,我凌晨三点可能还在到处找有关转码可行性的帖子,后面我刷了足够多的题,就再也没有那样内耗过了。所以,行动真能战胜焦虑!

现在入职字节一个月了,整理了一下面经。

字节tt一面

一、基础部分(基本熟练吟唱):

1、mysql事务特性、如何实现的、mvcc原理

2、描述一下B+树索引结构

3、mysql两阶段提交过程、目的

二、项目相关:

1、你项目里用到了美团leaf,那你说一下分布式id常见的实现方案(熟练吟唱)

2、项目里分离存储笔记元数据、文本内容的目的 (从性能、扩展性角度解释了一下)

3、rocketmq事务消息的原理(熟练吟唱)

4、rocketmq顺序消息问题:生产者指定哈希Key没问题,但是消费者通过单线程消费性能太低,有什么解决方法吗?(不会。后面发现可以让消费者再次哈希分片到不同内存队列,相同key依然有序)

5、延迟双删基于什么考虑的?

6、同一时间删除了大量key怎么办?(没反应过来。后面发现可以随机化删除时间,类似于缓存雪崩问题。)

7、Zset也属于比较重的数据结构,频繁操作Zset压力过大怎么解决?

8、RAG切片方案有哪些?

9、手撕:

  • 三个线程交替打印1、2、3(秒了,三个线程分别执行三个方法,通过一个flag来标识哪个线程执行)
  • 最长不重复子串的长度 (秒了)

10、如果团队合作时,方案冲突了怎么解决?

反问对我的评价:“基础扎实”

面完后秒约二面

字节tt二面

深挖项目,穿插八股

0、自我介绍

1、挑一个项目从头到尾说

2、你的项目里,如果大量用户请求,有哪些优化方案。 (当时紧张了,就说了一个多级缓存。其实可以从多个角度去说:CDN、nginx、gateway、负载均衡、本地缓存、分布式缓存、并发调下游、分库分表、redis cluster、主从加读写分离、限流降级熔断.......)

3、redis内存不够怎么办?(又紧张了,只说了过期时间,内存淘汰都忘记说了

4、MQ消费失败怎么办、写入多张表怎么保证一致性

5、用Cassandra去存文本内容,那你了解过它的底层原理吗?(还好提前看了LSM树的结构)

6、你项目中流量聚合是在内存中做到,数据丢失怎么办?(有数据对齐服务,满足最终一致性)

7、讨论数据库异地容灾问题,问我北京机房数据怎么同步到上海机房?(没搞懂想问啥,回答直接复制过去,还胡言乱语了一下,说可以通过raft保证一致性。后面发现他可能想听到类似于这样的答案:基于Canal挖掘binlog实时同步MySQL数据到ES。面完后赶紧把这个知识点加在简历上,果然面字节财经的时候问到了mysql主从复制原理)

8、RAG混合检索有什么优点

9、后续若干个项目问题。。。

10、手撕:力扣162. 寻找峰值、说思路(二分法秒了)

11、你对AI coding有什么了解(只说了ai能够生成函数级代码,答得最差的一题,后面被横向两周后挂,大概率就是因为它)

再次反问评价:“非科班能学这么多,感觉你对技术挺有热情”

面完第二天中午约三面

字节tt三面

1、介绍RAG项目(吟唱一半被打断,嫌我太罗嗦了,让我说重点,但我之前就是这么背的,临时总结不出来

2、介绍完项目,面试官对我失去兴趣,直接开始做题:一道原创dp,感觉力扣中等难度级别,类似于力扣的最小花费爬楼梯。二十分钟左右AC。

一周后hr面

字节tt hr面

1、介绍项目以及优化过程(hr面还问项目啊)

2、我看你之前不是计算机相关专业的,为什么考虑转过来?怎么考虑的?考研怎么选择?

3、决定转码也就一年的时间,怎么规划学习的?

4、有没有投递其它岗位(投了腾讯、京东、美团,但是最想去字节),追问为什么?(一顿猛吹。。。)

5、如果offer,到岗时间,实习时长

6、前几轮聊下来对我们的岗位有什么了解吗?

7、职业规划

后续横向对比了两周,挂,立马被推给字节财经

字节财经一面

0、自我介绍

1、说一下java nio原理(不懂,用go的组问我java nio干嘛。。后面发现go的select 、channel和java nio有点像)

2、一万个请求用多少个线程处理比较合适(不懂,说了10个线程)

3、七层网络模型和四层网络模型的区别

4、四次挥手卡在close_wait是为什么(应用层没有调用close方法导致tcp不发送第三次挥手的fin报文)

5、说一下拥塞控制

6、进程和线程的区别?高并发下还能用什么?(说了协程)

7、redis数据类型和应用场景?

8、使用Redis分布式锁会遇到哪些问题?

9、说一下常见设计模式。

手撕:

  • 单例模式,秒了。
  • 两道SQL(一道group by + having过滤,一道topk问题,可以用相关子查询),秒了。
  • 二叉树最近公共祖先(自定义TreeNode,按要求手动构造二叉树),秒了。

10、又问一次对AI coding的了解。

面完秒约二面。

字节财经二面

1、文件分片上传、断点续传怎么做的?

2、混合检索怎么做的,怎么融合多路召回结果,对召回率有什么影响

3、相似度检索的原理(没有了解过)

4、微服务怎么相互调用的?拆分微服务有什么优点和缺点

5、又问一次Cassandra的原理,问lsm树的原理,对比B+树的优缺点(项目写一些奇怪的组件会被连续追问)

6、mysql主从同步原理、同步半同步异步有什么区别。

7、说一下transformer的原理(这不为难我嘛,尝试转移话题,回答:不了解,但是我懂一些agent的原理)

8、那你说agent的原理(说了react模式的原理)

9、第三次问对AI coding的了解.......追问agent skill是什么

10、手撕合并k个有序数组(只刷过合并k升序链表,于是按照类似思路,用最小堆做,十多分钟AC,后面发现用归并排序更简单)

字节财经三面

1、项目为什么要用MQ,线程池也能够做流量削峰

2、限流是怎么做的?限流的redis key是什么?

3、RAG 混合检索召回流程?召回率问题,怎么提高的?

4、prompt的结构?怎么保存历史消息?

5、项目上线、压测、QPS等问题

6、手撕力扣原题:301. 删除无效的括号(非hot100的hard题,有点复杂,但是我运气太好了,一周前刚好刷到这道题,秒了)

offer

无hr面,大概一周后offer

全部评论
最近找实习只有字节给面试,面完二面没消息了
4 回复 分享
发布于 04-04 22:49 北京
+1 我也是211本科天坑专业 + 读研,之前想转码也是看了n篇转码文章,以及知乎上面的可行性,路线,包括问学长学姐,最后也是有一个好去处了
1 回复 分享
发布于 04-07 11:51 北京
佬啥时候入职啊?
点赞 回复 分享
发布于 04-09 20:47 江苏
牛啊
点赞 回复 分享
发布于 04-09 20:18 上海
点赞 回复 分享
发布于 04-07 16:44 辽宁
说得不错,可以看看即答侠,专门做面试实时辅助的AI工具
点赞 回复 分享
发布于 04-07 13:44 美国
勇敢转码,真强!
点赞 回复 分享
发布于 04-07 11:48 北京
八股背了多久
点赞 回复 分享
发布于 04-07 11:44 山东
小某书是吧 rag做的啥啊佬
点赞 回复 分享
发布于 04-07 09:16 江苏
行动战胜焦虑,说的挺好了,我现在就准备换工作边学习准备边焦虑中
点赞 回复 分享
发布于 04-05 17:24 河北
兄弟太牛逼了
点赞 回复 分享
发布于 04-04 23:11 北京
请问算法是acm形式么
点赞 回复 分享
发布于 04-04 22:44 湖南

相关推荐

04-04 14:34
门头沟学院 Java
本人双九硕,结合多份真实面经 + 大量候选人反馈,整理出字节跳动暑期实习面试避坑指南,全是从真实经历中总结的血泪教训,帮大家避开雷区、高效备战!先明确核心前提:字节暑期实习面试,核心考察项目经验、代码能力和实际场景应用,无过多八股,侧重真实能力与逻辑思维,以下是重点避坑点 + 注意事项,全程贴合真实面试场景。一、字节面试核心避坑点(重中之重!)1.面评有 “记忆点”,且永久留存!字节的面试评分的是永久记录,所有面试官都能看到你的历史面评,哪怕换岗位、换账号投递,系统也会自动合并记录,一旦有负面评价(比如态度差、代码不过关),后续再投很难被捞。2.代码考察严格,避坑别踩雷!手撕代码是重点,高频考察无重复字符最长子串、第 K 大、LRU 缓存、反转链表这 4 道题,多集中在一面;且会全程监控切屏(飞书可直接检测),千万别偷偷查答案,一旦被发现,直接挂掉。3.业务岗与研究岗差异大,别投错!业务岗侧重落地执行,代码要求更高;研究岗侧重算法深度,对论文和项目的考察更细致,选错方向会大幅降低通过率,投递前一定要确认岗位类型。4.别盲目 “试错”,拒绝会影响后续!若拿到字节 offer 后又拒绝,短期内再投会被优先过滤;若只是想练手,建议先不投字节,避免留下 “拒绝记录”,影响后续投递。5.基础不牢,再努力也白搭!无论是业务岗还是研究岗,都会重点考察基础算法和代码功底,哪怕项目经验丰富,基础题答不上来,也很难通过二面。二、高频踩坑场景(附避坑技巧)踩坑 1:盲目投递,未区分岗位类型很多同学分不清字节业务岗和研究岗的区别,盲目投递后发现方向不匹配,面试时被问懵,白白浪费机会。建议投递前先确认岗位侧重(是侧重落地还是研究)。踩坑 2:代码准备不充分,临时抱佛脚字节手撕代码难度高,且多考察 ACM 模式,若未提前刷 Hot100、未熟悉 ACM 答题规范,大概率会在一面挂掉,建议提前针对性练习。踩坑 3:面试时与面试官争执遇到观点分歧时,无需强行辩解,客观说明自己的思路即可,过度争执会降低面试官好感,直接影响面试结果。踩坑 4:忽视 HR 面细节别以为技术面过了就稳了,HR 面会重点了解你的稳定性和求职诚意,若表现出 “只是练手”“不想长期发展”,很容易被刷。三、备考 & 投递建议1.代码准备:重点刷 Hot100 高频题,尤其是字节常考的 4 道手撕题,练熟 ACM 答题格式,避免因格式问题丢分;2.项目 & 论文:提前梳理自己的项目亮点和论文核心,面试时重点突出自己的贡献,避免泛泛而谈;3.投递节奏:字节暑期流程较快,建议集中投递,避免分散精力,投递后及时关注进度,避免错过面试通知;4.心态调整:面试时遇到不会的问题,坦诚说明即可,不要瞎编,面试官更看重你的学习态度和逻辑思维,而非完美答案。四、补充提醒字节暑期实习的核心门槛的是 “能力匹配 + 稳定性”,若拿到 offer 后又拒绝,后续再投难度会大幅增加;另外,字节不喜欢 “盲目试错” 的候选人,投递前一定要明确自己的职业规划,避免浪费双方时间。后续会持续更新字节高频面试题、手撕代码技巧,助力大家顺利拿下字节暑期 offer!
点赞 评论 收藏
分享
评论
18
53
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务