Uber ATG挂经

电面我实话说不记得了,但非常非常简单,类似于binary search就能解开的题2道。我也不知道为什么这么容易,然后到onsite果然就被教训了。

onsite 5轮,在ATG SF总部,一个。。。。十分像工厂的一个office,应该在SF郊区。下车的时候还以为自己被卖到什么荒郊野岭了。题记得不是特别清楚了,大家勉强看看。

第一轮算法 ,一个东欧大哥。一道number of island,秒了。下一道非常像lc 403 frog jump,是假设一列数组,一辆车可以开当前所在的值k的k-1, k, k+1个unit的单位(如[0,1,1,2,1],我在2这个位置,就可以开1,2,3个单位)。但和403不一样的地方在于,数列中会出现一些-1,碰到了必须减一个单位(如我是以速度3碰到的,那下一步我必须走2个单位),问能不能到target时,速度刚好为0,反正我最后没想到比较好的解法,用了DFS,算出每一格上可能达到的速度,理论上能做,但没说清楚。最后五分钟面试官教我的解法是用递归来解。事后想想其实两种解法都差不多的。

第二轮远程BQ ,一个不知国籍的在匹兹堡Office的大哥,相谈甚欢。

午饭轮 ,两个美国小哥。

第三轮算法 ,两个美国小哥,是统计一个txt里每个单词出现的频率,bucket sort解。follow up是file特别大怎么办。

第四轮设计 ,中午带我吃饭的其中一个美国小哥,设计uber后端,讲了很多数据库的设计,小哥除了几个提问外,全程不置可否。

第五轮HM BQ ,亚裔小哥,相谈甚欢,最后送我出来。

其实面下来感觉还不错的,东欧大哥那题确实也算是比较难的,光理解就花了不少时间,全程一边讨论一边写。最后过了两个星期告诉我挂了,估计是上了waiting list吧。。。ATG的题好像都比较活络,没有什么固定的题库,题难度方差很大,也不一定很常规,还是加强自身建设吧。所以从这点来说,自以为表现不错了。

有点可惜,但也没办法,move on。

补充:

Uber听说要求当场带电脑跑代码,但我被告知可以选择。我选择的是白板