个人面经分享
个人面经分享
我将在这里分享我的面试经历
欧斯特智能
2025.09.01
- 学校那边可以搞定吗?
- 有使用过三级缓存吗?
- 缓存一致性怎么保证?
- 如果数据库不支持Binlog怎么保证一致性?
- 你提到了延时双删,它有什么问题?
- JDK21有什么新特性?
- 虚拟线程有了解过吗?
- IO密集型的线程池怎么设计(虚拟线程)?
- MQ消息怎么避免重复消费和未消费?
- 在使用Redis和MQ之后怎么保证消息不丢失(分级分用户入库+WAL)?
- Springboot3相较2有哪些新的注解?
- 了解过grpc吗?
- 了解过DDD吗?
- 了解过向量数据库吗?
欧斯特智能(二面)
2025.09.03
- 介绍一下你的网关项目
- 你的网关项目相比SpringCloud Gateway有什么优势?
- 介绍一下grpc
- 介绍一下你定义的后置处理器是怎么工作的
- 写一个批量插入的代码示例
- Stream和for循环有什么区别?
- Springboot2和3分别怎么实现自动装配的?
- 说一下ConditionOn注解
- 怎么实现一个bean在另一个bean之后加载呢?
- yaml配置文件的两种读取方法
- 循环依赖怎么解决?
- 说一下AOP和它的几个概念
- 说一下Rocketmq的四种通知方式(广播路由什么的)
- 一些前端问题
智农天地
2025.09.04
- 做一个自我介绍
- 线程和进程有什么区别
- 说一下你编写代码中异步的体现
- 前端你有什么了解?
- 介绍一下你简历中这个票务平台的ai这一块内容
- 你对大模型还有什么其他应用吗?
- 说一下git的常用命令
- linux的常用命令有什么
- 介绍一下向量数据库
- 如果实习的话学校这边OK吗?
智农天地(二面)
2025.09.04
- 做一个自我介绍
- 说一下你项目中ai是怎么用的
- 可以实习多久?
- 有没有什么实习要求?(你问我干嘛?)
- 工资给你开多少吧?(黑人问号)
- 多久可以有明确的答复?
美团-质效技术部
2025.09.05
- 介绍一下你的网关项目和核心组件
- 你说这个项目是根据美团的sherperd网关改写的,说一下你做了哪些改动
- 你在做这个项目过程中遇到了哪些困难?
- 你第二个购票系统有哪些项目亮点?
- 介绍一下AOP是什么
- 你是怎么保证热点数据的一致性的?(缓存一致性问题)
- 你是怎么做到分库分表?为什么要分库分表?
- 介绍一下你的AI项目和它的核心功能
- 说一说什么是MCP,你是怎么用的?
- 对于AI你还了解了其他的一些概念吗?(我说的向量数据库)
- 你是哪个高中的?(当时问的我一脸懵,后来才知道面试官也是长治人,太巧了哈哈哈哈)
手撕: 反转链表(写代码+说思路+另一种解法)
反问: 我们平常的工作是大概是什么?
我们平常的工作中可以接触到核心业务代码吗?
您介意把这个面试过程放到我的博客上吗?
腾讯-游戏后台
2025.09.05
- 先做个自我介绍吧
- 选一个你认为最能体现你的技术的一个项目
- 介绍一下你的这个网关项目(打开屏幕共享进行讲解)
- 说一下这些组件是怎么互相作用的,它们的职责是怎么样的?
- 深挖项目.....
- 你认为你的项目有哪些不足?
- JVM虚拟机和服务是什么样的关系(进程和线程 包含和不包含)
手撕: 在排序数组中查找元素的第一个和最后一个位置
反问: 如果我加入贵公司,我需要提前学习一下什么呢?
刚刚你问我的JVM虚拟机那个问题您认为是怎么样的?
我可以把面试过程放到我的博客上吗?
美团-质效技术部(二面)
2025.09.09
- 因为面试官要求对问题保密鼠鼠我就不放问题了
- 今天的心情也是很不错 本来以为腾讯的面试挂了 但没想到挺到二面了 鼠鼠的腾讯梦还可以继续下去 这个面试也比较准备的不错
- 说些题外话 我也为面试付出了相当多的精力 可能没有大家想的那么轻松 一百多万字的八股反反复复背了好几遍 算法题前前后后也刷了好多遍了 项目实习也准备的比较充分了 打铁还是得自身硬啊 🐉🐉一百面到现在成功率还是百分百 希望可以撑到拿腾讯offer的那一天
- 最后说一句🐉人🐉言:人有些时候还是得自己成全自己啊~
腾讯-游戏后台(二面)
2025.09.11
- 做个自我介绍吧。
- 请详细介绍一下你简历上的项目,可以先从第一个网关项目开始。
- 你为什么会想要做这样一个网关项目?
- 介绍一下这个网关的整体架构和核心组件吗?
- 你在设计中提到了“前置处理器”和“后置处理器”,能具体讲讲它的作用和好处吗?
- 服务实例是如何将自己的信息注册到网关中心的?需要接入的服务做很多代码改造吗?
- 你提到了“接口上报”和“心跳续约”,这两者怎么做的?
- 当一个服务有多个实例时,网关是如何进行负载均衡的?你实现了哪些策略?
- 了解过一致性哈希吗?
- 如果某个服务实例或网关核心节点宕机了,系统会如何处理以保证高可用性?
- 你提到服务组和网关核心组是一对一绑定的,这种设计出于什么考虑?如何实现服务间的资源隔离?
- 网关的限流功能是如何实现的?
- 在网关集群部署的情况下,如何实现一个全局统一的分布式限流,而不是各个节点单机限流?
- 每次请求都访问Redis判断限流会有效率问题,有什么优化思路吗?
- 限流的阈值是固定的还是可以动态调整的?如果要动态调整,你会如何设计实现?
- 了解令牌桶、漏桶等常见的限流算法吗?它们是如何工作的?
- 你对这个网关项目做过性能测试吗?结果如何,比如QPS和延迟?
- 你提到网关带来了额外的3毫秒延迟,你分析过这部分延迟主要耗时在哪里吗?这个结果符合你的预期吗?
- 你的网关和服务之间有远程调用,能谈谈你对RPC的理解吗?它是如何工作的?
- 你项目中用到了Redis,能讲讲为什么Redis的性能这么高吗?
- 你提到了I/O多路复用,可以具体解释一下它的原理吗?你知道select、poll和epoll的区别吗?
- HTTP和TCP协议有什么区别和联系?
- 能否详细描述一下TCP的三次握手和四次挥手过程?
- 为什么TCP挥手需要四次,而不是三次?
- 了解TCP的滑动窗口机制吗?
- 接下来聊聊你的第二个项目,那个结合了Spring AI的购票系统,介绍一下你主要做了什么?
- 在这个项目中,AI主要应用在哪些方面?
- 你提到了Function Calling,能解释一下它是什么,以及它是如何工作的吗?
手撕忘了
反问: 要提前学什么?
组内业务
字节-今日头条
2025.09.12
- 请介绍一下你的网关项目是做什么的。
- 这个网关项目主要解决了什么问题?
- 服务之间使用的是什么通信协议 (HTTP, RPC)?
- HTTP 和 Dubbo 这两种协议有什么区别?
- 你提到 Dubbo 的二进制传输效率高,但 HTTP 底层也是 TCP,也是二进制,为什么效率有差异?
- Dubbo 默认使用什么序列化方式?
- 如果下游服务有多个实例,请求如何路由?
- 你知道哪些常见的负载均衡算法?
- 如何在代码中实现轮询(Round Robin)算法?
- 如何实现加权轮询(Weighted Round Robin)算法?
- 你是如何实现请求限流的?
- 限流逻辑是放在哪里实现的 (例如 Nginx, 服务实例)?
- 如果实例是动态扩缩容的,如何实现一个全局的总限流 (例如,所有实例加起来总共 100 QPS)?
- 可以用什么中间件来实现全局限流?
- 如果用 Redis,应该如何实现?具体的数据结构、Key 和 Value 是什么?
- 多实例并发访问 Redis 进行限流,如何处理并发问题?
- 网关的元数据信息(如服务地址)是存储在哪里的?
- 了解 Redis 的高可用实现方案吗?
- 在主从模式下,如果 Master 节点挂了,会发生什么?
- Sentinel (哨兵) 是如何从多个 Slave 节点中选举出新的 Master 的?选举的逻辑是怎样的?
- 了解 Raft 协议吗?
- 进程和线程有什么区别?
- 进程分配的“资源”具体指什么?
- 在单核 CPU 的情况下,使用多线程能提高效率吗?为什么?
- 为什么 Tomcat 默认会开 200 个线程,它不怕线程切换的开销吗?
- 为什么 Redis 是单线程的,但性能却非常高?
- 为什么处理 I/O 任务时,使用多线程更合适?
- 你认为一个服务的线程数应该设置成多少比较合适?
- 为什么要使用线程池?
- 当一个新任务提交给线程池后,它的内部执行流程是怎样的 (核心线程、队列、最大线程、拒绝策略)?
- 如果服务器只有 2G 物理内存,一个程序需要申请超过 2G 的内存,它还能运行吗?为什么我们平时在电脑上开很多软件,把内存占满了,软件也不会立刻全部崩溃?
- TCP 协议的“可靠”体现在哪些方面?
- 发送方 A 如何知道接收方 B 没有收到某个数据包?
- A 和 B 通信时,B 所在的服务器整个宕机了,A 这边会有什么现象?
- B 服务器没宕机,只是 B 的应用程序进程崩溃了,这时 A 持续发数据给 B,会发生什么?
- InnoDB 存储引擎使用什么数据结构做索引?
- 请描述一下 B+ 树的结构。
- B+ 树和 B 树有什么区别?
- 为什么 MySQL 选择 B+ 树而不是 B 树?
- 为什么 B+ 树的叶子节点用链表串联起来,就能提升 I/O 性能?
- 为什么不使用平衡二叉树(如 AVL 树)这类结构做索引?
O(log n)的复杂度不是已经很快了吗? - 一张有 200 万条数据的表,它的 B+ 树索引大概有多高?这个层数是怎么计算出来的?
手撕: 给定一个整数数组
nums和一个整数k,找到该数组中和为k的连续子数组的个数。反问:
团队主要的技术栈是什么?
工作地点在哪里?
团队负责的业务是什么?
字节-TikTok
2025.12.08
- 你是怎么想到做这个网关项目的,主要的是要解决一个什么样的问题?
- 这个系统最主要的亮点是什么?
- 讲一下具体的调用逻辑是什么样的?
- 这个网关系统最主要解决的是什么问题?
- 你觉得这里面哪一部分是最难做的?
- 你提到项目改了5版,前4版遇到了什么问题导致要做到第5版?
- 详细介绍一下现在的限流是怎么做的?
- 鉴权功能是怎么做的?
- 你是如何区分身份认证和权限控制的?(面试官建议分角色鉴权)
- 你提到的“扩展性”是指什么?插件是以什么形式接入的?
- 你自己做过压测吗?结果如何?
- 在实习过程中,遇到过什么处理起来比较困难的问题?
- 你自己之前用过多线程编程吗?
- 了解TCP四次挥手的状态吗?为什么要有四次挥手?
- 如果客户端发送了FIN包后,突然断电或不再传输了,会发生什么?
- TCP是如何保证传输的可靠性的?
- 了解死锁吗?死锁产生的条件是什么?
- 你有没有遇到过死锁?
手撕: 给出两个有序列表的迭代器,合并并返回一个新的迭代器,有没有更好的方式(双指针)
反问:
你们希望我有一个除了技术之外有一个什么特质,性格上也好,什么也好
对我的要求是放养还是比较push
团队的技术栈是什么
快手-商城
2025.12.09
- 在网关项目中,你觉得最具挑战性的点是什么?你是怎么解决的?
- 你提到了分布式限流,能不能详细介绍一下令牌桶和滑动窗口这两个算法的原理?
- 你刚才说向Redis批量获取50个令牌,那如果你使用ZSet做滑动窗口,这个批量获取的逻辑是如何配合的?
- 架构图里的 Netty 是用来做什么的?
- 你提到 Netty 吞吐量高,为什么它吞吐量高?
- 展开讲讲零拷贝和Reactor线程模型
- Reactor 模型中有哪些角色?每个角色负责的职责是什么?(Acceptor, IO线程, Worker线程等)
- 这段实习经历中技术上最大的挑战是什么?
- 你提到CodeBaseMCP只能获取Master分支,那你是如何解决获取代码Diff和非Master分支代码这个问题的?
- 你提到了动态线程池,你知道它是怎么实现的吗?
- Spring的@Transactional注解是如何工作的?它的执行过程是怎样的?
- AOP的原理是什么?动态代理有哪些实现方式?了解过ASM吗?
手撕: 旋转矩阵
反问:
我们那边主要的业务是什么?
你们希望我有一个除了技术之外有一个什么特质,性格上也好,什么也好
对我的要求是放养还是比较push
字节-TikTok(二面)
2025.12.11
- 学校课程安排和实习时间的协调情况
- 挑选项目最核心的部分介绍,包括服务发现机制以及请求是如何最终路由到下游服务的
- 市面上已经有很多成熟的网关,为什么你要自己开发一个?你的网关和它们有什么区别?
- 相比于你参考的美团技术文章中的架构,你具体做了哪些改进?
- 介绍一下分布式限流的具体实现逻辑
- 什么是Agent to Agent?
- 你对 MCP (Model Context Protocol) 协议有什么了解?它为什么能支持大模型去调用工具?
- 实习项目最终的成功率是多少?你们是如何定义和验证“成功”的?
- 介绍一下Java的类加载机制的几个阶段
- 解释什么是双亲委派模型,以及它的加载顺序和作用。
手撕: 给定一个血缘依赖关系图(Map结构,表示节点及其上游),要求打印出指定节点的所有下游节点(没写出来)
反转链表(写出来了)
反问:
需要转语言吗?
团队业务
面试过程中不太满意或者没有答到点上的地方?
快手-商业化
2025.12.18
- 讲一个你在实习过程中觉得比较有挑战性、比较有价值的事情
- 大模型相关的技术是你自己学的吗?你是通过什么渠道和方式学习的?
- MySQL使用的是B树还是B+树?它们之间有什么区别?
- 主键索引和唯一索引有什么区别?
- MySQL查询时如果路由到一个索引,它是如何查找到最终数据的?
- 最终的数据存在哪里?如果是走唯一索引,一共需要走几次索引树?
- MySQL的事务隔离级别有哪些?
- 这几个隔离级别分别是基于什么方式实现的?(考察MVCC、锁机制)
- Redis是单线程还是多线程?
- 如果一个Key过期了,Redis是怎么清理它的?
- Redis有哪些常用的数据结构?
- Hash结构的底层存储是什么?渐进式Rehash是怎么做的?
- Java注解的实现原理是什么?
- 一个任务进入线程池,直到把线程池打满,整个运行流程是怎样的?
- 接口要求100 QPS,下游依赖接口耗时500ms,现有2台机器(4核8G),线程池参数应该如何配置?
- MQ是如何保证消息的顺序消费的?
- 讲一下JVM里的垃圾回收过程
- 大模型从输入一段话到输出内容,底层的处理流程是怎样的?
- 讲一下你对RAG(检索增强生成)的理解。
- MCP和或FunctionCalling的区别是什么?
- 多智能体协同(Agent to Agent / Multi-Agent)了解吗?
- 在提示词压缩优化方面有什么经验吗?
手撕: 搜索二维矩阵
反问:
团队负责的业务是什么?
后面的流程
如果去实习的话需要补充那些知识?
百度-Java工程
2025.12.24
- 美团实习的业务需求是什么?程序的输入和输出是什么?
- 刚开始的方案遇到了什么问题?为什么效果不好?
- 你是如何解决非Master分支代码获取问题的?
- JavaParser在这个过程中起到了什么作用?分析出了哪些信息?
- 使用了什么类型的大模型?参数量大概是多少?
- 你提到处理过一次线上OOM问题,请详细讲讲排查过程。
- 发生 OOM 后,你是如何获取堆栈信息的?
- 为什么数据库连接池会耗尽?
- 第一段实习过程中还有什么难点?
- 介绍一下你的网关系统
- 是如何通过Redis发布/订阅模式实现心跳和通知的?
- 你做了过压测吗?QPS是多少?
- 你的网关为什么比SpringCloudGateway快?
- 支持哪些维度的限流?为什么 IP 限流的优先级排在最后?
- 本地+分布式限流的具体逻辑是怎样的?
- 限流配置是如何同步的?
- 本地缓存是如何保证与Redis中数据的一致性的?配置修改的话本地缓存是如何感知的?
- 你的网关是如何调用下游Dubbo服务的?
手撕: 两个线程交替打印,一个打印数字,一个打印字母(12a34b56c...)
反问:
需要转语言吗?
面试结果大概什么时候出?
字节-番茄小说
2025.12.26
- 介绍一下利用AI生成单测用例的整个流程
- 如何提高生成用例的成功率?使用了什么大模型?
- 为什么要做这个网关项目?
- 做过压测吗?性能如何?
- 为什么你的网关性能比较高?主要归功于哪些方面?
- 服务注册和心跳机制是如何利用Redis实现的?
- 为什么存储服务信息时选择Redis的Hash结构,而不是String?
- 限流模块是如何设计的?为什么采用“本地限流 + 分布式限流”的混合模式?
- Redis为什么快?
- Redis是完全单线程的吗?
- RDB和AOF的区别和原理是什么?
- Hash对象的底层实现是什么?
- 在Rehash过程中,如果进行查询操作,数据是怎么操作的?
- TCP是如何保证传输可靠性的?
- 讲一下CAS的原理及应用场景。
手撕: 给出一个二维数组(左到右,上到下顺序排列),获取第k大和第k小的元素(归并排序为一个顺序数组)
反问:
团队负责的业务是什么?
面试结果大概什么时候出?
面试官建议:
可以不用架构图讲解项目
字节-番茄小说(二面)
2025.12.30
- 学校学过哪些软件相关课程?
- 美团实习部门定位与职责是什么?
- 项目效果统计:代码采纳率、问题拦截率是多少?成功率是如何定义的?
- 解释一下MCP是什么含义?你是如何实现MCP服务调用的?
- 大模型怎么知道支持哪些工具调用?在什么情况下调用什么工具?这种写死的方式会有局限性吗?
- 实习具体遇到的一个难点是什么?你是如何优化的?
- 为什么想写这个网关项目?
- 简单讲一下RPC泛化调用是如何实现的?
- 解释一下进程和线程的区别。
- 什么时间/情况下会发生进程切换?
- 进程切换时,保存的上下文具体包含什么内容?
- 寄存器里都有什么?
数据表有id和stock两列,表中有一条数据(1,1),有下面执行流程: 1.Ta: begin 2.Tb: begin 3.Ta: select * from table where id = 1 for update 4.Tb: select * from table where id = 1 for update 5.Ta: update table set stock = 0 where id = 1 6.Ta: commit 7.Tb: select * from table where id = 1 8.Tb: commit- 描述特定步骤3,4,7的执行结果以及加了什么锁
- Mysql有哪些锁?什么时候会使用间隙锁?
- 在没有索引的情况下,步骤3加的是表锁还是行锁?有索引和没索引的区别是什么?
- 解释什么是快照读?
- 结合题目中的步骤,分析事务A和事务B的快照是如何更新的?
- 假设ID是唯一索引,插入数据时如何保证记录唯一?插入唯一索引时有加锁操作吗?
- 聚簇索引和非聚簇索引的区别是什么?什么时候构建聚簇索引,什么时候构建非聚簇索引?
- Java中有哪些并发安全的Map类型?不同版本下的底层原理是什么?在扩容时具体需要怎么操作?
- 什么时候可以开始实习?能实习多久?
手撕: 1. 给定二叉树和一个目标值,查找从根节点开始到任意子节点结束的路径,其节点值之和等于目标值的路径数量。
追问:算法的时间复杂度和空间复杂度是多少?
追问:递归调用具体用了怎样的空间?(栈帧内容)。
追问:栈最高的高度是多少?
2. 路径不限制从根节点开始,可以从任意节点开始到任意节点结束,求路径和等于目标值的数量。
追问:这种情况下算法的时间和空间复杂度?(涉及到前缀和+哈希表的优化思路)。
反问:
团队的技术栈是什么?
面试一共有几轮?
字节-番茄小说(三面)
2025.12.30
- 为什么简历上的两段实习每段都只有3个月左右?
- 为什么这一段规划是6个月?
- 没考虑过在美团多实习一段时间,或者一边实习一边找新的吗?
- 学校的事情怎么处理?
- 实习项目的背景是什么?为什么要用大模型做这个事?
- 用什么指标来衡量这个事情的效果?怎么判断做成了没?
- 提到的“成功率 60%-70%”具体是什么含义?分子和分母分别是什么?
- 如果两个用例覆盖了同一行代码,算几个?如果生成100个case有70个覆盖同一行,成功率怎么算?
- 决定生成用例数量的因素是什么?(是根据未覆盖文件的数量)。
- 启动项目时对成功率有预期吗?现在的 70% 是高还是低?
- 模型的好坏是用什么标准选出来的?
- 如果想继续优化提升成功率,有什么策略?(考察对项目瓶颈的思考)。
- 为什么要做这个网关项目(造轮子)?
- 网关起到了什么作用?如果不经过网关直接调用下游服务有什么区别?
- 网关怎么解决“不知道下游服务在哪里”的问题?
- 整体架构和模块划分是怎样的?请求链路是怎样的?
- 网关核心服务是如何将自身信息上报并刷新 Nginx 配置的?
- 解释一下“RPC 泛化调用”是什么含义?
- 入口流量是 HTTP,如何转化为 Dubbo 调用?
- HTTP 的入参(Request)是如何跟 RPC 的参数做映射的?
手撕: 1. 手写LFU缓存
追问:算法的时间复杂度和空间复杂度是多少?
追问:应该怎么实现?
追问:你项目中是使用的你自己写的LFU吗?
反问:
回答中的不足
米哈游-效能工具研发
2025.01.12
米哈游面试问题是红线,所以没有做记录,挂的原因是手撕(三数之和)虽然做出来了,但还是卡了一会儿
哈罗单车-数据中台
2025.01.12
- 实习离职的原因是什么?
- 美团那边所在的部门主要是做什么的?
- 你提到的“排期”是什么意思?
- 需求是如何流转到你手上的?你知道上游的协作流程吗?
- 从开发完成到正式上线,中间的具体流程是什么?(涉及PR、Code Review、上线文档等)
- “上线文档”具体包含什么内容?(针对数据库SQL脚本等)
- 如果下游团队提供的接口不对,谁来负责测试?不需要测试人员参与吗?
- 如果是面向C端用户的需求,流程会有什么不同?
- 发布上线需要考虑哪些风险控制点?(代码质量、下游限流、日志打点等)
- 如果你的代码带了一个空指针异常上生产了,且之前的措施都没发现,怎么办?
- 对于受影响的用户,应该怎么处理?(涉及回滚、补偿、复盘)
- 西安实习的这个项目的主要目的是什么?想解决什么问题?
- 数据来源是谁?为什么要你们做平台而不是设备厂自己做?
- 如果有多个设备厂,API接口不同,如何去兼容?(回答了策略模式)
- 如果厂商增加到10个、50个,你会怎么优化?
- 为什么要用“本地锁 + 双重检测”来实现登录?是为了解决什么具体问题?
- 如果没有这个锁机制,直接重新登录会怎么样?
- 为什么不通过流量控制或前端限制来解决?
- 定时任务是如何实现的?频率是多少?数据量多大?
- 为什么用定时拉取(Pull)而不是对方推送(Push)?
- 场景题:如果数据量扩大1万倍、10万倍,该怎么处理?(涉及分批处理、OOM防范)
- 场景题:如何处理脏数据或异常数据?(涉及时间戳校验、逻辑范围判断)
- 学校情况及是否能全职实习?
- 最快入职时间是多久?
- 实习能持续多长时间?
手撕: 1.两数相加(链表操作)
反问:
组内业务
一共几轮面试
快手-商业化广告
2026.01.27
- 你在美团实习了三个月,主要角色是什么?负责什么内容?
- 那个“基于LLM驱动的测试用例生成引擎”具体是什么?
- 具体使用的是哪家的大模型?
- 在大模型驱动方面,是简单调用,还是使用了提示词模板或微调?
- 怎么理解MCP?它和Function Calling的区别是什么?
- MCP除了方法调用,还有什么功能?
- 请讲一下线程池的使用原理。
- (追问中涉及)核心参数及其工作流程。
- 本地锁和分布式锁的区别是什么?
- 你为什么需要两把锁(先本地锁再Redis锁)?
- 本地锁和Redis分布式锁哪个性能更好?
- 如果使用了分布式锁,为什么还需要本地锁?在并发场景下,请求打到不同机器上,本地锁有什么用?
- 如果发生扩容,机器数量变了,怎么保证同一个订单的请求打到同一台机器?。
- 使用Redis作为缓存,你会考虑哪些内容?(缓存穿透、击穿、雪崩及数据一致性)。
- 设计一个网关需要考虑哪些技术点?
- 之前的方案是怎么做的?现在的分布式限流具体是怎么实现的?(涉及令牌桶、滑动窗口、Redis存储)。
- 网关的统一鉴权是如何建设的?
手撕: 合并区间(整体写出来了,但Comparator::comparingInt参数忘记了)
反问: 组内业务
快手-商业化广告(二面)
2026.02.03
- 先做一下自我介绍。
- 更换实习工作的原因。
- 实习时间是否与学校期末考试有冲突,以及具体的实习周期能否持续到9月份。
- 未来的规划是打算读研还是直接工作。
- 最快到岗时间。
- 详细讲解在美团实习期间负责的“调用链分析”具体是怎么做的。
- “调用链分析”的具体实现原理
- 介绍简历中提到的“多步骤 prompt 工程框架”模块的工作逻辑。
- 项目中遇到的难点或有意思的点。
- 在该项目中的具体角色,方案是自己独立摸索的还是 mentor 主导的。
- 在该项目中的主要收获,并要求举出具体的例子进行说明。
- 在美团实习时的工作强度以及每天的具体工作时长。
- 与实习团队的融入度如何,并要求举出一个比较正向的融入例子。
- 在实习期间是否有主动发掘并解决的问题
- 在美团入职多久后才开始负责真正的需求开发。
- 面对当前复杂的业务系统,评估自己需要多长时间能够完全接手并负责开发工作。
- 对这份实习生工作的诉求和要求是什么。
- 说明实习生工作会比较琐碎且倾向于“打杂”,对此的看法以及是否能够接受。
- 对未来的实习工作有什么具体规划。
- 如果工作内容一直安排做CRUD,是否能够接受。
手撕: 斜向打印矩阵
在不借助外部存储的情况下重新提供思路并实现优化。
反问: 需要我先学一些什么技术吗?
腾讯-hr业务线
2026.03.05
- ConcurrentHashMap 和 HashMap 有什么区别?
- ReentrantLock 和 synchronized 关键字有什么区别?
- 线程池的七大核心参数是什么?任务执行逻辑是怎样的?
- 如何评估和设置核心线程数?
- 如果系统中创建了过多的线程,会带来什么问题?
- 介绍一下 JVM 的内存模型?
- 实习中的线上发生 OOM 报警时,你是如何排查和定位问题的?
- MySQL 数据库的隔离级别有哪些?分别解决了什么问题?
- 什么是缓存穿透?你是如何解决的?
- 布隆过滤器的工作原理是什么?如何解决它带来的误判问题?
- 整个 Agent 自动生成测试用例的业务流程是怎样的?
- 如何防止 AI 读取过多文件导致 Token 超出限制或成本过高?
- 项目中使用的 MCP 解决了什么具体问题?
- 系统最终生成的测试用例,成功率是如何计算和评估的?
- 网关系统中哪些地方使用了异步操作?
- 为什么使用 Dubbo 的泛化调用?它有什么缺点?
- 实现了哪几种负载均衡算法?它们各自的适用场景是什么?
- 令牌桶和滑动窗口算法有什么区别?
- 网关的鉴权机制是如何设计的?
- Token 发出后如何防止被盗用或恶意复用?
- 为什么在项目中设计了“本地锁 + 分布式锁”的两级锁机制?
- 为什么要使用连接池复用连接?
手撕: 打印数组中的重复数字
反问: 组内业务
主要的技术站是什么?
字节-客服平台
2026.03.09
- synchronized 和 ReentrantLock 有什么区别?
- 在实际项目开发中,AOP有哪些使用场景?
- Spring AOP 会在哪些情况下失效?
- 介绍一下 MySQL 事务的机制及其四大特性?
- MySQL 有哪些隔离级别?可重复读级别下,会存在什么问题?可重复读是否能彻底解决幻读?
- 讲讲 MySQL 的锁机制分类?
- 如果在更新数据时,where 条件后的字段没有加索引,MySQL 会加什么锁?
- 你的网关项目整体架构是怎样的?网关中心、网关核心模块、SDK 之间是如何交互交互和分工的?
- 为什么会想到做这个网关项目?
- 配置热更新/Nginx 请求转发这部分具体是怎么串联的?
- 是否了解或使用过 ES 及其底层原理?
- 平时编程有没有使用过 AI 辅助开发工具?
手撕: 实现一个带过期时间的 LRU 缓存
反问: 组内业务
不问Golang八股吗?
腾讯-hr业务线(二面)
2026.03.13
- 请先进行一段自我介绍。
- 重点介绍一下自己的核心优势,以及在过往项目中受到的启发(如学到的东西、导师的指点、遇到并解决的触动较大的问题)。
- 用 AI 生成测试用例这个自动化流程,当时是基于什么样的业务背景去做的?
- 通过什么机制判断代码有没有被调用过?是怎么判断线上真实的请求有走到这些没有单测覆盖的分支上的?
- 平台底层是怎么记录这些流量和调用分支的?
- 既然方法可以通过动态代理来监控,那方法内部的具体代码分支(如 if-else)要怎么样才能监控到?
- 向平台获取分支覆盖信息时,传了哪些参数?由于文件会更新,版本这块是怎么控制的?
- 觉得这套覆盖率统计机制准不准?有没有哪些场景是没有考虑到的?
- AI 生成单测的功能,是主要针对存量项目,还是新项目?前后端都有这个要求吗?
- 你自己在写业务功能时,是怎么写单测的?
- 提示词是怎么管理的?是不是前端只需要维护一套?
- 如果 AI 生成的单测跑出来有问题或者需要修改,流程上是全自动的还是需要人工介入?需要业务人员做审核吗?
- 单测执行的结果是怎么获取的?有没有什么机制或平台来保证这个流程?
- 你做的这个网关项目有没有在哪些真实的场景中用起来?
- 对该网关的实现机制和底层流程是否了解?
- 开发语言主要用 Java,那对 Python 有了解吗?
- 能够用 Golang 独立写项目吗?
- 如果用户访问你的网站相应过慢你有哪些排查思路?
- 如果下游服务出现瓶颈,那你具体会怎么去验证这些可能性?
- 如果排除了网络层面的问题,单纯只是服务本身存在问题,你要怎么去验证和排查?
无手撕
反问: 一共几面?
对实习生的期望和需要补充的知识
Base地在哪?
字节-客服平台(二面)
2026.03.13
- 先简单做个自我介绍吧。
- 详细介绍一下在美团做过哪些工作,在这个过程中学到了哪些东西?你在美团还做过其他哪些工作?
- 在做这些项目的过程中,遇到过哪些比较困难的地方或难点?你是怎么一步一步去解决的?
- 什么是 A2A 协议?MCP 具体有什么区别,在协议上怎么交互,其底层原理是什么?
- 刚才提到节省 Token,接入 MCP 为什么/怎么就能节省上下文呢?把任务结果存到本地是怎么节省上下文的,后续不需要读取吗?
- 是否了解常见的减少上下文的方法,比如怎么做压缩、怎么做裁剪?
- 是否了解 OpenClaw 这个模型以及它出的工具搜索方案?是否了解 Scale 概念,它的原理是什么?
- 什么是一个好的 Prompt?它应该包含哪些结构?
- 这个 Agent 的整个架构是什么样的?从输入到怎么循环,最后怎么输出结果的?
- 跑任务最终执行得好还是坏是怎么判断的?你们的模型是多次调用还是单次生成?模型会自己选择调哪些工具吗?
手撕: 迷宫找最短路径
简单的连表查询
反问: 部门的技术栈和业务
字节-客服平台(三面)
2026.03.18
- 做一个简单的自我介绍
- 可以实习几个月
- 对AI这块有什么了解吗?
- 了解过OpenClaw记忆的存储形式吗?
- 你平时怎么用AI code的?有什么自己的范式?
- 讲一讲你在美团的工作
- 说一下A2A协议,如果在生成过程中需要再向用户获取信息怎么做?
无手撕
十分钟结束,大概率是KPI
腾讯-hr业务线(三面)
2026.03.24
- 做一个简单的自我介绍
- 你在美团实习做了什么事?
- 美团数据来源有哪些平台?千行代码错误率如果子服务有问题导致调用失败算谁的?
- 数据量有多大?
- 学GoLang的动机是什么?
- 有了解过RAG吗?PDF怎么做分片?
- 说一下Redis缓存一致性怎么保证?
- TCP三次握手失败会发生什么?
- TCP的粘包是怎么产生的?
- 链表的数组你能跟我讲讲区别吗?
- 有一个大型的电商系统,要给商品的价格做一个排序。商品的数量很大,而且有很多价格是负的。如果要你考虑给它选择一个合适的算法,你觉得你会怎么去选择这个算法呢?
- 有八个小铁球,其中有一个铁球是比另外的七个稍微重一点点的,那现在如果给你一个天平,你最少你能称几次把重一点点这个球找出来?
- 为什么实习要离职?
无手撕
无反问
字节-安全工程
2026.03.25
- 介绍一下你在美团参与的自动化测试代码覆盖率管理系统的开发工作。
- 在项目中除了使用 GLM4.6之外,是否调研或对比过其他大模型,以及选择它的原因是什么。
- 追问大模型生成测试用例的效果是否有经过评估和优化。
- 抛开具体的项目,询问你个人在 Prompt 工程方面有哪些其他的最佳实践经验。
- 什么是 MQTT 协议。
- 在对接第三方厂商设备时,具体的鉴权操作是如何实现的。
- Token 的格式是什么(是否包含 access token 和过期时间等)。
- 针对你提到的 MD5 加密登录,MD5 加密的意义是什么、厂商如何通过此方式认证你的身份,以及哈希计算时具体包含了哪些信息。
- 厂商提供的 Key 是对称的还是非对称的,对称密钥直接传输的安全性问题。
- 在更新数据时,你是如何维护缓存和数据库的实时一致性的。
- 如果更新或删除缓存失败了,应该怎么处理。
- 既然缓存有效期设置为 10 分钟,系统在初始阶段是否会进行缓存预热以降低数据库的压力。
- 谈谈对 Redis 缓存失效相关问题的认识。
- 网关项目是否实现了负载均衡,以及具体是如何做的。
- 后端服务如果发生了自动扩缩容,你的网关层是如何感知到的。
- 询问基于 JWT 的服务鉴权具体逻辑,Token 是在网关层处理还是透传给后端服务。
- 针对你在 Redis 中配置的密钥,询问这是公钥还是私钥,使用的是对称加密还是非对称加密(RSA/ECC)。
- 是否了解 TLS。如果要在你的网关中实现 TLS 认证,你会如何设计。
- 四层网关和七层网关在实现 TLS 认证时有什么区别。
手撕: 两个数组元素是否包含|相等|不等
反问: 部门业务和具体的岗位是做什么的
仅限内部评估是什么意思?后续的面试流程是不是常规的“3+1”?
字节-安全工程(二面)
2026.03.26
- 介绍自动化测试平台的背景需求以及你的系统是如何运作的?该系统生成测试用例给哪些目标用户使用?
- 线上真实流量是如何抓取的?什么是源码/字节码插桩技术?
- 你是如何通过 API 获取推荐流量,并调用大模型能力将其转换为测试用例的?
- 为什么在已经有 Function Calling 的情况下,还要额外调用外部的 MCP 服务来获取代码上下文?为什么需要获取更小粒度的代码?
- 在获取代码上下文时,系统是如何捕捉 HTTP 和 RPC 这种跨服务的复杂调用链的?
- 生成自动化用例之后的后续流程是什么?
- 一味提高代码覆盖率的实际业务收益是什么?你做的这个系统最终产生了什么样的实际业务效果?
- 既然你主要使用 Java 语言,为什么会选择用 Go 语言来重构和开发这个网关系统?做这个项目的核心目的是什么?
- 相比业界成熟的网关,你的网关想达到什么不同的效果?既然架构中已经有了 Nginx,你自研的网关还有什么存在的意义?
- 这个网关系统的实际性能和并发承载能力大概有多高?
- 操作系统中有哪些常见的线程调度机制?
- 发生线程上下文切换时,具体会保存哪些内容?
- 描述一次完整的网络通信过程。从你的服务向外部发起通信开始,在整个网络协议栈中,从上到下或从下到上分别发生了什么具体事件?
- 你的服务器端在监听到端口并接收到数据后,进行反序列化并处理业务逻辑的整个内部流程是什么样的?发送端是如何知道要把数据发给你这台服务器的?
- 公网 IP 和内网 IP 有什么区别?如果你的服务或服务器发生故障,你该如何恢复服务?需要采取哪些具体措施以及花费多少时间?
手撕: 二叉树的竖向遍历 || 分发糖果
反问: 为了更好地适配当前的岗位,自己还需要再补充哪些知识或能力。
团队的氛围是比较“放养”还是比较“push”
腾讯-腾讯地图
2026.03.30
- 你先做一下自我介绍。
- 你在美团主要做什么,具体能详细讲讲吗?
- 你实习了多久,一周几天?学校是否允许实习?
- 推荐流量是怎么自动是否有线上真实流量跑过代码的?
- 在实习中遇到的难点是什么?你是怎么解决的?
- 你们这个部门是做什么的?人员分配怎么样?你负责的部分是什么?
- 你们这个项目上线后,怎么量化效果?是在增量还是存量项目做的?
- 这个场景里,生成的结果到底怎么判断对不对?预期结果从哪里来?
- 怎么理解 Skill?它是干什么的?不同模型接入 Skill 时效果差别大不大?
- 了解OpenClaw吗?
- 有一个使用AI进行对账的业务场景,你觉得有什么问题?能怎么改进?
- 这种“发现问题、分析问题、跟踪问题”的流程,哪些环节能让大模型替代人?哪些不能?
- 如果工作量化不够明确、或者遇到职责边界不清的事,你会怎么处理?
- 这个网关项目里,怎么保证高性能?
- 如何保证网关稳定性?有没有心跳机制、下线机制、续约机制?
- 在项目里有没有遇到性能突然下降的情况?怎么定位和解决的?
- 这个项目上线时是怎么发布的?有没有灰度?你觉得还能怎么改进?
- 第一段实习主要做什么?
- 毕业后的工作规划是什么?会直接工作还是考虑读研?
- 如果消息积压很多,影响下游消费速度,你怎么快速处理?
- 投了哪些公司?现在面试进展到哪一步?
手撕: 合并两个有序链表,追问通用情况怎么写
反问: 业务和技术栈
腾讯-腾讯地图(二面)
2026.04.02
- 个人介绍
- 为什么不打算考研?
- 上一份实习为什么离职?
- 在美团实习时具体是做什么部门、什么方向的?
- 怎么看待AI对行业的冲击的?
- 怎么看待AI对“提效/质量/测试辅助”这类工作的影响?
- 既然你们是在做提效工具,那测试人员为什么不能直接用 AI 提效?
- 如果大家都能用 AI 写测试、搭测试流水线,那你们做的工具还有什么价值?
- 对未来职业规划是怎么考虑的?
- 打算实习到什么时候?
- 后期有什么规划?
手撕: 买卖股票的最佳时机
LRU
最长递增子序列的个数
反问: 对实习生有什么要求?技术上、性格上分别有什么期待?
字节-私有化支付
2026.04.03
- 做一个简单的自我介绍
- Linux 熟吗?
777权限代表什么? - 查看目录下有哪些文件用什么命令?
- 新建文件/目录用什么命令?
- 常用
grep做什么? - DNS 解析相关的配置文件知道吗?路径在哪?
hosts文件是干什么的?resolv.conf之类的文件你了解吗?inode的作用是什么?- TCP/IP 模型里,哪一层负责端到端可靠传输?这一层提供了哪些关键能力?
- ping
www.baidu.com背后发生了什么? - 为什么 TCP 断开连接要四次挥手?
- HTTP 和 HTTPS 有什么区别?HTTPS 是怎么保证通信安全的?
- 什么是索引?为什么索引能加快查询?创建索引有什么代价?
- B+ 树是什么结构,有什么作用?
- 你主要用 Java 还是 Go?
- Java 里有哪些垃圾回收器?
- Go 的 GMP 模型分别代表什么?
- GMP 的调度大概怎么运行?
- 在美团那段实习里,具体解决了什么业务问题?在里面主要负责什么?
- 为什么需要A2A?和单 agent 比有什么好处?
- MCP 和 FunctionCall 有什么区别?
- 提示词工程是怎么设计的?分几步?每一步输入输出是什么?
- 接触过 CI/CD 或部署流程吗?
- Docker 镜像和容器是什么关系?镜像是怎么构建出来的?
- 了解过 K8S 吗?K8S 的命令有实际用过吗?
- 你们写代码时接触过日志、指标、链路追踪这些吗?
- 你们会做埋点吗?
- 你在美团做过哪些数据采集、报表、监控相关工作?
手撕: 给定一个数从数组中拼出小于它的最大数
反问: 团队技术栈和业务
腾讯-研发管理部
2026.04.22
- 你的备选城市是不是深圳?老家在哪里?深圳会不会太远,能不能接受?
- 对腾讯这个方向有没有意向,是否接受做面向内部 AI 助手、代码助手这类业务?
- 在美团实习了多久,为什么没有继续实习?为什么从美团离开?
- 之前面过别的部门,后续为什么没推进?
- 你为什么能长期实习,学校是怎么安排的?
- 在美团做的这个项目,整体架构是什么?
- 你在里面具体负责了哪一部分,能不能挑一个具体问题详细讲?
- 这个项目的完整流程是怎样的:PR 进来后先做什么,再做什么?
- 覆盖率报告是怎么生成的?未覆盖代码是怎么定位的?
- 线上流量是怎么录制、回放、并和未覆盖代码关联起来的?
- 推荐流量是什么,流量录制比例是多少?
- A2A / Agent / MCP 在你这个流程里分别起什么作用?
- 为什么要用 JavaParser / AST / 调用链分析?
- 为什么还需要 CodeBaseMCP,而不是只靠 JavaParser?
- 你们怎么判断生成出来的测试用例合不合格?
- 这个项目最大的难点是什么?
- 你们做过哪些尝试,为什么前面的 RAG 方案效果不太好?
- 你觉得这个项目里真正依赖模型的环节是哪一步?
- 使用什么大模型?上下文多少?输出Token设为多少?
- 这个项目现在到底有没有真正上线落地?
- 如果这个功能上线了,你会关注哪些监控指标?
- 这个报表类功能一天大概会生成多少份?
- 运行多个Java程序,他们是共用一个JVM吗?
- Java 进程里堆区和栈区一般多大?
- 什么情况下会出现栈溢出?
- TCP 粘包和拆包为什么会发生?
- UDP 为什么通常不讨论粘包问题?
- 从本地磁盘读数据并发到网络,通常会经历几次内存拷贝?
- 你能按时序把“磁盘到网卡”的过程展开讲一下吗?
- 什么是零拷贝,它解决了什么问题?
- Go 一个 goroutine 大概占多少内存?
- goroutine 的栈会不会自动扩容,受什么限制?
- MySQL 和 Redis 的 QPS 大概是多少?
- 什么是一致性哈希,它解决什么问题?
手撕: 无重复的最长字符串
单词搜索
腾讯-研发管理部(二面)
2026.04.23
- 做一个自我介绍。
- 博客中的“一百面”是什么意思 ?
- 详细介绍该自动化测试用例生成项目的整体流程。
- 在这个项目中遇到过哪些棘手的问题?
- 在调用链很长的情况下,转化为大模型提示词时是否遇到过上下文污染或上下文失效的问题,以及工程上是如何做限制的?
- 该自动化系统在工程层面是否遇到过故障,或者考虑过哪些稳定性方面的规避措施?
- 是否已经正式部署上线?
- 第一份实习具体的业务场景。
- 项目最终产出展现的数据指标、整体的数据链路结构,以及MQTT数据来源。
- 说一下OOM事故的排查详情
- 连接池的连接数是由谁建立的,无法创建线程的具体原因是谁?
- 引入Redis缓存热点地块数据的动机,在报表业务中使用Redis的KV结构是否合适。
- 是否考虑过引入其他更合适的存储组件
- Redis和MySQL的具体流转逻辑,以及日常是如何进行缓存数据更新的。
- 网关项目有参考了什么架构或资料来写吗?
- 有做压测吗?压测是这么做的?
- 在网关中利用Redis发布订阅(Pub/Sub)机制作为轻量级心跳存在哪些潜在风险?
- 网关项目中是否有关于日志追踪或监控指标的设计?
- 为了更好地监控一个服务的正常运行,会为其设计哪些具体的监控指标?
- 在使用Java调用
Thread.start()时,底层是如何与Linux操作系统的API进行交互的? select、poll以及epoll的底层原理与核心区别?- 提问在终端敲下
ls命令到屏幕最终显示出目录信息的整个过程中,系统底层发生了哪些事情? - 一个二进制文件在目录中是如何被操作系统管理起来的,以及它是如何被加载分配内存并最终转变为运行态进程的?
- 在接美团offer时有什么其他流程?
- 了解过Harness Engineer吗?
手撕: 快排(要求选定最后一个元素作为基准数)
反问: 一共有几面?
对个人有什么期望?
为什么没问AI相关的东西?
腾讯-研发管理部(三面)
2026.04.27
- 是否打算考研?不选择考研的原因?
- 为何在大二下学期就很早去实习?专业课程是如何安排的?
- 认为自己能够长期从事软件研发工作的原因?最早什么时候开始尝试做软件开发的?
- 为什么没有继续留在美团?
- 老家在哪里,对前往深圳工作是如何考虑的?
- 未来的工作规划是什么?
- 操作系统分为内核态和用户态的原因和意义?
- 线程和协程的区别?
- 协程比较适合处理哪种类型的任务?以及不适合处理哪种类型的任务?
- 协程调度切换既然很快,为什么在CPU密集型任务下还会影响性能?
- 哈希和红黑树的区别?哈希速度快的原因?哪些场景适合使用哈希?哪些不适合?
- 在实际应用中,为什么更多使用红黑树而不是AVL树?
- 挑选一个有挑战性或对成长帮助较大的项目详细展开讲解?
- 网关项目是基于网上的开源案例修改的,还是从零开始手写的?
- 既然已经有了Nginx作为网关,为什么还需要在Nginx之后再自己开发一个API网关?
- 使用了什么编程语言?为什么网关核心模块要同时使用Java和Go两种语言重构?
- 当新连接到来时是启动新线程处理还是有其他做法?如果并发请求很大时该如何处理?
- Tomcat的线程主要作用是收发网络数据,还是用于后续的业务数据处理?
- IO多路复用的核心特点?
- 网关核心模块和网关中心模块的区别是什么?
- 本地限流和分布式限流的区别与联系?为什么有了本地限流还要做全局分布式限流?
- Redis的事务和MySQL的事务是否一样,二者最终达成的效果有什么区别?
- Nginx的架构是单线程还是多线程的?
- JWT鉴权的具体含义及其底层的鉴权原理(对称加密与非对称加密等)。
- 日常主要使用的开发语言及其占比。
- 主要使用哪些AI工具?为何要同时使用这么多款不同的AI工具?
- 现在写代码主要是依靠AI生成,还是自己手写?
- 会采用什么方式去检查AI生成的代码逻辑是否正确?
无手撕
反问: 我还可以补充哪些能力去更好的适配这个岗位?
三轮面试下来都没有问我AI相关的问题,您这边的考量是什么?
腾讯-研发管理部(HR面)
2026.04.28
- 做一下自我介绍。
- 从美团离职的原因
- 确认毕业时间是否为2027年6月份。
- 确认目前是否为全日制本科大三在读。
- 除了腾讯之外,当前还在投递或面试哪些其他公司。
- 对字节跳动的面试机会是如何考量的?以及在字节面试的是什么岗位?
- 未来的职业规划,想要从事什么样的工作?
- 如何看待AI爆发和代码智能化时代下,程序员担心被AI取代的职业焦虑?
- 课余时间除了课堂知识外,会通过什么渠道和方法拓宽知识面并了解AI领域的知识?
- 如何校验AI给出的回答或信息是否真实准确的?
- 介绍在美团实习期间遇到最有挑战的事情是什么?以及当时是如何解决的?
- 该项目最后的成果如何,取得了什么样的成绩?
- 在美团实习期间,在实践、公司文化、与人相处或知识专业技能方面有哪些收获?
- 是通过什么渠道了解到腾讯招聘实习生信息的?
- 原本意向工作地在其他城市的候选人是否能接受来深圳实习?
- 未来是否有在公司留用(转正)的意向?
- 最快的到岗时间以及整体的实习时长。
- 是否有亲属在腾讯工作?
无手撕
反问: 您对这个岗位的候选人的能力,或者各方面的软实力有什么期待?