Uber线下面试经验
面试详情
Round 1 Coding:
白人小哥。简单介绍一下之后,考了一道类似LCA的题。
Uber员工有一个层级结构,可以抽象成一颗树。从CEO到普通员工,每个员工都有唯一的ID、姓名以及对其直接 references to mgr and their direct reports的引用。实现一个“whoIsYourBoss”的方法,给定两个mgr。
Clarify一下一个人是不是只能有一个mgr,没有dot mgr。函数的返回值是什么。input同一个员工返回啥。input一个external的员工返回什么。
第一个,第二个问题是考树的题的时候必问的,第三个,第四个是考LCA必问的。
然后coding,LCA没啥好说的,之前面经都说过,注意edge case。
Follow up: 如果没有references to mgr,函数只pass CEO,这种情况应该怎么做?不能自底向上用hash之后,方法换成DFS。
两个函数都写完了,反馈不错。
Round 2 Coding:
非常帅的一个Latino小哥。
考的是找到数组中只出现过一次的user id。
这个题一定要clarify的事情是,重复的ID,出现了多少次,如果出现了两次和出现了多次是不一样的。
不过Clarify这件事是有艺术的。不能直接问是不是只出现了两次,这样会让面试官觉得你做过这个题先给你减分。你要这么问
“比如一个input是这样的对吗,[1,1,2,2,2,3,4,4]“
面试官说了对,OK,重复次数不限。
给了Hashmap的解。
Follow up是限定重复的ID只能出现两次,优雅的XOR解决。
Round 3 Behavior:
1.Why uber?
2.用Uber的时候有没有感觉到什么drawback?
3.Interesting project
4.Tight ddl