找实验室师兄内推的简历,投的是部门的算法岗
一面
项目经历
1. 写出交叉熵的公式
2. 问了一些linux的指令(sort)
3. 问了我之间sentence2vec怎么实现的以及word2vec原理(写公式)
word embedding 乘以tf-idf的权重,然后就问我word2vec是怎么实现的,具体推到过程,我就讲了讲之前看的paper的内容,但是很多都忘了…
4. spark和hadoop的基本思想,spark相比与hadoop有什么好处?
Mapreduce, Spark使用rdd编程,惰性计算,使用计算图,速度快
数学题/算法题
1.写出二叉树的中序非递归遍历?(纸上写代码)
写在纸上了,用堆栈实现的,其实我感觉很多细节没有处理好,但是还是勉强应付过了
二面
项目经历
1.关于爬虫去重的问题,如何增量爬取?还有bloom filter的问题
用redis实现的,主要就是维护两个队列,一个待爬队列,一个历史队列。队列里存爬过的url。“如果规模很大,队列不就内存溢出了?,有没有其他方法?”, 用hash table。然后有跟我说bloom filter。我说那也是多个hash函数, 这里没理解面试官的意思
2.batch gradient descent(bgd) 和 scothatic gradient
descent(sgd)有什么不同?sgd有什么好处?
这个跟面试管argue了很久,他让我回去再看看
3. 详细问了逻辑回归方面的问题。有哪些损失函数?交叉熵的公式?
4. LDA模型的原理,纸上写公式?
LDA的模型非常复杂,简单来讲就是输入一篇文章,返回的主题分布。公式记不清楚了…, “我之间LDA八卦看了一个月,回去好好看看吧”
数学题/算法题
**1. 判断链表是否有环,并找到环的起点(纸上写代码 10min)
2. 汉诺塔问题(算法思想,n块需要移动的次数
三面
项目经历
1. 上来就是minhash和Simhash算法的区别,还问问了之间讲过的Simhash海量文本去重的算法,让我讲出算法的的理论,内部是怎么hash的,局部敏感hash为什么可行…
minhash算法没怎么了解过,就直接说不清楚我只看了关于算法应用的paper,可惜的是那篇paper没有算法的理论分析,只有应用。
2. 介绍下GBDT的原理,和Adaboost有什么区别?
adaboost是基于采样的,gbdt是拟合残差,这个回答的不好.
数学题/算法题
**1. 学过随机过程吗?(有两个人A和B,A有m元,B有n元,A和B两个人赌博,每次赌一元,直到一方输光。请问A和B赢的概率是多少?)
2. 学过信号吗?(已知有两条轨迹(采样),每条轨迹都有n个点,分别用不同的坐标系表示。找坐标之间的对应关系到)**