字节跳动生活服务后端开发一面面经

前不久通过了字节生活服务后端开发面试,准备做个复盘,分享下一二三面还有加面的面经。

一面基本情况

- 岗位:字节跳动生活服务后端开发
- 形式:线上视频面
- 时长:差不多1小时

面试过程

自我介绍(3分钟左右)

一开始面试官简单说了下自己是谁,然后就让我做自我介绍。我大概讲了3分钟,主要说自己的学校、学的专业,还有做过的两个后端项目,重点提了用的技术栈和我负责的核心部分,比如微服务拆分、数据库设计这些。

项目深挖(20分钟)

面试官主要盯着我简历里的两个项目问,挖得还挺细的。

第一个是分布式电商系统:

- 先让我讲讲整体架构,我就从前端怎么接入、后端业务怎么分模块、数据存在哪、缓存怎么用这些方面说的。比如把订单、商品、用户拆成了独立的微服务,用RPC框架通信,这样改一个模块不影响其他的。
- 还问我为啥选MySQL和Redis,我说MySQL处理事务、保证数据一致比较靠谱,Redis当缓存能扛高并发,查数据快。
- 然后问我项目里遇到的最大问题,我说是高并发下库存超卖了。当时排查了半天,最后用Redis搞了个分布式锁,先在缓存里扣库存,再慢慢同步到数据库,才算解决。

第二个是在线学习平台的后端:

- 面试官对用户登录这块感兴趣,我就说用了JWT,用户登录成功给个token,后面请求带着token就能验证身份。权限管理用的是RBAC模型,学生、老师、管理员能操作的功能不一样。
- 还问了性能优化,我说给数据库加了索引,慢查询日志里的语句都调了调;有些接口加了缓存,减少数据库压力;发邮件这种费时间的操作,用RabbitMQ搞成异步的,用户不用等着。

基础知识(20分钟)

这块主要考Java、数据库和计算机网络,都是基础但挺重要的点。

Java方面:

- 问了多态怎么实现的,我说重写、重载加上动态绑定,举了个父类引用指向子类对象的例子。
- 还问了HashMap底层,我就说JDK1.8之后是数组加链表,链表太长了会变成红黑树,这样查起来快。哈希冲突就是用链表解决的,同一个位置的元素串起来。

数据库:

- 索引类型和用法,我说了主键索引、唯一索引这些,比如查用户ID的时候用主键索引最快,联合索引要注意最左匹配原则。
- 事务的ACID特性,原子性、一致性这些都解释了下,还说了四个隔离级别,以及可能出现的脏读、不可重复读问题。

计算机网络:

- TCP和UDP的区别,我说TCP是连了线的,可靠但慢点,像发邮件、传文件用得多;UDP不用连线,快但可能丢包,直播、游戏常用。
- 常见的HTTP状态码,200是成功,404是页面找不到,500是服务器出问题,这些都答上来了。

算法题(15分钟)

面试官给了道题:给一个数组,找出两个数相加等于目标值的所有组合。比如数组[2,7,11,15],目标9,结果就是[(2,7)]。

我先跟面试官说了思路,用哈希表存每个数的位置,遍历的时候看目标值减当前数的结果在不在表里,在的话就是一对。然后在共享文档里写代码,还注意了数组为空的情况。写完后面试官让我分析时间和空间复杂度,我说遍历一次是O(n),哈希表占O(n)的空间,他点点头没说啥。

开放性问题(5分钟)

最后问我平时怎么学新技术,我说看看官方文档、技术博客,遇到问题上论坛搜搜,再自己动手做个小项目练手。还说会记笔记,把踩过的坑总结下来,面试官听了说挺好的。

有人想进字节,可以找我内推,我帮你写内推推荐语,写内推语可以优先进面,进来才知道只填内推码没用😂内推码投递后可以私信我写内推语https://job.toutiao.com/s/syPe3tmPCw0
全部评论
我这里有最近在做的大厂项目都可以包装到简历上,包装完后还有针对性的大厂面试辅导培训,已经帮助很多同学上岸,感兴趣的话可以直接看我主页简介。
点赞 回复 分享
发布于 08-04 17:01 江苏
我这里有最近在做的大厂项目都可以包装到简历上,包装完后还有针对性的大厂面试辅导培训,已经帮助很多同学上岸,感兴趣的话可以直接看我主页简介,那里有项目线索指引
点赞 回复 分享
发布于 08-04 17:01 江苏
请问佬是什么bg
点赞 回复 分享
发布于 08-02 22:05 江苏
友友赶快更新二面面经,期待
点赞 回复 分享
发布于 08-02 17:14 湖南
很好的面经,使我的offer旋转试试我写的开源免费共建共享面经数据库:https://pinkprisma.com
点赞 回复 分享
发布于 08-02 14:39 上海

相关推荐

📍面试公司:字节(杭州)第一次面试就是字节,面评烂完了,靠着学长的内推二进宫🕐面试时间:基本上一天一面💻面试岗位:后端❓面试问题:一面1、自我介绍2、项目拷打(还得是字节,问的很细很深)3、JUC了解多少4、OS的虚拟内存和页面置换算法5、进程和线程,调度算法6、多级反馈队列7、HTTPS的握手8、非对称加密的数学原理了解吗,就说RSA的就行(赞美欧拉)9、JVM的GC10、JVM调优有经验吗11、OOM这种可以被catch吗,哪些可以12、对Go的了解13、手撕最长回文子串,思路,dp的方向一小时后约二面二面:1、自我介绍2、项目拷打(更深刻了,我只是菜鸡)3、项目的理解,中间件不应该为了用而用4、其他的解决方案了解吗5、既然是仿B站,B站的推荐怎么做的6、这样的推荐一定好吗,怎么评估7、让你更进一步的改造,你的方向是什么看出来是玩具项目了,也没什么复杂的技术点,文字的魅力8、AQS的设计思想,如果让你去利用AQS设计一个同步工具,怎么写9、ICMP是什么,报文格式知道吗10、动态代理是方法,字节码加强怎么实现11、中缀表达式怎么被计算机理解,中缀怎么转后缀12、MySQL的MVCC和锁13、RR下可能的幻读是什么情况14、Redis的内存淘汰15、手撕买卖股票1、2要是每天只能买或者卖或者不操作呢(折腾了半天没写出来)三面1、自我介绍2、LLM在预测股票上擅长吗3、你说的更多的是数据上的问题,要是数据很完善呢4、那有哪些可能擅长这些任务5、学院的人工智能课程有哪些,任务的类型有哪些6、之前两面的面试官都问了什么,哪些问题影响深刻手撕1、n个”A“,m个”B“和p个“AB”,组成的最长的相邻字符不同的串的长度2、田忌赛马,输出任何一个可能的获胜序列(用双端队列把边界条件写的复杂了)说思路对,但是两个简单的队列就行可能悬了🙌面试感想:很专业,暴击我的弱点,随便看看都可以提出我想不到的点,项目和手撕还得进步;为什么看别人面经觉得好高深的技术、没见过的中间件,我距离大佬还有多远攒人品,期待HR面,虽然悬,希望给个好的面评吧,秋招再战,我也可以是节孝子
面试问题记录
点赞 评论 收藏
分享
评论
7
14
分享

创作者周榜

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