一、自我介绍
- 先做一下自我介绍。
二、操作系统基础
- 讲一下页表 和中断的流程。(虚拟地址到物理地址的映射、用户态/内核态切换是怎么发生的?)
三、网络 I/O & Netty
- 讲一下 Reactor 模型。Netty 的组成对应到 Reactor 模型里是怎样的?
- epoll 是怎么工作的?
- 你的 IPC 框架里,零拷贝具体是怎么做来提升性能的?(Netty 层面有哪些零拷贝的手段?)
四、自研 RPC / 协议设计
- 你简历写了基于 TCP 自研 RPC,相比 HTTP/2 性能更好------TCP 和 HTTP/2 的区别是什么?为什么 TCP 会更快?
- 那你当初为什么不直接用 HTTP/2 或 gRPC,而要自己写一套基于 TCP 的协议?
五、JUC / 并发
- 讲一下 AQS 的核心原理。
- 讲一下 CAS 的 ABA 问题,怎么解决?(Java 提供了哪些类?)
六、性能测试
- 你简历里写了用 JMH 做基准测试------JMH 是怎么避免 JIT 优化对测试结果的干扰的?
七、MySQL
- MVCC 是怎么实现读写隔离的?
- Read View 包含哪些核心字段?可见性是怎么判断的?
- RC 和 RR 这两个隔离级别下的 MVCC,区别在哪里?
八、AI / RAG
- 讲一下你智能面试系统里 RAG 的完整流程。
- 用的是什么 embedding 模型?向量维度多少?
- 向量怎么存储和检索的?(用了什么向量数据库?)
九、AI 工具使用
- 你平时用过哪些 AI 工具?怎么用的?
十、性能优化(简历追问)
- 简历里写"接口 RT 从秒级优化到 200ms"------具体是怎么做的?
- (追问 / 戳穿)其实就是流式输出和非流式输出的区别吧?
十一、算法题
- Codeforces 3A · 国王最短路径 :8×8 棋盘上一个国王(坐标格式 a1--h8),可以向 8 个方向(含对角线)每次走一格。给定起点和终点,输出最短步数 和每一步的方向(L/R/U/D 及其组合)。
思路要点:
max(|dx|, |dy|)即为最短步数;先走对角线min(dx, dy)步,再走直线|dx − dy|步。
面试官最后的反馈
- 基础比较扎实
- AI 实践这块做得不错
- 算法手速需要练,思路对但 25 分钟没写出来比较可惜
首先就是滴滴面试体验是最差的,唯一一家让我一直等的等了五分钟才有人来面试,而且什么都不说,其次就是没有会议室面试直接在工位面试,特别吵影响思路,但是没有办法
其次就是感觉滴滴不缺人,算法实现思路什么的没有问题但是没有实现出来,反馈的时候说不错但是结果秒挂(666,真的难评),但是说白了我确实也有问题,这个虽然不是力扣题但是是easy,没有写出来确实是我菜
但是确实这个面试官问得很普通很简单,搞不懂,反正我没感觉这个面试官很有水平,后续也因为流程不给我终止导致我没有办法继续投递滴滴,体验非常差,严重差评!!!