16G黑的白的都没了# PDA - 掌中宝
a*8
1 楼
1. 一个log里有页面的访问记录,如何获得前1000popular的(hash_map + heap)
followup,log里存在多个machine里,我原先说每个maintain heap,后来经提醒不work,
改用每个存heap,然后merge,再提了些优化的方案.面试官基本满意。
2.一个很大的table存了query -> occurrence,如何随机获得1个query,概率是基于每个
query的occurrence,
1 2 3
20 10 30
获得第一个数的概率是 20/60.
这题我很纠结,我上来就想到因为大数据量,用resevior sampling的变版做(
constant space),边想边写边测弄了快半小时才弄出来,最后也解释了半天,其实也
有很直接的方法,把累加做个数组就行了,用bst搜素log(n),当时面试就是有点一根
筋。最后问了问组的情况,听口音感觉是同胞里的一个大牛,希望能水过。(突然想起
来介绍的时候他的名字不像是同胞的)
followup,log里存在多个machine里,我原先说每个maintain heap,后来经提醒不work,
改用每个存heap,然后merge,再提了些优化的方案.面试官基本满意。
2.一个很大的table存了query -> occurrence,如何随机获得1个query,概率是基于每个
query的occurrence,
1 2 3
20 10 30
获得第一个数的概率是 20/60.
这题我很纠结,我上来就想到因为大数据量,用resevior sampling的变版做(
constant space),边想边写边测弄了快半小时才弄出来,最后也解释了半天,其实也
有很直接的方法,把累加做个数组就行了,用bst搜素log(n),当时面试就是有点一根
筋。最后问了问组的情况,听口音感觉是同胞里的一个大牛,希望能水过。(突然想起
来介绍的时候他的名字不像是同胞的)