《字节外包二面凉经》

一面没有录音所以没有整理,但是二面对比明显更难了,其实这场二面我挂得并不意外。

面试官没有问任何偏门八股,上来就从我简历里的项目问起,一路从个人负责的模块 → 多线程 → MQ → 消息可靠性 → 电商发货设计,最后再补了一道经典 DP。

问题都很"基础",但每一步都在逼我回答:你是真的理解系统,还是只是用过?

好的,我帮你按面试流程把面试官问过的所有问题系统性地总结一遍,方便你复盘和针对性补强。


一、自我背景与项目经历

  1. 请你先做一下自我介绍

  2. 你现在主要负责的内部业务系统是做什么的?

  3. 从你负责的模块里,选一个相对复杂的模块,详细讲一下:

    • 业务背景
    • 你负责的内容
    • 遇到的困难
    • 技术方案和设计思路

二、考勤模块深入追问

  1. 该业务模块的业务逻辑是什么?
  2. 这个模块在早期遇到过什么性能问题?
  3. 你是如何做性能优化的?为什么想到用多线程?
  4. 整个模块(或子系统)的整体架构是什么?
  5. 技术特点有哪些?

三、系统架构 & 微服务设计

  1. 从部署架构看,你们是:

    • 单体?
    • 大单体?
    • 微服务?
  2. 如果是微服务:

    • 拆了哪些服务?
    • 各个服务的职责是什么?
  3. 为什么要这样拆服务?

  4. 该业务模块为什么没有单独拆成一个服务?

  5. 你觉得把这个模块放在当前服务中是否合理?

  6. 你如何判断一个模块:

    • 是否足够独立?
    • 是否需要拆服务、独立部署?

四、异步、定时任务、线程池

  1. 在该模块中是否涉及:
    • 定时任务?
    • 异步处理?
  2. 定时任务是怎么做的?
  3. 异步是怎么实现的?
  4. 线程池是如何配置和使用的?
  5. 使用线程池的具体业务场景是什么?

五、线程池 vs MQ 对比(重点)

  1. 为什么不用 MQ,而是用线程池做异步?
  2. 你们项目里有没有用 MQ?
  3. 线程池的优点是什么?
  4. MQ 的优点是什么?
  5. 什么场景适合线程池?
  6. 什么场景适合 MQ?
  7. MQ 相比线程池还能提供哪些能力?
  8. 线程池有什么不足?

六、消息可靠性 & 系统设计题(重点)

业务场景题:电商发货

  1. 用户支付完成 → 生产者发送 MQ → 消费者发货
  2. 设计目标:
    • 每个订单一定会发货
    • 不能重复发货
  3. 你会如何设计这个系统?
  4. 如何保证幂等?
  5. 如何保证消息一定被消费?
  6. 还需要考虑哪些异常情况?

七、存储系统认知

  1. 除了 MySQL 和 Redis,你还了解哪些存储组件?
  2. 哪些是了解但没在实际项目中用过的?
  3. 什么时候用 MySQL?
  4. 什么时候用 Redis?
  5. Redis 会不会丢数据?
  6. 为什么 Redis 会丢数据?
  7. RDB 的丢数据原理是什么?
  8. AOF 的三种策略是什么?
  9. MySQL 会不会丢数据?
  10. 为什么 MySQL 相对更可靠?
  11. Redo Log 的作用是什么?
  12. MySQL 在极端情况下有没有可能丢数据?

八、AI 项目与 AI 编程能力

  1. 你做的 XX项目 是什么背景?
  2. 是个人项目还是业务项目?
  3. 你会不会用 AI 工具写代码?
  4. 在开发的哪些阶段会用 AI?
  5. 使用 AI 有哪些注意点?
  6. 常用哪些 AI 工具?
  7. 各个 AI 工具你觉得有什么差异?
  8. AI 写完代码后你会直接用吗?
  9. 你会如何校验 AI 生成的代码?

九、笔试算法题,现场屏幕共享做给面试官看

拿糖问题

  1. 给定一个数组代表盒子里的糖数量,规则:拿了第 i 个盒子,不能拿 i-1 和 i+1,目标:拿到最多的糖
  2. 你有什么解题思路?
  3. 你打算用什么算法(贪心 / DP)?

十、反问环节

  1. 你有什么问题想问我?
  2. 这个岗位是做什么的?
  3. 团队和业务方向是什么?

总体评价

这轮面试重点考察的是

  • 架构理解深度(而不是"我用过什么")
  • 异步 & MQ 的系统性理解
  • 分布式系统的可靠性设计
  • 基础算法思维(DP 经典题)
  • 表达结构是否清晰
相关推荐
码路飞14 小时前
GPT-5.3 Instant 终于学会好好说话了,顺手对比了下同天发布的 Gemini 3.1 Flash-Lite
java·javascript
SimonKing15 小时前
OpenCode AI编程助手如何添加Skills,优化项目!
java·后端·程序员
Seven9716 小时前
剑指offer-80、⼆叉树中和为某⼀值的路径(二)
java
怒放吧德德1 天前
Netty 4.2 入门指南:从概念到第一个程序
java·后端·netty
雨中飘荡的记忆1 天前
大流量下库存扣减的数据库瓶颈:Redis分片缓存解决方案
java·redis·后端
心之语歌1 天前
基于注解+拦截器的API动态路由实现方案
java·后端
华仔啊1 天前
Stream 代码越写越难看?JDFrame 让 Java 逻辑回归优雅
java·后端
ray_liang1 天前
用六边形架构与整洁架构对比是伪命题?
java·架构
Ray Liang1 天前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
Java水解1 天前
Java 中间件:Dubbo 服务降级(Mock 机制)
java·后端