狗家 前端店面+onsite

店面:热身题:在Google doc上贴了一段代码让说出output是啥,主要问的promise机制
实现Promise.all

第一轮BQ,一个在Google fiber做硬件的白人小哥

第二轮本来要面前端,结果安排错了面试官,面试官说他不懂前端,就给了个算法题。
给一个Tree,可以改变原有tree的节点的value,要求每个从root到Leaf的和都相等。并保证所改变的节点最少。

第三轮前端:
实现一个function,要求 60秒内 发两个async request都能得到结果。如果有request失败了,就retry,直到有结果返回。如果到了60秒还没有成功得到两个request的结果,就throw error
小哥没给input output,说让我自己设计这个function,应该是什么样。。。 需求澄清用了很久,最后没时间写完。
类似retry,但有时间限制,并且是两个request。
后来想了一下,可以考虑 先实现retry,并结合promise.all 和 promise.race实现。

第四轮
给一个2d array,和一个string, 要求按string里的字母顺序重新排序2d array。
input:
2d array:
[a, b, c],
[b, d, f]

Sting: “ba”

output:
[b, d, f],
[a, b, c]

解释: 两个array都含有b,但a只在第一个array,所以输出的顺序为 [b, d, f],[a, b, c]

第五轮,也是安排错误,说考js,但面试官以为是考Java。 给了个 Guess PinCode 。
比如pincode是 1432
输入的是 1246
则输出是 *oo_
*代表数字、位置都对
o代表有这个数字,但位置不对
_代表没这个数字

后来recruiter反馈结果说,有两轮安排错误,结果不算,要加面两轮。。

感觉建议投狗家还是内推比较好。感觉内推的他们会比较上心一点。

1 Like