4.2字节后端一面

📍面试公司:字节跳动
🕐面试时间:2026.4.2
💻面试岗位:后端实习生
❓面试问题:
1.controller/service/repository三层架构的功能
2.各层怎么交互(答的依赖注入)
3.鉴权怎么实现(说用的spring security套件,给予身份)
4.缓存和数据库数据一致性怎么解决(回答的先改数据库在删除缓存)
5.为什么不先删缓存(好像两种方式都有一定问题,但是后删缓存问题小一点)
6.缓存删除失败了怎么办(应该想考消息队列,但是鼠鼠还真没想过
7.缓存有ttl吗,大量key同时过期怎么办(缓存雪崩呗,鼠鼠看过的但是只答了ttl加随机时间和双key策略)
8.讲一下mysql索引
(回答了主键索引和唯一索引,b+树实现)
9.为什么用b+
(回答的树高度低,查询次数少开销少)
10.进程和线程的区别?线程什么哪些资源可以共享哪些不行(os原理,基本没怎么复习,答的一坨)
11.死锁条件和解决方式
(四个条件和死锁预防,死锁检测,死锁接触)
12.cas和普通加锁的优劣(看的时候没认真看,只记得cas有aba问题)
13.互斥锁,自旋锁区别(完全没看自旋锁)
14.tcp,udp区别
15.tcp为什么三次握手四次挥手
16.手撕,数组的最大连续子数组和(leetcode原题,五分钟撕了,但是让讲就有点捋不清了,就说了当前缀和为负数了就抛弃前缀,重新开始子数组)
17.脑筋急转弯:100只老虎和一只羊,老虎吃了羊就变羊,最后羊会不会被吃(好像是考虑奇偶情况,但是鼠鼠想的就是吃了羊等于自己成猎物了,大家应该都僵持下去下去
18.反问有什么不足:基础不扎实,比如os,数据库,网络,编程语言(都没问我Java,过程中问我c++熟悉不,我技术栈都没敢写肯定不敢说熟悉啊),算法(撕的快但是讲不清,感觉鼠鼠是死记硬背),不是这不是基本今天全问的都是不扎实吗
🙌面试感想:很常规,不难,但是鼠鼠真的太菜了毕竟第一次,回答的还算流利了,以后再接再厉
#还记得你第一次面试吗?# #字节#
#发面经攒人品#
全部评论
补一下4.的缓存一致性解决: 在开发过程中,先修改数据库再删除缓存,也会有短暂脏数据时间段,即在数据库修改过程中,其他线程读取缓存仍然命中,会返回脏数据,但是由于修改操作时间极短,只有极少线程会读取到缓存中的脏数据,在互联网业务下属于可接受范畴;反之先删除缓存,再修改数据库,可能会出现其他线程由于命中缓存失败,前往数据库构建缓存,由于数据库的修改还未完成,读取到脏数据构建缓存,该缓存在后续ttl中一直存在返回脏数据,导致前端请求数据大量出错。 总结:两种方式都会有返回脏数据的可能,但是后删只会有短暂时间(线程修改数据库时间)业务错误,先删缓存可能有整个ttl时间业务错误
3 回复 分享
发布于 昨天 12:01 四川
佬方便透露一下部门吗
点赞 回复 分享
发布于 昨天 17:38 湖南
写的很好,总结的
点赞 回复 分享
发布于 04-03 23:08 北京
虎羊其实就类似递推的一个关系,从1开始枚举思考一下就行
点赞 回复 分享
发布于 04-03 22:37 湖北
基础还是挺多的
点赞 回复 分享
发布于 04-03 22:21 辽宁
拼多多招27届实习生啦 https://careers.pddglobalhr.com/campus/intern/detail?t=dRvUVvcTiA
点赞 回复 分享
发布于 04-03 17:23 上海
面完多久给结果
点赞 回复 分享
发布于 04-03 10:52 北京
蹲后续
点赞 回复 分享
发布于 04-03 08:54 天津

相关推荐

04-02 19:40
辽宁大学 Java
依旧复活赛1. 实习:redis加lua脚本,为什么这么做2. 介绍项目,共享屏幕介绍3. 大概说一下现在这个架构,比如说抽象的接口的话,大概会有哪些接口,然后底层的这个框架是怎么设计的4. 为什么单独封装一个python服务5. ReAct模式跟workflow这个模式它的核心差异在哪6. ReAct的模式,它作为一个Agent来讲,它比较重要的点有哪些7. harness,有了解过吗8. 平时有用到openclaw去部署自己的这个AI助手吗9. CLI跟IDE这两种编程模式你觉得核心差异在哪个地方,效果上会有差异吗10. 什么时候用IDE,什么时候用CLI11. 你用做过最复杂的事情是什么12. 你有了解过langchain这个框架本身吗13. mcp与A2A的区别14. 你了解mcp具体协议内部是什么样子的吗15. 输入一个网址,底层发生了什么16. http响应,它返回的是什么17. 一次性返回还是异步返回18. 你刚刚说的html代码和json数据它是绑在一块的吗19. 我的html语言怎么渲染成浏览器这个样子呢20. 项目用redis干什么21. 一个查询,用redis实现和用MySQL实现它能差距多少时间22. MySQL,题目分类,很多标签。这些题目我想存储的话,要加索引一般怎么设计23. MySQL底层用的是什么索引24. 排序算法有了解过吗,效率比较高的有哪些算法:山峰数组找数
查看24道真题和解析
点赞 评论 收藏
分享
评论
6
28
分享

创作者周榜

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