最近看到有说法认为 Uber 的SDE面试比较“水”,但是亲身经历下来并不是这样的。整个流程很紧凑而且有一定难度,特别是OA和电面。 Uber OA 题目都能在leetcode中有影子,最近Uber最近开始秋招,半个钟之内都能AC,他们家的OA和VO都很熟悉,另外其他家的TikTok,Meta,亚麻都没问题。
1. Uber OA – 70分钟
形式:70分钟内完成4道coding题。
难度分布:个人感觉是2道Easy,1道Medium,1道Hard(我遇到的Hard是第3题)。
体验:时间非常紧张。整体难度梯度明显,Hard题有一定挑战性。建议先解决Easy/Medium题,确保拿到基础分,最后再攻坚Hard题。如果一开始卡在难题上,比较容易容易心态不稳而且时间也不太够用。考察类型比较经典,可以尝试提前针对性刷题(类似题目网上可以找到)。
今年秋招变化不大,还是四个coding,一般是两道基础,两道medium,偶尔有hard,一般就是贪心,dp,滑动窗口的题,简单说一下今天这场,先发两题,这次四个coding都顺利AC,70min时间紧,手速要快,题目难度浮动挺大的。
Uber OA Question 1
给定一个无向树,先移除一条边,得到的两个子树的和之间的差异,求这个最小差值。
思路:先计算整棵树所有节点的权重和total,再用dfs遍历树,计算每个节点的子树和subtree_sum,历遍所有边,每条边计算删除这条边后形成的两个子树权重和差异,记录最小值。
Uber OA Question 2
根据公交发车时间表和当前时间,确定自上次公交发车以来经过的时间。
思路:先把所有时间转换成分钟数方便计算。历遍发车时间表schedule,保留所有早于等于分钟数的班即已发车,并储存为分钟数列表。如果没有发过车,就返回 -1。否则,计算当前时间和最近一班车发车时间的差,就是等了多久。
2. Phone Screen – 约45分
形式:面试官风格比较直接,自我介绍后立即切入正题。
重点:深度挖掘resume项目。面试官要求我从启动背景、设计思路、技术选型、遇到的挑战&解决方法以及成果和复盘等多个不同角度详细介绍了一个project。整个过程中会不断follow-up细节。
体验:压力相对较大,问题细而且节奏快。面试前要彻底复盘熟悉resume,确保能清晰、有条理地阐述peoject的细节,并能应对deep dive。准备不足容易在这一轮卡壳。
3. Onsite – 5轮,每轮约45分钟
轮次安排:总共5轮,中间大概半小时休息。面试官很专业,沟通氛围友好。
轮次内容:
- Round 1 (Coding): 标准的算法与数据结构考察。题目难度中等偏上,需要清晰沟通思路,写出清晰代码并通过测试用例。
- Round 2 & 3 (System Design): 继续深入探讨resume上的project,比电面细致很多。涉及到了系统设计、技术权衡、扩展性、故障处理等。有些问题会根据project进行延伸,看面经好像是视级别而定。
- Round 4 (HM): 这一轮比较注重软技能和JD匹配度。内容主要是一些经典问题,部门业务介绍、团队目标、职业规划、个人优势与劣势分析、过往在学校/工作中的协作与解决问题实例等。由于前面project聊得比较透,这轮反而感觉很顺畅。
- Round 5 (culture fit): 主要考察BQ、团队合作、Uber价值观匹配。
Uber 面试体验
现场面试强度很高,连续5轮对精力和专注力是很大考验,会感到疲惫。但面试官普遍比较Nice,会营造轻松的讨论环境。Tech轮要扎实基础,并且可以清晰断表述,resume上的项目要经得起反复推敲。
ProgramHelp提供专业的OA代做,面试代面、面试辅助服务,如果你也需要我们的Uber OA代做、面试辅助服务,请立即联系我们!