CS-OA cs-vo Faang

Waymo VO 面经汇总

1.

面的 RS 岗,Linkedin 上联系 HM,接下来 HR 联系,然后约面试。

因为是 RS 岗,所以上来聊了下工作,然后做题,没有考蠡口,python 手写 BN,过了。

他家 RS 刚现在好像不面蠡口了,不知道是不是都是这个情况。

2.

机器学习方向博士生,去年面试过 Waymo Research(拿到了 offer)。当时只有一篇 arxiv

论文,没有顶会。给某个自己方向的 researcher 发邮件收到了回复,然后视频聊了聊科研,

挺投机。之后公司发来两轮面试 -- 一轮 leetcode coding,一轮 MLsystem design

3.

Coding:一道走迷宫的题,DFS 就行。leetcode medium 难度

ML Design: 问了一些关于自动驾驶的,建议了解一下 PointNet, VoxelNet 这些 3D vision 的

工作 -- 我当时其实都有点不太明白 point cloud 和 voxel 的区别,但好在是糊弄过去了

面试完一两天就收到了 offer。offer deadline 是 5 个工作日。工资大概一个月 10.5k,因为

在疫情期间(都是 remote),所以拿到了一笔 7000 刀的 bonus(顶替了住房补助)

4.

面前半个小时还在狂想那道类似于 leetcode 64 的改编

题(在仅有的面经里出现多次), 结果没考。

题大致是这样的:

Given an integer N representing the number of timestamps, a list of tickets showing the

entry time and exit time of each car. Return a list of numbers showing the number of cars in

the garage of each time stamp. (total number of cars won't change at any exit time, but it will

change at the next timestamp)

Example:

input:

N = 5

tickets = [(1, 3), (2, 4)]

output:[0, 1, 2, 2, 1]

我给了两个方案都是 O(N^2),面试官一直要求优化,在他的提示下优化成了 O(N),写完

了过了测试。最后反向提问,我问他可不可以给我点面试建议,他让我在没有 soild idea 的

时候也可以多说一点哈哈。

5.

面的 simulation 组。L6 挂经,有 L5 offer。

7 月份面的 Waymo L6, 一共有 4 轮。感觉非 coding 轮比较偏 simulation/ data specific,没

做过的不好准备。

第一轮,问 simulation 模块如何测试和 scale,如何找程序中跑的 slow & resource heavy

的,monitoring & alerting 等等

第二轮,需求是 evaluate simulation performance with large scales of log data,如何 design

systematic & uniform way to structure the data for other teams to run queries.

第三轮,coding,忘了什么题了。。。反正和 google 差不多难度。

第四轮,Simulate grocery delivery trips. Given start & end points, how to simulate and

eval. Compare it against real logs.

我之前都在准备标准的 system design 题,感觉对回答 waymo 的 onsite 没有一点用。。。HR

说 result 是 positive,但是 hiring committee 觉得不够 L6,只给 L5。

L5 标准包:215k base, 15%

anual bonus, 30k sign on, stock: 350k over 4 years。 这个是一

开始的数字,据说每个人都一样,base 和 bonus 不能 negotiate。negotiate 之后的包裹会

比这个大很多。

6.

L3/4 loop, 没有 SD

第一轮 chute/ladder game, 问最短丢骰子到终点的次数

第二轮 LCA,但是 root 可能有多个,问题的形式是说农场里养兔子,一代代的繁殖,现在

随便给你两只同一代的,问他们俩是几代近亲科技求职更简单

第三轮 data fluency,要求设计一个 time series data structure,可以用来支持 flexible query

数据来源是 events 和 contexts

events 包括 event_type, event_value, ts,比如 event_type 可以是当前速度 ,value 是速度

数字,或者是 TOO_CLOSE,value 这时可能是 car, people

contexts 包括 context_type, context_value, start_ts, end_ts,比如 context type 可以是当前路

的方向或者限速

最后 example query 是当限速 65 并且要左拐时,有多少个 TOO_CLOSE event

第一问让你设计

需要做 data denormalization,用 columnar storage 储存

最后 schema

最后一轮设计 logging throttling,面试官说是新题,不算 SD,应该属于 coding+一点 OOD,

