首先,面试官根据项目经验进行提问,主要是自然语言处理相关的问题;然后写代码题,字符串处理和数字运算居多;再者是一些语言基础知识,百度用的linux平台,C++和python居多。下面列出我面试中的一些问题:
- 文本挖掘中,分词算法?如何选取特征?如何进行相似度计算,文本聚类结果如何评估?
- 分词时,为了提高效率,怎么存储词典?(键树)如何压缩存储?
- 一个字符数组中,每个字符都出现了3次,只有一个出现了2次,如果快速找出这个出现2次的? 可以参考《编程之美》中的一个题。
(1)先排序再找,慢!
(2)hash,耗空间
(3)位运算 - 使用 collabedit 写代码。很多公司的电话面试都会使用collabedit 来测试面试者的编码水平。比如美团、微软、百度。 输入:数组 int a[n]
要求:去掉连续的重复数字,
输出:新数组
例如:1,2,2,2,1,3,5——> 3,5 - C关键字 entern用法,define和const区别