news 2026/7/16 15:05:20

Uber VO Coding 面经|45 分钟 3 题,全是真·业务与基本功

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Uber VO Coding 面经|45 分钟 3 题,全是真·业务与基本功

最近带的一场 Uber Virtual Onsite(Coding)让我印象挺深的。
不是因为题有多偏,而是三道题组合得非常“Uber”

  • 一道纯算法基本功

  • 一道标准交易数据 SQL

  • 一道带 cohort 思维的业务进阶题

45 分钟,三题,没有多余寒暄。
如果你目标是 Uber 的 DS / Scientist / DE,这套题值得完整拆一遍。


第一题:不用任何库函数,实现sqrt(x)

题目

Implement sqrt(x) without using any external library.

第一反应其实很容易写歪。

当时学员直接写了一个0 → x/2 的线性搜索,逻辑没错,但时间复杂度是 O(n)。
面试官没立刻打断,但表情已经很微妙了。

正确解题思路

这道题本质不是考你会不会算平方根,而是:

你能不能在“禁用库函数”的前提下,自己构造一个可行算法

标准解法就是二分搜索

  • left = 0, right = x

  • 每次取 mid = (left + right) / 2

  • 比较mid * midx

  • 根据大小关系收缩区间

  • 如果允许小数,设精度(如 1e-6)

面试官真正看的是什么?

  • 你是否自然想到binary search

  • 你是否意识到复杂度问题

  • 你是否能自己定义「停止条件」

Uber 很喜欢这种题型:
sqrtlogpowabs—— 全是算法思维裸考


第二题:上个月,每个城市赚最多的前三名司机

表结构

(driver_id, date, trip_id, payment, city_id, is_completed)

要求
找出「上个月,每个城市,赚得最多的前三名司机」。

这题非常 Uber。
一眼就是业务题,但核心考的是你SQL / Pandas 的熟练度

SQL 标准解法

WITH monthly AS ( SELECT city_id, driver_id, SUM(payment) AS total_payment FROM trips WHERE date >= DATE_TRUNC('month', CURRENT_DATE - interval '1 month') AND date < DATE_TRUNC('month', CURRENT_DATE) AND is_completed = TRUE GROUP BY city_id, driver_id ) SELECT * FROM ( SELECT city_id, driver_id, total_payment, ROW_NUMBER() OVER(PARTITION BY city_id ORDER BY total_payment DESC) AS rn FROM monthly ) t WHERE rn <= 3;

面试官重点关注点

  • 窗口函数是否熟练

    • ROW_NUMBER/RANK/DENSE_RANK用哪个?为什么?

  • 是否先聚合再排序

  • 是否考虑业务过滤条件(未完成订单要不要算)

很多候选人会在 Pandas 里写乱,其实逻辑和 SQL 是一模一样的。


第三题:按「注册月份」的 cohort,找各城市赚最多的前三名司机

新增表

(driver_id, signup_date)

要求

在「每个月 signup 的司机」中,找出各城市里赚得最多的前三名司机。

这题是第二题的自然进阶版,但淘汰率明显更高。

为什么这题容易卡?

因为多了一个关键维度:
signup_month(cohort)

很多人会在这一步:

  • 分区条件写错

  • 排名维度漏掉

  • 先 rank 再聚合,顺序反了

正确 SQL 解法

WITH cohort AS ( SELECT s.driver_id, DATE_TRUNC('month', s.signup_date) AS signup_month, d.city_id, SUM(d.payment) AS total_payment FROM trips d JOIN signup s ON d.driver_id = s.driver_id WHERE d.is_completed = TRUE GROUP BY 1,2,3 ), ranked AS ( SELECT *, ROW_NUMBER() OVER( PARTITION BY signup_month, city_id ORDER BY total_payment DESC ) AS rn FROM cohort ) SELECT * FROM ranked WHERE rn <= 3;

这一题真正考什么?

  • 你是否真正理解cohort 分析

  • 你是否能把注册表 + 交易表自然 join

  • 你是否有基本的业务 sense

