报一个以前的谷歌昂塞

第⼀个说有很多loud speaker,每个loud speaker在⼀些时间区间会发出声⾳。每个区间的声⾳响度可能不同。⽐如对于某⼀个loud speaker,发声⾳的间格是[3, 5], [ 7, 10], [13, 15],响度分别为50,30,40。 问这些loud speaker发声的总体效果。 其实就是区间的merge,如果两个speaker同时响了,响取较⼤的那个
第⼆个先问了给⼀个binary search tree,再给⼀个target value,如何找到树中和这个value的差最⼩的node。然后下⼀步问了说如果有全世界的机场,然后给定你现在的当前位置,如何找到⽅圆X公⾥内的所有机场。 ⼤概和他讨论了⼀下kd tre
第三了我如何在string⾥inplace的删除⼀个char!!! 太简单了,不过要求是bug free。他提醒了⼏个corner case,基本上就bug free了。。
接着问了在⼀个2D 数组中如何找到从上到下的和是最⼩的路径
第四个⼈,问我现在假设google 要做⼀个project叫exact search,就是说query⼀个问题然后google返回exact的答案。假设现在google已经有了50B的问题和对应的答案,那么这个系统该如何设计。
我说应该⽤hash map,把每⼀个question都做hash。他说对的。然后感觉还⽐较轻松,因为这个⼈⼀步步的提问⽅式把问题渐渐深⼊:如果内存有限该怎
果⼀台机器的硬盘也有限怎么办,基本思路就是分布式系统,在硬盘上对每⼀个问题再就⾏⼀遍hash。然后他继续问⾄多和⾄少需要多少台机器来实现这个系统
然后他给了每台机器的内存,硬盘空间。接着问如果给了ethernet的反应时间,同时有多少query这个系统就会崩