Uber 欧洲SDE 面经

Viewed 62

官网投递,mid to senior等级的SDE。我是mid所以按L4流程面试。

没有OA,HR联系,初面,HR告知通过+解释下一步流程,4轮现场面,目前没消息(估计挂了

初面10分钟介绍和简单问项目,起手一个非常简单的题,if判断几次即可。然后拓展到DFS,类似于给一个2维地图包括黑石头白石头和一个坐标,计算这个坐标所在的岛屿(由同一种石头连续构成)有没有被另一个颜色的石头包围。代码难度不大,典型DFS,并且没有让运行代码。一个难点是题目不是文字给出的,而是和面试官交流确定题意。然后是可读性和写出比较简洁的代码。

onsite是4轮典型,coding12,SD,BQ。但面试时有变化。

Coding 1实现一个滑动窗口字符串计数器。应该是比较经典的题。初始化包括窗口大小,一个put函数,输入string,这个string在当前ts下count加一。2种询问,当前窗口内特定string出现的次数,和时间窗口内所有string出现的次数。初级方法用queue记录每个string的ts,查询前删除过期的。缺点是每出现一次queue都多一个元素,所以最后方案是维护每个string出现的次数,以及操作记录用于删除过期数据。细节不详细说了。代码难度中等,难点是要测试(测试需要改动ts相关代码)。

SD轮是data相关。设计后端以供餐厅主显示uber eat每个餐厅的近实时滑动窗口指标(给出了几个指标和几个时间窗)。先给了基于api/DB/cache的方案,感觉一般且细节不是很有底。然后讨论了基于streaming的方案,但面试官不太了解streaming,主要是我介绍方案以及回答问题(一些streaming相关问题面试官也不知道答案)。之前工作做过类似项目所以这个方案应该不错。

coding 2变成数据科学系统设计,包括设计解决问题的方法和后端系统(类似简单的系统设计)面试时才知道。一个和岗位强相关的冷门需求,讨论后发现和AB test思想很像。之前也做过类似项目,给出了进阶方法和系统设计。问了不少具体细节问题,很多是之前工作遇到过或考虑过的。

BQ轮不太对,印度的EM面试,没有问任何BQ问题,过简历问项目技术相关问题,但不少问题和这个岗位没啥关系。以及解释一个岗位完全无关的我最近做的学术项目(很疑惑)。不到30分钟结束,然后10分钟回答我的问题。

总体来说技术面试难度适中,不少问题是之前工作中处理过的相似问题。技术面试体验佳,coding的typo和笔误面试官会提醒,系统设计类似讨论而不是我考考你,当然也有直接问具体问题。
应当技术面试都是积极反馈,但BQ轮面试官冷漠,面试前就决定不要我似的。2个面试官都提到第二天会开会决定结果,然而第四天我也没收到消息,发邮件hr也没有回复。

1 Answers

印度EM能不接就不接