逻辑上,它和第二题是同一套模型,只是维度更多。


Uber Coding VO 的整体考点

这 45 分钟,Uber 实际在验证三件事:

  1. 算法基本功
    禁用库函数时,你能不能自己构造解法

  2. 数据处理能力
    SQL / Pandas 是否能在压力下写“对 + 干净”

  3. 业务建模意识
    是否理解 cohort、注册与交易的关系

题目本身不刁,但对熟练度要求非常高
没提前练过同类题,45 分钟基本写不完。


写在最后

这种面试最怕的不是“不会”,而是:

平时都懂,现场节奏一乱,逻辑全散

Uber 的 VO Coding,真的非常考「实战稳定度」。

如果你接下来要面 Uber / DoorDash / Lyft / Instacart 这类平台型公司,
SQL + cohort + 基础算法一定要按“实战标准”练到肌肉记忆。

能不能写出来,和你“懂不懂”,是两回事。需要面试助攻服务,联系我们。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/15 1:21:07

typora TOC目录快速导航大型IndexTTS2文档

IndexTTS2&#xff1a;开源语音合成系统的工程实践与深度解析 在智能语音助手、有声内容创作和虚拟数字人日益普及的今天&#xff0c;高质量、可控制的文本到语音&#xff08;Text-to-Speech, TTS&#xff09;技术正成为AI应用的关键基础设施。然而&#xff0c;许多开发者在实际…

作者头像 李华
网站建设 2026/7/14 17:34:51

开发者必看:IndexTTS2情感控制技术解析与优化建议

开发者必看&#xff1a;IndexTTS2情感控制技术解析与优化建议 在虚拟助手越来越“会聊天”的今天&#xff0c;语音却常常还停留在“播报新闻”的阶段——语气平直、情绪缺失&#xff0c;哪怕说的是“我好开心啊&#xff01;”&#xff0c;听起来也像在念通知。用户早已不满足于…

作者头像 李华
网站建设 2026/7/15 2:22:59

Jina Embeddings V4:解锁多模态多语言检索新范式

Jina Embeddings V4&#xff1a;解锁多模态多语言检索新范式 【免费下载链接】jina-embeddings-v4 项目地址: https://ai.gitcode.com/hf_mirrors/jinaai/jina-embeddings-v4 Jina AI近日发布新一代通用嵌入模型Jina Embeddings V4&#xff0c;首次实现文本、图像及视觉…

作者头像 李华
网站建设 2026/7/1 8:44:25

WeakAuras伴侣深度体验:让魔兽世界光环管理告别手工时代

WeakAuras伴侣深度体验&#xff1a;让魔兽世界光环管理告别手工时代 【免费下载链接】WeakAuras-Companion A cross-platform application built to provide the missing link between Wago.io and World of Warcraft 项目地址: https://gitcode.com/gh_mirrors/we/WeakAuras…

作者头像 李华
网站建设 2026/7/5 9:33:26

如何快速上手Pokémon Showdown:免费宝可梦对战平台完整指南

如何快速上手Pokmon Showdown&#xff1a;免费宝可梦对战平台完整指南 【免费下载链接】pokemon-showdown pokemon-showdown - 一个多功能的宝可梦对战模拟平台&#xff0c;提供网站、JavaScript库、命令行工具和Web API&#xff0c;支持从第一代到第九代的宝可梦游戏的模拟对战…

作者头像 李华
网站建设 2026/7/2 13:54:39

Fluidd 3D打印管理平台全面解析:深度体验Klipper界面

Fluidd 3D打印管理平台全面解析&#xff1a;深度体验Klipper界面 【免费下载链接】fluidd Fluidd, the klipper UI. 项目地址: https://gitcode.com/gh_mirrors/fl/fluidd 想要让3D打印管理变得更加简单高效吗&#xff1f;Fluidd作为专为Klipper固件设计的现代化管理平台…

作者头像 李华