followup 是问你多线程怎么处理,lz 大概聊了 kafka 或者 local

7.

蠡口六四,element 可以是负数,但是还要求你输出最长的 path,所以 lz 用了

backtrack+memo

followup 是如何把这个 solution 改成 distributed 来应对内存放不下的 matrix,lz 就大概说

map reduce 的思路,也没要让 code,描述后就结束了,面试官也挺友好的。

是组招,所以面试官就是这个组的 engineer

8.

一次令人伤心的跪经。

题目是一道比较类似刷题网 刘四 的那道题,计算路径和最小值的那道题的变种。变化在于

原题是求所有路径中,哪一条路径拥有最小的路径和,考的是求所有路径中,哪一条路径拥

有最小的最大值。比如有两条路径,[0, 9, 8], 最大值是 9,[0, 1, 2] 最大值是 2,那么返回 2,

因为第二条路径的最大值更小。

重点是面试官非常的不专业。首先迟到 5 分钟,来了之后第一个问题是,你这是第几轮面试

啊,是应该面系统设计还是面 coding,面的什么级别啊?

然后自然自语说,让我确认一下的。又过于了 5 分钟。

确认之后,结果一直问我 BQ, 之前的项目什么样子啊,让我讲的很细,问了足足二十分钟。

然后这个时候半个小时已经过去了,突然来了句,我们来做 coding 吧。然后就出了上面的

那道题。

过程中也非常没有耐心的样子。我问是不是这个意思,回复我不是,结果最后又说是。我说

了个 DFS 的答案,我问要不要优化啊,然后回复我说,不用优化,你写代码吧。

我就一顿操作,赶紧猛写。当我把代码写好,我准备用他的例子验证一下的时候,对面立马

制止了我,你不用验证,你就给我讲讲你代码写的什么意思就行了(我不是跟您解释半天了吗。。。)我解释了一遍,然后就草草收场让我问问题了。之前在看面经的时候,似乎另外一位坛友也经历过类似的情况 (上来问这是第几轮面试)。

我的面试官的名字是一个字的,D 开头的,(做人留一线,就不说更多了)

9.

这是近期第四个 onsite。

岗位是 Waymo 的 Staff SWE.

Phone 一个视觉方面大神 🙂

考了半个小时 leadership,然后做了一个中等难度题。

第一轮 System design

两个 phd Research Scientist 面试

design selfdriving car simulation system.

主要专注于算法和逻辑,比方说如何定义模拟场景,和车辆接口怎么设计。

之前没做过这块,答得一塌糊度。

第二轮 Coding

一个 phd SWE 面试

matrix with block 想办法填写完所有的 word in a list,一个单词只能横着或者竖着。

个人觉得题很难,用了双层 dfs,dfs_fill_word_list, dfs_fill_word_with_curr_postion. 唯一一

道 onsite 有思路但没写 bug free 的题

第三轮 System design

一个 phd Research Scientist 面试

设计一个出租车图像收集系统,假设出租车上面带一个 camera,1k 的出租车在一个城市,

如何收集图像。给了非常多的真实数据做参考,甚至于 taxi 网速和日常习惯:)。

我觉得很有意思的是需要用 esimate 去选择硬件,比方说是 wifi 还是,3g,4g 信号

第四轮 coding

一个 phd SWE 面试

因为临时起意面试,没准备 coding,所以只想出来用 DP 解决问题,没有实现完整。

总结一下 google 和 Waymo 面试

1. 面试官素质确实高,能力确实强。Waymo 家人均 phd,虽然不都是 CS phd,但是证明

转专业的 phd 大神们能力是很强的。

2. 比较疑惑 Waymo 家为啥安排 Research Scientist 面试我所有system design,是有这个传统么

3. 这次面试感觉 Waymo 题比 Google 难,这个肯定是有方差的。

4. 感觉谷歌更看重程序员素质,比如第一道 coding 让我实现 unit test 验证 function 会

raise expection,这种日常生活中的东西没想到面试会考。再比如设计现实生活中的系统。

5. 感觉 Waymo 面试,偏重逻辑,或者说背后的原理(但是我不会呀)。

VO作弊,VO辅助,快速拿offer联系我

Leave a Reply

Your email address will not be published. Required fields are marked *