字节后端-推荐架构面经 已offer

3.6 一面
自我介绍
一、 项目相关
1. 大概介绍一下你整个系统架构的链路,或者说你的系统整体链路是长什么样子?
2. 你的库存信息怎么保留?存不存在超卖的现象?
3. 你 Redis 里的信息是怎么跟 MySQL 做同步的?
4. 初始结果不一致怎么办?(存不存在 Redis 初始结果跟 MySQL 不一致的问题)
5. 你觉得这条链路在真实的生产环境下能用吗?还有哪些不完备的点?
6. 如果消费队列扣减失败或订单写入 MySQL 失败,导致数据不一致,你有什么自动化机制(校验+补偿)来解决?
7. 知识库构建的文档和语义信息数据来源是哪里?是自己整理的吗?
8. 通过什么去做分词和检索?
9. 向量数据库跟正常数据库的区别是什么?它怎么加速相似向量检索?
10. 是否了解 HNSW 算法的具体实现?
二、 八股
1. 缓存击穿、穿透、雪崩这三个概念上的区别是什么?
3. 使用 SETNX 指令跟执行 Lua 脚本的差异是什么?
4. 排他锁(X锁)跟共享锁(S锁)的区别是什么?
5. Java 线程模型如何保证线程间的公平性
6. CAS是做什么的?它有什么问题?
7. 数据库有哪些隔离级别?
8. 如何解决“幻读”问题?InnoDB 引擎下是怎么处理的?
9. 聚簇索引和非聚簇索引的区别是什么?
10. 什么情况下不需要“回表”查询
11. TCP 是通过哪些机制保证可靠传输的?
12. 如何解决网络拥塞问题?(拥塞控制、慢启动、快重传等机制)
13. 进程和线程在内存结构上有哪些区别和关系?
14. 同步 I/O 和异步 I/O 的概念怎么理解?
15. 异步 I/O 是在用户态执行还是系统态(内核)执行?谁来负责通知结果?
16. Linux 的软链接和硬链接有什么区别?删除原始文件后哪种还能正常访问?
17. Java 的 HashMap 是怎么解决冲突的
18. 实现“数组+链表”时,为什么不能直接用 ArrayList 或 LinkedList 替换掉那个数组?
手撕
之字形(Zigzag)打印二叉树。

3.10 二面
一、项目
1. 请介绍你在项目过程中印象最深、最具技术挑战或复杂度的点,以及你是如何解决的。
2. 在秒杀场景下,如何保证“库存扣减”与“一人一单”逻辑的原子性?
3. 为什么 Lua 脚本能做到分布式一致性?它是如何把多条命令聚合为原子操作的?
4. Lua 脚本是如何编排这些多条 Redis 命令的?它是感知多个用户的命令还是单用户的顺序命令?
5. 限流算法
6. 除了限流,你是否了解“熔断”机制?它与限流的区别是什么?在下游服务扛不住时该如何处理?
7. 你构建的知识库文档量级是多少?
8. 如何从原始文档构建出向量检索索引库?索引库的底层数据结构是什么样的?
9. 你了解 HNSW 和 IVF这两种索引算法的区别吗?它们分别适用于什么场景?
手撕
1. 无序数组频率统计 时间复杂度 O(n),空间复杂度 O(1)(允许修改原数组)
2. 旋转有序数组找最小值
3. 有 10 个 100G 的日志文件,存储用户的搜索 Query(存在重复),找出访问频次最高的 100 个 Query。单机内存仅 10G,可以使用多台机器。 口述思路

3.11 hr面半小时后oc,晚上下正式offer
明天就要入职了,希望一切顺利

#牛客AI配图神器#
全部评论
mark
点赞 回复 分享
发布于 03-31 01:27 上海
是暑期嘛 为什么只有两轮技术面
点赞 回复 分享
发布于 03-30 21:56 北京
27届拼多多实习机会或看我主页 https://careers.pddglobalhr.com/campus/intern?t=4OmKPVeX9a
点赞 回复 分享
发布于 03-23 16:20 上海
实习吗
点赞 回复 分享
发布于 03-23 14:11 湖南
拼多多招27届实习生啦 https://careers.pddglobalhr.com/campus/intern/detail?t=dRvUVvcTiA
点赞 回复 分享
发布于 03-23 11:18 上海
接好运
点赞 回复 分享
发布于 03-19 14:56 江苏
点赞 回复 分享
发布于 03-18 19:07 辽宁

