l*p
1 楼
最后一轮面试由4次视频面试组成,每次45分钟,总共持续3小时。相比前两轮面试,这
轮的面试官都是比较有经验的工程师,问的问题难度也相应加大。
第一次面试。上来先问一些我研究相关的问题。然后出编程题:给一个二叉树,找出最
长不重复的结点间路径。
第二次面试。面试官大部分时间都在聊他们组在做的项目,面临的问题,然后问我的兴趣
第三次面试。来自另外一个组的面试官继续聊他的工作,关于performance test方面的
。然后问我是不是对统计学很熟,我说了解一些,用得更多的是数据挖掘和机器学习的
。接下来他就问我聚类算法,我先把k-means给他说了一下。然后问如果数据量很大怎
么办。我说可以用一些top-down或bottom-up的算法,想办法分布到多台机器上去算。
接下来又问我如何构建一个Bayesian Network,我说我用现成的包,自己没写过,然后
一边回忆Bayesian Network。他好像不想拷问我具体的原理,就开始说他怎么用
Bayesian Network来查找性能瓶颈的。他问我一般跑那些数据挖掘的程序要花多少天,
我说几个小时到一两天吧。那时间主要花在哪?我说把数据转换成数据挖掘算法需要的
格式需要很长时间。问如果数据已经整理好了呢?我说那就相对容易了,因为有很多现
成的数据挖掘包。最后我问他构建那些性能模型时怎么选取features,他说主要靠他自
己的经验。我说其实可以用一些feature selection算法,先搜集一大堆features,然
后对重要性排序。他觉得这主意挺好。
第四次面试。还是先聊我的研究。然后问二维网格中有一些点,怎么找出与某个给定的
点欧氏距离最近的。我说由于距离计算是O(1),那一个个算过去的复杂度也只是O(n)。
他问O(n)是不是good enough,我说在大多数情况下已经不错了,但如果n很大,在实际
中还是不够。问怎么优化。我说可以用Manhattan distance做估计,选出几个比较有可
能的点来计算欧氏距离。代码写了一半,找几个数算了一下,觉得不对。只好推倒重来
,用breadth first search。但时间已经不够了,只能把思路说一遍。
轮的面试官都是比较有经验的工程师,问的问题难度也相应加大。
第一次面试。上来先问一些我研究相关的问题。然后出编程题:给一个二叉树,找出最
长不重复的结点间路径。
第二次面试。面试官大部分时间都在聊他们组在做的项目,面临的问题,然后问我的兴趣
第三次面试。来自另外一个组的面试官继续聊他的工作,关于performance test方面的
。然后问我是不是对统计学很熟,我说了解一些,用得更多的是数据挖掘和机器学习的
。接下来他就问我聚类算法,我先把k-means给他说了一下。然后问如果数据量很大怎
么办。我说可以用一些top-down或bottom-up的算法,想办法分布到多台机器上去算。
接下来又问我如何构建一个Bayesian Network,我说我用现成的包,自己没写过,然后
一边回忆Bayesian Network。他好像不想拷问我具体的原理,就开始说他怎么用
Bayesian Network来查找性能瓶颈的。他问我一般跑那些数据挖掘的程序要花多少天,
我说几个小时到一两天吧。那时间主要花在哪?我说把数据转换成数据挖掘算法需要的
格式需要很长时间。问如果数据已经整理好了呢?我说那就相对容易了,因为有很多现
成的数据挖掘包。最后我问他构建那些性能模型时怎么选取features,他说主要靠他自
己的经验。我说其实可以用一些feature selection算法,先搜集一大堆features,然
后对重要性排序。他觉得这主意挺好。
第四次面试。还是先聊我的研究。然后问二维网格中有一些点,怎么找出与某个给定的
点欧氏距离最近的。我说由于距离计算是O(1),那一个个算过去的复杂度也只是O(n)。
他问O(n)是不是good enough,我说在大多数情况下已经不错了,但如果n很大,在实际
中还是不够。问怎么优化。我说可以用Manhattan distance做估计,选出几个比较有可
能的点来计算欧氏距离。代码写了一半,找几个数算了一下,觉得不对。只好推倒重来
,用breadth first search。但时间已经不够了,只能把思路说一遍。