百度实习的面试是师兄内推的,直接是一轮电话面试加一轮现场技术面试,所以没有笔试经验。简历是自然语言处理算法相关(本渣真正有深入接触的只有短文本语义相似度计算,其他最多略知皮毛),师兄内推的是一个多模态语义计算小组,涉及到图片问答、借助知识图谱的语义推理等。
电话面试:
整体来说电话面试没做好准备,仓促慌乱(直接从本科毕业的暑假浪完一圈回来,临时决定找的实习)。
1 首先问的一个问题是关于之前做的一个比赛(蚂蚁金服的客服问题语义相似度计算),问用到了什么模型,我说了模型的名字,又问模型最后的激活函数是什么,我当时听到“最后”,直接反应是softmax,重点是后来依然脑抽,说交叉熵,也是经验不足,犯了这样的低级错误。好歹后来冷静下来说是 elu函数。
2 tensorflow使用到怎样的程度,模型的代码是自己写的吗?有实现过LSTM吗?
3 接着问是否是使用Tensorflow,给了一个题,对任意取值的一个32位浮点类型的tensor,将其中大于0的元素置为1,小于等于零的元素置为-1,其实是很简单的一个题,当时第一反应是使用argmax,确实可以做,但是具体怎么实现一时没想出俩,面试官也该是没想到argmax可以实现,向我确认了一下,我停了几秒,说出了另外一种简单的思路,既是直接判定tensor中的元素,使用tf.where即可(但当时认为这个太简单,没有说出具体的函数,实际上在面试中如果能说出更多准确的细节,就尽可能说),但在说这个简单思路的过程中,脑袋里又确认了argmax是可以实现的,只是比较复杂,但是说了半天也没和面试官说清,主要也是因为对相关操作掌握不熟练,具体的实现并不清晰。直到最后面试官要求直接发一封邮件简单说明一下思路算是结束这个问题。
4 面试官又问传统机器学习算法了解嘛,知道哪些。我随口说了决策树,SVM,然后她让我讲一下,我就简单说了决策树的原理及比较了一下三种决策树生成算法(ID3, C4.5, CART),然后她问我决策树的优缺点,我一时只想到决策树构建简单的优点和容易被攻击的缺点,面试官问我还有吗?我说不知道了,这个问题也没有完全通过。
5 简历上有写LDA,是否有了解?
6 关于linux相关,有一个带搜索字段和搜索频率的小文件,不在乎时间复杂度,快速的找出频率top5的搜索记录?为什么不使用awk? 找出一个文件中带有”天气”一词的记录?
技术面试:
1 简单自我介绍
2 介绍一下你觉得做过的最好的项目
3 转到传统机器学习,接触过概率图吗?看你简历上有写使用过xgboost, 简要说一下xgboost, 之前为什么这么火?
4 简要说一下逻辑回归,是判别式模型还是生成式模型,为什么?
5 转到之前实习做过有关spark大数据处理的经验,介绍一下用spark做了哪些工作,有用过其他大数据平台吗?比如Hadoop?
6 问了一些琐碎的技术问题,
7 算法题,
1)有一段文本,找出其中所有的日期并返回。
2) 给你一棵二叉树的节点,返回树的高度。