2019年校招京东、百度、头条算法面试经历
学历背景: 清华本硕,硕士方向是自然语言处理,CCF A类论文一篇。目前拿到了京东,腾讯和搜狗的offer,因为腾讯和搜狗基本上没有问什么面试题,就两边聊了聊沟通一下,因此就不介绍面试经历了。
1 京东面试经历
面试的京东的商品推荐的算法岗,在北辰大厦(奥森旁边),面试难度总体来说比较简单。
(1) 到公司之后先做了一个小时的笔试题目,包括四个简答题和两个编程题,简答题主要是C语言相关的。
Map和Set的插入和查找的复杂度是多少,Set是否可以存储类
递归和循环可以互相转换吗?
epull和select的原理以及区别?
什么时候会调用构造函数和析构函数?父类的构造函数可以是virtual的吗?
编程题也特别简单,一道题是一个有序的数组,寻找数组的中的两个数它们的和是否等 于某个值target,返回True或者False,要求O(n)的复杂度。
另一道题目是一个数组,两个相邻下标的数组的值的差的绝对值为1,然后在这个数组中寻找某个值是否在这个数组中,是的话返回下标,否则返回-1。
(2)第一轮面试也特别简单,主要就是聊了聊自己的论文是怎么做的,实习的时候干了啥,然后再出了一道编程题,一个无序数组,只有0,1,2,然后你要对这个数组进行排序,要求O(n)复杂度。(荷兰国旗问题)
(3) 第二轮面试也是主要是聊了聊自己的论文,然后推导SVM的原理,然后logistic和SVM的区别,Attention注意力机制的原理,RNN的公式等。还有一个编程题反转链表。
面试完三天拿到了口头offer,感觉总体来说还是比较简单的。
2018/8/22 更新,今天收到了京东的录用函,看了一下工资感觉应该是SP的offer,好开心,感谢实验室老板收留我在组里读研学到了好多deep learning的经验~
2 头条面试经历
本菜鸡的头条面试没有过,太菜了。一共三轮面试,难度其实都挺高的。
(1)第一轮面试面试官出了一个对我来说很难的算法题然后没做出来。 面试题目是:
给你一个无序数组,求数组中任意两个数的差的的绝对值的乡下取整的和。
这个题本菜鸡只会做如果数组是整数的情况,对于浮点数的情况不会做,面试官说是用逆序对去求解,当时面试的时候也没有复习到这个点。
(2)第二轮面试略简单,第一个题目是概率题,给你2K+1个硬币,问扔完之后正面比反面多的概率是多少。 第二个编程题也不是很难,就是坑比较多,一个有序的数组,寻找数组的中的两个数它们的和是否等于某个值target,返回这样的两个数的个数。第三个面试题也挺简单的,问1~n个数组成二叉搜索树,有多少种形状不同的二叉树。
(3)第三面很坑,本来本菜鸡应该是投的自然语言处理的算法岗或者AI Lab,结果面试的时候被分到了做推荐的算法岗,然后就GG了。面试的问题感觉还是挺难的。主要有MLP手动求梯度,给你十亿个用户的数据,寻找每个用户最相似的10个用户(要求可以有一个很好的分布式算法)。你平时有没有读过推荐算法的论文? 聊一下一个你了解的推荐算法(本菜鸡只知道协同过滤算法)。Map/Reduce原理。然后本菜鸡就挂掉了
3 百度面试经历
百度面的是凤巢广告组(明明投的是自然语言处理岗!!),目前还没有面完,只面了两轮。
(1) 第一轮面试相当简单,就是给面试官解释一下你的论文,然后写了一下RNN(GRU)的公式,然后写了一个快排的程序。
(2)第二轮的面试挺难的,面试官问的比较广,而且问的也结合了他们的具体应用场景。比如基于内容如何进行标题的改写(把看起来很平常的标题转为标题党的标题);给定一个网页,如何推荐网页最后面的广告信息;Relu、Sigmoid和tanh分别有什么不同;SVM为什么需要核函数,以及用了核函数之后数据的维度是变低还是变高了;如何解决过拟合问题(面试官最推崇的居然是减小模型,本菜鸡没有想到这个点);Dropout,Layer Normalization, residual net的作用;如何设计一个命名实体识别的的Neural模型;用CNN去处理文本信息的时候,如果只有一层CNN,设计一个模型结构,以及参数的大小;为什么CNN作用这么强大,可以处理图像以及文本信息;还有几个编程题,不过都巨简单就不说了。
百度的面试只面了两轮,然后第三轮的面试官有事情所以没有面完,面完总体感觉,百度的凤巢组目测应该是经常是使用CNN进行文本信息的处理;感觉自己应该还没有凉凉吧。
to be continued