相关推荐

面试时间:4.22下午3点 时长1h道心破碎了,对项目进行非常深度的拷问,还考了性能监测这一部分,以及一个音乐播放的场景题,全程基本无八股无手撕,最没有悬念的一次面试,g的不能再g,基本上考的都是我没有了解的知识,反问我直接问前面的答案了,还是太菜了,录音还忘记录了,算了反正也不敢听1. 自我介绍2. 虚拟列表怎么实现的3. 一道性能指标采集代码找错误,力竭了,根本找不出来,根本没了解过这部分知识4. 文件上传是怎么实现的5. 大文件分片上传时,计算 5MB 分片 MD5 大概要多久6. 如果文件很大,计算完整文件 MD5 很耗时,有什么性能优化方案7. Web Worker 在大文件 MD5 计算里能怎么用8. 服务端保存所有分片索引和分片文件,会不会导致碎片文件越来越多9. 分片合并完成后,服务端临时分片目录应该怎么清理10. 如果清理了分片,下次上传同一个文件还能不能做分片级别的秒传11. 秒传应该基于完整文件 hash 还是分片 hash12. 服务端怎么设计分片管理,才能避免既存完整文件又存所有分片造成空间浪费13. 如果两个文件部分分片相同、整体文件不同,怎么判断和复用分片14. 歌曲列表页点击歌曲后,如何打开一个独立播放页15. 如果播放页已经存在,列表页怎么通知已有播放页切换歌曲16. 怎么判断播放页是否已经存在或是否被关闭17. 如何用 LocalStorage 实现跨页面通信18. 如何用 LocalStorage 实现页面间心跳检测19. LocalStorage 轮询方案有什么性能问题20. 除了 LocalStorage,跨页面通信还有哪些更好的方案21. postMessage 和 Service Worker 怎么用于跨页面通信22. 歌曲列表中大量图片加载时,如何先展示占位图23. 图片加载成功后怎么切换为真实图片24. 图片加载失败后怎么展示失败图25. 如何通过图片的 load 和 error 事件判断加载状态26. 你接触过 React Native 或 Flutter 这类跨端技术吗27. Vite 相比 Webpack,为什么开发阶段启动更快28. Webpack 能不能也配置成使用 ES Module29. Vite 的热更新 HMR 是怎么实现的30. WebSocket 和 SSE 有什么区别31. 反问
查看30道真题和解析
点赞 评论 收藏
分享
04-18 11:56
门头沟学院 Java
1.mysqlb➕索引,字符怎么查找,支持顺序查找吗1.5 JAVA python线程模型2.java异步怎么做。fastapi底层异步怎么做。3.线程池策略,参数3.5线程数怎么设置。io密集型,假如最大设置为10,第11个来了怎么办。一般八核,线程数设为多大。像windows里面有很多线程,也是io密集,你觉得为啥没有崩溃之类的4.poll epoll了解吗5..java map结构一系列;线程安全,cas6.文件上传从8s优化到2s。哪个部分耗时,向量化还是上传,带宽跑满了吗,是什么限制了7.文件发到网卡,文件加载cpu到内存,用户态内核态怎么切换的,细致说下8.分片上传,是单线程的限制吗9.向量纬度768 1024区别,为啥这么选10.knn,ann时间复杂度11.PPT生成为啥不用文生图做。讲下完整流向rag结合prompt,填到限制槽位,结合固定样式生成12.多智能体改的架构,怎么上下文管理,传递消息,共享记忆13.agent记忆怎么做的14讲下渐进式披露,那永久记忆你觉得怎么查询,怎么操作,讲你的想法就行15.已经摘要了很多次,这个时候渐进式披露怎么做分层16.claude code 的harness跟其他agent区别17llm运行原理,transformer架构原理18.有微调过小模型吗clip blip,效果不好19.有用过Claude code做过大的或小的项目吗,用什么模型论文自动检索,自动视频生成,codex联合前后端并发编程检索最新ai动态20题目两个线程交替打印字母,数字结合面试官回答反问阿帕奇开源项目,技术相关对ai态度,开发或者学习永久记忆是否可以蒸馏一个个体是否觉得机器人ai参数高到某个量级,也具有意识,或者意识这个词。
查看26道真题和解析
点赞 评论 收藏
分享
评论
11
61
分享

创作者周榜

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