先分岗位
Oracle 的不同岗位和团队可能考不同内容。先核对 JD 与面试邀请,再选对应题型。
Question Study
本地面经库有 35 条来源 URL 去重后的记录,其中 35 条有正文;目前整理出 67 道代表练习题,其中 67 道已完成独立深文。题目清单仍在逐帖核对和补充。
Reading Guide
题目根据面经方向重新表述,其中可能包含站内攻略建议的训练题;它们不是公司的官方题库,也不保证下一场面试重复出现。
Oracle 的不同岗位和团队可能考不同内容。先核对 JD 与面试邀请,再选对应题型。
相同核心考点只保留一条,后续的附加约束放在原题里练,避免把同一道题当成多道题刷。
先口述输入、输出和边界,再写核心方案;最后解释复杂度、失败路径和面试官可能追加的约束。
Featured Deep Dive
先把这道题的核心思路讲完整,再根据自己的目标岗位挑下面的题继续练。
合并 K 条按 key 升序排列的 (key,value) 链表;同一 key 在较后输入链表出现时覆盖较前链表的值,输出仍按 key 升序。
Deduplicated Question Map
同一题的追加条件合并在一条里。题目清单用于确定训练范围;具体流程和准备优先级见公司攻略。
合并 K 条按 key 升序排列的 (key,value) 链表;同一 key 在较后输入链表出现时覆盖较前链表的值,输出仍按 key 升序。
阅读这道题的独立深文 →两组数组分别给出 before 与 after 依赖,判断一个 query 顺序是否满足全部先后约束;明确 query 是否需包含所有节点。
解题切入:先把 query 中每个节点的位置写入哈希表,再逐条验证 before→after 的位置大小;是否允许缺失节点与重复节点必须先约定。
阅读这道题的独立深文 →维护用户登录事件,支持 log(userId) 与 firstUser();返回至今仅登录一次且首次出现最早的用户,两操作要求最坏 O(1)。
解题切入:哈希表记录用户出现状态,双向链表只保存恰好出现一次的用户,首次登录追加尾部、第二次登录 O(1) 删除,表头即答案。
阅读这道题的独立深文 →给定整数数组和 K,求长度不超过 K 的非空连续子数组最大和;含负数时不能用固定长度窗口替代。
解题切入:以 prefix[j]−窗口内最小 prefix[i] 求以 j 结尾的最优子数组;单调队列维护 i∈[j−K,j−1] 的前缀最小值,负数也适用。
阅读这道题的独立深文 →读取 userId action timestamp 日志;若某用户从 signin 到下一次 signout 的时差不超过 maxTime,返回至少有一次有效 session 的用户。
解题切入:按明确的事件顺序维护每个用户的未闭合 signin,遇下一次 signout 时比较时间差并加入结果;乱序、重复登录和未闭合会话需约定。
阅读这道题的独立深文 →海量 URL 访问日志且内存受限,求全局 Top K URL 和过去 24 小时 Top K;区分精确离线聚合与近似在线统计。
解题切入:全局精确 Top K 可先按 URL 外部分区计数再合并;24 小时精确窗口需保留可过期贡献,若内存不足应说明磁盘/分布式状态或近似误差。
阅读这道题的独立深文 →事件流格式为 (userId,eventType,timestamp),求过去 1 小时事件数量最多的 Top 100 用户;讨论滑动窗、迟到事件和批流处理。
解题切入:按用户维护 1 小时滑动计数,事件时间迟到需 watermark;Top 100 可定期从完整计数重建,避免把只能递增的堆当成精确可删窗口。
阅读这道题的独立深文 →设计海量微服务日志收集,求过去 5 分钟错误日志数量 Top K 服务;说明告警延迟、容错与核心方法。
解题切入:日志摄入先过滤和规范化错误事件,按服务与 5 分钟窗口维护可过期计数;展示 Top K 时说明刷新周期、重复日志和分区故障。
阅读这道题的独立深文 →监控 100 万个 VM:比较主动 ping 与每 10 秒一次 heartbeat,并保证 5 分钟内覆盖健康状态;估算瓶颈和故障语义。
解题切入:100 万 VM 每 10 秒心跳约 10 万事件/秒;ping 还叠加请求与回复。按分片聚合健康状态、超时阈值与连续失败次数评估 5 分钟覆盖能力。
阅读这道题的独立深文 →实现简化 Redis-like 结构:set 字符串、list_push 头插、get,以及 list_remove 按 count 正负和零从前/后/全部删匹配值;TTL 暂缓。
解题切入:用带类型的值区分字符串与列表;list_push 头插,list_remove 按 count 正/负/零从头/尾/全部删除匹配项,TTL 在原帖明确 deferred。
阅读这道题的独立深文 →实现 LFU cache,说明频次相同时的淘汰规则;Oracle 原帖补充更正了最初写成 LRU 的题型。
解题切入:LFU 用 key 索引和频次桶,get/put 后迁移频次;若频次相同用 LRU 作为训练并列规则,容量为零和更新已有键要测。
阅读这道题的独立深文 →合并两条有序链表,并追问合并 K 条有序链表;说明是否复用节点、并列值顺序与堆复杂度。
解题切入:两链合并用哨兵双指针;K 链合并用节点值和来源编号组成的小根堆,每取一节点再压入其后继,明确是否复用原节点。
阅读这道题的独立深文 →删除二叉树中值为 target 的叶节点;删除孩子后若父节点变成 target 叶子,还需继续删除。
解题切入:后序遍历先处理左右孩子,再判断当前节点是否已成为值为 target 的叶子;自底向上自然覆盖连锁删除。
阅读这道题的独立深文 →设计医院预约 POST API:1000 名医生每天 9:00–17:00,每个预约 15 分钟,按给定医生和日期预订第一个可用槽位并跨调用保持状态。
解题切入:每医生每天 32 个 15 分钟槽位,可用位图或数组保存;在原子事务里找最低空位并占用,重复 POST 用幂等键避免重订。
阅读这道题的独立深文 →只允许一次买入和一次卖出股票,求最大收益;卖出必须在买入之后,说明无盈利时返回值。
解题切入:扫描价格时维护历史最低买价和最佳利润;当前价减最低价只能用于当日及之后卖出,无盈利返回 0 作为训练约定。
阅读这道题的独立深文 →求二叉树 bottom view:按水平距离保留从下方可见的节点,澄清同深同列节点的并列规则。
解题切入:BFS 携带水平距离与深度;每列保留深度最大的节点,同深并列需约定左先或右先,最后按水平距离排序。
阅读这道题的独立深文 →金币、银币、混合硬币三袋的标签全错,只从一袋取一枚硬币,如何正确重贴所有标签?
解题切入:从标为“混合”的袋子抽取一枚:因所有标签错,该袋实际是纯金或纯银;据抽到的币确定它,再用剩余两袋标签全错的约束推完。
阅读这道题的独立深文 →从左到右压缩连续重复字符:单个字符原样输出,多个字符输出字符后接连续次数,例如 aaaaabbbccca。
解题切入:单次扫描相同字符 run,长度 1 原样输出,否则输出字符加十进制次数;多位数计数、空串和数字字符的解码歧义需说明。
阅读这道题的独立深文 →已排序整数数组原地删除多余重复值,使每个值最多出现 k 次;时间 O(n)、额外空间 O(1)。
解题切入:写指针保留前 k 项,之后只有当前值与输出中倒数第 k 项不同才写入;k=0 直接返回 0,输入已排序是关键前提。
阅读这道题的独立深文 →已排序请求时间戳,1 秒最多 3、10 秒最多 20、60 秒最多 60;求被丢弃数量,且丢弃请求仍计入后续额度。
解题切入:对每个请求按包含所有请求的原始时间序列检查 i−3、i−20、i−60 的窗口阈值,任一超额只计一次丢弃;丢弃项仍留在历史中。
阅读这道题的独立深文 →给定视频站网页 URL 的 schemaName、host、port,设计面向全球用户的视频流媒体系统;澄清 URL 在题中用于入口、来源还是资源标识。
解题切入:先澄清网页 URL 与视频资源 URL 的角色,再把播放拆成元数据/API、转码、分片存储、CDN 分发和播放器缓冲;用并发与码率估算全球出口成本。
阅读这道题的独立深文 →设计企业远程浏览器隔离系统:认证、授权、数据流、网关、限流、虚拟节点与边缘服务的职责和故障边界。
解题切入:身份在入口校验、策略在每次会话与外发动作执行;隔离浏览器运行在短生命周期容器/虚拟节点,流式画面经网关和边缘送达客户端,并审计剪贴板/下载。
阅读这道题的独立深文 →大规模电商平台基于浏览历史推荐商品:设计候选召回、排序、冷启动、反馈、延迟预算与线上评估。
解题切入:浏览事件按用户与时间形成短期兴趣特征,候选召回后过滤库存/配送约束再排序;训练标签和线上特征要同口径,实验同时看下单与负反馈。
阅读这道题的独立深文 →不同 treatment 有不同治疗频率,给定时间范围,计算范围内所有治疗时间;先约定开始锚点、日历规则与重复安排。
解题切入:先定义治疗起点、频率与结束边界;以生成器按各 treatment 的日历规则推进,汇总范围内时间并按时间/治疗名稳定排序,防止跨时区重复。
阅读这道题的独立深文 →将本方数据表映射到第三方数据表,列名和模式不同;设计字段映射、类型转换、版本与数据质量验证。
解题切入:用版本化字段映射表表达来源列、目标列、转换函数和默认值;先做 schema/类型校验,再抽样对账与失败行隔离,避免静默错列。
阅读这道题的独立深文 →给定 prefix 与 dictionary,返回所有匹配字符串;字典应初始化一次并与查询逻辑分离,追问按词频优先排序。
解题切入:Trie 在构造时建一次,查询沿 prefix 定位后 DFS 收集;词频排序要明确是全量匹配后排序还是节点预存 Top K,并定义频次更新口径。
阅读这道题的独立深文 →Agent 输出主观且非确定时如何评估?用户未必反馈、LLM judge 可能过度自信、开发者打分可能有偏差。
解题切入:建立可复核任务集与多次采样,分任务/风险级别量测正确性和方差;LLM judge 需用人工标注校准,缺用户反馈时结合可验证任务结果与抽样审查。
阅读这道题的独立深文 →只用两个 stack 实现 queue 的 enqueue/dequeue/front;解释惰性搬移的均摊复杂度和空队列边界。
解题切入:入队压入 input 栈,出队/看队首仅在 output 空时将 input 全部倒入;每元素最多进出两个栈各一次,因此均摊 O(1),单次转移可 O(n)。
阅读这道题的独立深文 →医院 chatbot 要回答部门地址、查医生并预约;设计结构化查询与 RAG 的边界、权限、幻觉控制和预约确认。
解题切入:部门地址和医生排班走受信结构化 API;RAG 用于可引用的非交易知识,预约必须经明确意图确认与原子写入,低置信度转人工。
阅读这道题的独立深文 →设计 Video Upload + Search:视频上传、异步转码、video-to-text、LLM 与 embeddings,支持按内容检索并说明失败恢复。
解题切入:客户端用受限上传 URL 直传对象存储,异步转码/切片与语音转写,生成带时间戳的全文和向量索引;搜索结果回链视频时间段,失败可重试。
阅读这道题的独立深文 →自己实现单链表的基础方法,再原地反转整条链表;明确空链表、单节点与头指针更新。
解题切入:单链表用 head 和 next 保存顺序,append/find/remove 先声明接口;反转时保存 next 再改指针,逐步将未处理后缀移入反转前缀。
阅读这道题的独立深文 →字符数组中一旦出现三个连续相同字母就全部消除,消除后若又形成三连继续消除,返回最终序列。
解题切入:用栈维护当前末尾字符及连续计数;新字符形成三连时立刻弹出,下一字符可能与前面的栈顶继续合并,实现连锁消除。
阅读这道题的独立深文 →字符串中 # 代表删除前一个字母,扫描后返回最终字符串;连续退格和开头退格的行为需约定。
解题切入:用字符栈处理普通字母与 #:普通字母入栈,# 则在非空时弹栈;开头或过多退格按训练约定忽略。
阅读这道题的独立深文 →已聚合 CPU 占用率数组只有一个峰时找到最大值位置,比较线性扫描与单峰二分;多个峰时解释为何需改变保证。
解题切入:严格单峰数组可比较 mid 与 mid+1 的斜率决定保留哪半边,O(log n) 找峰;任意多峰时该证据不足,求全局最大需线性扫描。
阅读这道题的独立深文 →在 LC 1944 向右能看见人数的基础上,额外求每个人向左能看见的人数;明确身高相同的规则。
解题切入:在互不相同身高训练版中,用单调栈从右扫得右侧可见人数;反转数组再做一次并反转结果得到左侧人数,仍为 O(n)。
阅读这道题的独立深文 →设计打开社交首页时获取用户 profile 与 post history 的 API;定义分页、权限、缓存与读时延。
解题切入:首页 profile 与 post history 可分字段/游标接口;先鉴权与可见性过滤,再做稳定分页和缓存,避免一次请求返回无限历史。
阅读这道题的独立深文 →给已有 folder name→file list 的内存映射,补 checkIfFolderExists、createFolder、createFile;先确认重名、路径与文件覆盖规则。
解题切入:按原帖已给 folder name→file list 映射实现三接口;训练版只处理单层文件夹,并明确同名目录、重复文件和不存在父目录的错误行为。
阅读这道题的独立深文 →实现 LC 11 盛水最多的容器:从两端向内移动较短一侧,并解释为什么不会漏掉更大面积。
解题切入:双指针从两端算面积,较短边向内推进;当前宽度缩小后若不提高短边高度,不可能超过当前面积。
阅读这道题的独立深文 →比较两棵 N 叉树是否相同:节点值与有序孩子结构一致,说明空树、孩子顺序和深树边界。
解题切入:按孩子位置递归比较值与孩子数量;一棵为空另一棵非空立即 false,孩子是否有序是必须先澄清的语义。
阅读这道题的独立深文 →验证括号字符串是否合法:每个右括号必须匹配最近尚未闭合的左括号;空串与多种括号并测。
解题切入:遇左括号入栈,遇右括号必须匹配栈顶;结束时栈为空才合法,计数相同不足以证明嵌套正确。
阅读这道题的独立深文 →解码合法的 k[encoded_string] 嵌套字符串,k 为正整数、原文无数字,输出长度不超过 10^5;原帖误标 LC39。
解题切入:用栈保存遇到 [ 前的字符串与重复次数,] 时弹出并拼接;多位 k、嵌套与输出长度上限要验证,不能把 k 后没有方括号当合法输入。
阅读这道题的独立深文 →软件包部署有依赖,给定包与依赖关系,输出合法部署顺序;若存在环则报告不可部署。
解题切入:建立 dependency→package 的有向边,按入度零的节点逐个部署并减少后继入度;输出数少于包数即有环,部署失败需回滚或重试。
阅读这道题的独立深文 →已有单体服务遇到扩容瓶颈时如何逐步拆分、独立扩缩容并处理跨组件调用与数据一致性?
解题切入:先 profile 找单体真正瓶颈与共享数据库耦合,再按业务边界抽出可独立扩容的组件;用契约、事件幂等和渐进流量切换降低拆分风险。
阅读这道题的独立深文 →手写多头自注意力核心计算:明确 Q/K/V 的 shape、每头切分、缩放 softmax、mask 与结果拼接。
解题切入:把模型维 d 分成 h 个头,每头算 QKᵀ/√d_head,经可选 mask 和稳定 softmax 加权 V,再按原头顺序拼接;投影权重与 batch 维若未给需先约定。
阅读这道题的独立深文 →手写稀疏矩阵乘法:明确 COO 或 CSR 输入、重复坐标、shape 校验,仅枚举非零项并验证结果。
解题切入:训练版用 COO 非零项建立 B 的行索引,对 A 的每个非零 (i,k) 仅乘 B 行 k 的非零 (k,j),同坐标结果累加并删除零值。
阅读这道题的独立深文 →LC 846 Hand of Straights 的无重复数字变体:给 groupSize,判断牌能否分成等长连续组。
解题切入:无重复手牌先排序并要求总数可被 groupSize 整除;每个连续块的相邻值必须差 1。若允许重复,则需改为最小值计数贪心。
阅读这道题的独立深文 →设计 Bitly 类短链接:创建短码、重定向、唯一性、缓存、点击统计和滥用防护。
解题切入:短码写入需唯一约束和可重试分配,跳转走低延迟查表/CDN,点击事件异步统计;先约定 301/302、过期和恶意链接处理。
阅读这道题的独立深文 →实现经典 LRU Cache;Oracle 原帖只给题型,训练接口需自行声明 get/put、容量及淘汰语义。
解题切入:哈希表定位节点,双向链表维护最近使用顺序;get/put 命中移到尾,满容量淘汰头部,容量零与覆盖写入要明确。
阅读这道题的独立深文 →DFS 收集树的所有叶节点值,明确从左到右顺序、空树、根节点也是叶的情况。
解题切入:DFS 到无孩子节点时收集值;按孩子给定顺序遍历即可稳定输出,根无孩子也应作为叶;若只要数量可不保存结果。
阅读这道题的独立深文 →LC 200 岛屿数量:按四连通规则统计 0/1 网格里的连通陆地块,处理空网格与边界。
解题切入:遍历每个未访问陆地格,用 BFS/DFS 扩展四邻连通分量并计数;对角接触不连通,访问标记防重复。
阅读这道题的独立深文 →数据中心摄像头密码出错时,分别给出 1 小时、24 小时与一周的处置计划;明确受影响设备、现场补偿、恢复访问和后续复盘。
解题切入:先确认密码异常是认证故障还是凭据泄露;1 小时内界定范围、维持人工安保并建立事件指挥,24 小时内分批恢复和留证,一周内轮换与复盘。
阅读这道题的独立深文 →如何写有价值的单元测试,它能带来什么好处?用一个具体函数说明正常、边界、异常与回归测试。
解题切入:用可观察的输入输出契约设计单测:成功、边界、异常与回归各一例;让测试稳定、隔离且能指出失败原因,外部依赖另做集成测试。
阅读这道题的独立深文 →描述与同事发生真实冲突的一次经历:双方目标和证据是什么,如何直接沟通、决策与跟进结果?
解题切入:用真实项目冲突回答:各自目标和限制、首次直接对话、共同证据、谁做决定、实施后量化结果;若需要升级说明触发条件和事后关系修复。
阅读这道题的独立深文 →需求不明又有时间压力时,如何澄清、改变项目 scope 并控制承诺?用一件真实项目说明取舍。
解题切入:说清原需求与新证据、时间和资源边界;把 must-have 与可延期项写给利益相关者确认,说明改 scope 后的验收标准与回滚条件。
阅读这道题的独立深文 →讲一次项目做砸或错过 deadline 的经历:何时发现、如何通报与止损、结果和后来改进。
解题切入:给具体偏差时间线:何时知道将延期、何时主动通报、如何调整交付和客户影响、最后的真实结果以及以后改的预警机制。
阅读这道题的独立深文 →讲一次辅导同事成长的经历:如何诊断障碍、设计练习、给反馈并验证对方独立完成工作。
解题切入:从被辅导人的目标和基线出发,给逐步递减的支持与可观察练习;用其独立交付和反馈衡量成长,避免把帮助等同于替人做事。
阅读这道题的独立深文 →选择最有挑战或最自豪的跨团队项目,讲清个人 ownership、架构取舍、对齐、影响与证据。
解题切入:项目答辩画出原架构与关键约束,区分团队成果和本人决策;用跨团队对齐记录、指标或故障结果支撑 impact,也承认失败和取舍。
阅读这道题的独立深文 →已知整数 a、b,不使用第三个变量交换两者;解释 XOR 推导、同值、类型限制和是否真有工程收益。
解题切入:XOR 三步 a^=b、b^=a、a^=b 可交换整数;先说明 Python 同时赋值更清晰、固定宽度语言也可用临时变量,题目的限制是面试训练。
阅读这道题的独立深文 →实现按 key 的精确 rolling-window 限流:窗口内最多 L 次成功请求,明确半开窗口、拒绝请求是否占配额和并发原子性。
解题切入:每个 key 用 deque 保存成功请求时间,先删 t≤now−W 再判断数量;训练版拒绝不入队、单 key 时间非递减,并发下检查与追加需同一原子区。
阅读这道题的独立深文 →HashMap 在多线程读写和大数据量下如何变化?说明并发一致性、扩容、哈希碰撞与平均/最坏复杂度。
解题切入:并发 map 要先定 get/put/remove 的线性化语义;扩容需要迁移和安全发布,数据量增加通常影响内存与缓存局部性,不能仅因 N 大就断言期望 O(1) 变 O(log N)。
阅读这道题的独立深文 →资源不足时如何给多个任务排优先级?发生失败并影响客户后,如何通报、止损和跟进?
解题切入:用客户影响、时限、依赖和可逆性排序;故障时先确认范围、告知 owner 与客户、止损和恢复,再给有时间戳的更新与复盘。
阅读这道题的独立深文 →讲一次自动化流程的经历:原来怎样手工操作、为什么值得自动化、如何验证正确性与维护收益?
解题切入:量测原流程耗时和错误率,自动化先实现幂等、dry-run 与日志;在小范围验证结果后推广,用节省的人时和事故变化衡量收益。
阅读这道题的独立深文 →碰到完全不熟悉且信息不足的问题,如何找到最小事实、提出假设、验证方案并在时间限制内推进?
解题切入:先分清已知事实与假设,找领域 owner 和最小可复现实例;对高风险未知做限时验证,给出决策条件和下一次更新时间。
阅读这道题的独立深文 →别人给过什么具体反馈?你如何判断它是否成立、改变行为,并用后续结果证明进步?
解题切入:用具体反馈原话或行为描述说明盲点,采取可观察改动并请对方复查;前后对比交付、协作或质量结果,不把所有变化归因于自己。
阅读这道题的独立深文 →为什么换工作、为什么选择 Oracle?把岗位匹配、真实项目和自己的成长目标连起来。
解题切入:解释当前岗位为何不再契合目标,再用目标 Oracle 团队的实际工作、规模或技术问题匹配自己的经历;避免凭空声称某团队文化或题目偏好。
阅读这道题的独立深文 →如何在个人项目中使用 AI?说明任务边界、基线、错误评估、隐私风险与实际收益。
解题切入:个人 AI 项目先定用户任务和非 AI 基线,再测准确率、失败类型、人工复核与成本;谈隐私和误用,区分 demo 与真实部署。
阅读这道题的独立深文 →是否愿意做全栈开发?说明已有经验、可承担范围、学习计划及岗位长期方向。
解题切入:真实说明已做过的前后端范围和愿意承担的学习曲线;给具体跨栈交付例子与质量边界,不用无条件承诺替代岗位匹配判断。
阅读这道题的独立深文 →Evidence Review
这些帖子只给题名、部分约束或外链;先标注证据缺口,再决定是否补成独立文章。
只写设计 chat app 和结合 LLM,未给角色、消息模型、规模、LLM 能力或安全约束;不能套医院 Chatbot 的题面。
公开正文对 diastolic−systolic 与差值小于 bpDiff 的比较方向互相矛盾,示例响应又只有图片;待核原题条件。
公开内容有商品、价格、折扣和重复清单项,但未说明折扣叠加、缺失商品及精确输出规则。
帖子示例输出 [0,4] 与自然语言描述不一致,不能据此推断索引或替换输出。
只给一组含 # 的示例,缺完整编码语法和合法输入定义。
原帖说明 codebase review 和 command pattern 方向,但没有具体 CLI 功能、operation 类型或初始状态语义。
帖子说无多重依赖且要打印路径,但路径的目标、依赖方向和无解输出均未公开。
只给 LC 编号或系统方向,具体交互接口、规模及边界在积分墙后或没有公开。
公开正文只给题名或方向,缺输出形式、重复规则和计步器产品需求。
原帖只提问新版本特性,未写具体版本或特性;不把任意近期版本变化写成实际面试题。
帖子只记得题名,未给任务、资源容量、时间或目标函数,无法确定是调度、覆盖还是区间问题。
记录仅提供系统或知识方向;调度任务约束、数据库题、Java 追问、tree/trie/DP 题面均未公开,不能补成特定原题。
公开段落没有定义所谓无环变体的输入结构与排序规则,其余谐音题号也缺少可核题面。
Next Step
题目只是准备的一部分;按公司攻略核对轮次、岗位差异和常见失分点。