Oracle 26NG SDE 面经|26NG 五轮 VO 上岸,全流程真实复盘

47次閱讀
No Comments

最近刚结束 Oracle 26NG SDE 的完整面试流程,从 Screening 到五轮 VO 再到 HM call,整体节奏非常紧凑,几乎没有“放水”的轮次。Screening 遇到的是一位非常友好的华人面试官,沟通顺畅、体验很好;但进入 VO 后画风明显变化,连续几轮技术面试 push 感很强,追问密集,整体更偏向真实工作场景下的工程能力考察。

Phone Screening

Screening 的题目是用 Golang 实现一个 simplified Redis-like data structure。面试官先简单确认语言熟练度,然后直接进入 coding,没有太多铺垫。

核心要求是设计一个可以同时支持 string 和 list 的 key-value 存储结构,需要实现 setlist.pushgetlist.remove 等操作。其中 remove 的规则比较细:count > 0 删除前 N 个,count < 0 删除后 N 个,count = 0 删除全部。另外还提到 expiration,但明确说可以 deferred,实现思路即可。

这一轮真正考的不是语法,而是抽象能力——如何统一不同数据类型的存储?是用 interface 还是 struct?list 删除如何避免不必要的遍历?写到一半时面试官还会问时间复杂度,以及如果数据量变大会怎么优化。

整体更像一次 mini system design + coding 的结合,只要结构清晰、代码干净,基本就稳了。

VO Round 1 – LRU Cache

第一轮 VO 上来就是经典的 LRU cache,没有任何铺垫,直接让你讲思路然后开写。

常规解法当然是 HashMap + Doubly Linked List,重点在于保证 get 和 put 都是 O(1)。不过 Oracle 的面试官明显不满足于模板答案,在写完后立刻开始 follow-up:如果是多线程环境怎么办?如何减少锁竞争?有没有更 scalable 的方案?

这一轮的感觉是——题目不难,但深度取决于你能聊多工程化。如果只停留在 LeetCode 层面,很容易被继续追问。

VO Round 2 – Merge Sorted Lists

这一轮的节奏非常典型:先给一道相对简单的 merge two sorted lists,当你快速写完后,马上升级为 Merge K Sorted Lists。

面试官其实在观察两件事:你是否会主动分析复杂度,以及是否知道更优解。双链表解法写完后,如果你自己提到可以用 min heap 把复杂度降到 O(N log K),基本会被认为思路成熟。

这一轮整体压力不大,但非常考察基本功——属于“不会挂,但能拉开差距”的题。

VO Round 3 – Delete Target Leaf Nodes from Binary Tree

第三轮是典型的递归树题:删除所有值等于 target 的 leaf nodes。但真正的难点在于,当 leaf 被删除后,它的父节点可能变成新的 leaf,需要继续判断。

这其实是在考察你是否具备良好的 recursion 设计能力,比如是否知道用后序遍历,是否能通过返回值直接告诉父节点“我该不该被删”。

面试官对代码可读性看得很细,包括命名、结构,以及是否有多余逻辑。整体写下来会发现——Oracle 对“production-style code”确实有要求,而不是只看能不能 AC。

VO Round 4 – Project Deep Dive + Coding

前半段是深挖简历,而且挖得非常细。从系统为什么这么设计,到 tradeoff,再到如果重新做会如何优化,几乎每个点都会被追问。很多人其实不是 coding 挂,而是挂在这里——因为对自己的项目不够熟。

后半段的 coding 是设计一个 Hospital Appointment Booking API。场景是医院有 1000 名医生,每位医生从 9AM 工作到 5PM,每 15 分钟一个 slot。API 需要为指定医生在指定日期预订“最早可用”的时间,并在多次 POST 请求之间保持状态。

这题本质上是轻量 system design。如何建模 doctor 和 slot?如何快速找到 earliest availability?如何避免 double booking?如果有并发怎么办?只要你开始主动聊 optimistic locking、数据结构选择或者状态管理,面试官通常会频繁点头。

这一轮非常看工程思维,而不是算法技巧。

VO Round 5 – Hiring Manager Call

最后一轮是 HM behavior,没有算法,但千万别放松警惕。面试官重点问了两个方向:你平时如何做 prioritization?当系统出现 failure 并影响客户时,你会如何处理?主要不是让你背 STAR,而是看你的思考方式是否像一个可靠的 team member。

给正在准备 Oracle 的你

如果你最近也在准备 Oracle 或其他大厂 VO,其实提前熟悉高频题真的非常关键。很多面试看起来不难,但一旦被连续 follow-up,没有系统准备的人很容易当场卡住。我们这边整理过大量真实 coding 和 VO 题目,覆盖面非常高,能帮你快速建立正确的解题和应对思路。

另外,如果对自己的临场发挥不太有把握,也可以了解一下 programhelp 的 面试辅助支持 。针对 OA、技术面等关键环节,都有成熟的协助方案,整体过程安全稳定。提前准备 + 合理支持,往往比临时硬扛更稳。

author avatar
Jory Wang Amazon资深软件开发工程师
Amazon 资深工程师,专注 基础设施核心系统研发,在系统可扩展性、可靠性及成本优化方面具备丰富实战经验。 目前聚焦 FAANG SDE 面试辅导,一年内助力 30+ 位候选人成功斩获 L5 / L6 Offer。
正文完
 0