1 搜狗
1 如何表示一个网站中的不同网页(如何比较两个网页的相似度)
simHash
2 .就是给一个很长的字符串str 还有一个字符集比如{a,b,c} 找出str里包含{a,b,c}的最短子串。
要求O(n)?
http://www.lintcode.com/zh-cn/problem/minimum-window-substring/
2 JD广告部门(offer)
算法题目:链表排序 ,链表求和
1 拟牛顿法有哪些
SR1算法,BFGS算法,DFP算法,Broyden族算法。
2 推导一下动量方法,Rmsprop,adam算法.
3 说一下Google Net的核心点
4 比较一下几种初始化网的方法
5 比较一下翻译模型使用attention机制前后的提升
3 搜狗输入法
算法题:最大连续子数组,排列,抄书问题(二分法,动态规划法),二分查找(一个范围,矩阵查找)颜色分类
4 阿里文娱(special offer)
算法题:切分词
偏差方差分解
为什么lstm可以防止梯度消失和梯度爆炸
推导softmax的求导公式
l1和l2正则的区别,为什么l1会稀疏
l1正则假设变量服从拉普拉斯分布,l2正则假设变量服从高斯分布,高斯分布比较偏向于小的w.但不会使w趋向于0,拉普拉斯分布更会使w趋向于0
一根绳子切成三段,求最小段的期望长度
交叉熵和KL散度的关系‘
为什么RNN中不用relu:RNN中直接把激活函数换成ReLU会导致非常大的输出值。
relu优于sigmoid的地方:缓解梯度消失和梯度爆炸,前向传播和反向传播都计算都比较简单,Relu会使一部分神经元的输出为0,这样就造成了网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生。
sigmoid函数为什么会发生梯度爆炸
https://blog.csdn.net/cppjava_/article/details/68941436
池化层的作用:
1. 不变性,更关注是否存在某些特征而不是特征具体的位置。可以看作加了一个很强的先验,让学到的特征要能容忍一些的变化。
2. 减小下一层输入大小,减小计算量和参数个数。
3. 获得定长输出。(文本分类的时候输入是不定长的,可以通过池化获得定长输出)
4. 防止过拟合或有可能会带来欠拟合。
滴滴出行(offer)
1 手写kmeans
2 单元最短路算法
滴滴AI Lab(offer)
1 传统神经网络是局部最优解,svm是全局最优解 Jesen 不等式
2 RNN和CNN的区别。rnn和cnn都有参数共享机制,rnn是时间维度,cnn是空间维度
3 word2vector中优化的两种方式,一种是分层的softmax,一种是negative sample
4 给定一个文档,求词频为topk的词.统计词频的时间复杂度是O(n)(可以通过布隆过滤器优化时间复杂度),求topK个词的时间复杂度(遍历+堆(O(nlogk)),patition的解法O(n),冒泡的解法O(nk))
JD 云(offer)
1 求一个未排序数组的中位数
2 判断一个序列是否是另外一个序列的子序列
3 cnn中GAP是怎么回事
4 协同过滤中如何快速的计算相似度
5 BP算法反向求导的过程
6 CNN中卷积层的方向求导
7 xgboost feature_importance怎么计算出来的
https://www.zhihu.com/question/63728763?answer_deleted_redirect=true