面经总结(实习篇)

  校招告一段落,将这一年多来的面试经历做一总结。在求职过程中,我还算幸运的,也可能是自己比较懒,所以面试的公司比较少,本篇先总结实习的求职经历。

  其实在研一下学期还比较迷茫,没想清楚自己毕业到底要去做什么,互联网?国企?银行?读博?有很多选择,也想过很多。后来想,不管以后做什么,计算机专业的基本功还是要打牢,于是开始刷题、学C++基础知识;学了一段时间,听了一些师兄师姐的求职分享会,又想不论以后去哪个行业,有一段好的互联网实习经历都是加分的,于是准备投入精力找一份实习。

实习一

  找第一份实习时大厂只面试3家,百度、滴滴、头条,很幸运前两家都通过了,头条由于方向不同面得不好挂了。百度的部门是垂直行业搜索部,滴滴的部门是滴滴研究院,后来考虑再三,第一份实习选择了百度,以下是面经。

今日头条:2017.10.17下午15:40-16:20

1、TCP三次握手、四次挥手,细节,解释SYN、ack等的状态分别是什么,四次挥手若客户端一直不释放,服务器端会怎么样?

2、多线程、多进程,详细解释,解释物理地址和逻辑地址

3、算法:给定一个10^8的数组,求每一个元素后面第一个比它大的元素,复杂度要求O(n)

  • 使用stack

4、算法:实现最近最久未使用(LRU)的cache,并且可以快速查找值

  • 使用map存储数据,进行查找
  • 使用双向链表实现淘汰机制

百度:2017.10.18下午14:50-17:10

一面

1、自我介绍,选一个项目介绍:我就介绍了一个,面试官说细节不用解释啦,反正我也听不懂,做题吧。。。

2、算法:求二叉树的宽度,一定要先说思路再写,重要!!!顺利写出

3、算法:一个N位的二进制数(011010),求它的前缀中1的个数比0的个数多的输出。前缀是指(010)的前缀有0,01,010三种,提示了依然不会。。。

二面

1、自我介绍

2、项目中用到的算法:我说排序,还问机器学习深度学习研究吗,我说了解一点

3、C++中的虚函数怎么实现?

4、构造函数的初始化方法?构造函数初始化列表中的变量初始顺序?

5、static数据成员如何定义?

6、菱形继承怎么解决?

7、多态是什么?怎么实现?

8、多态中使用父类的指针指向子类的对象,可以用父类的引用吗?

9、算法:一个m*n的矩阵,只能向下和向右走,从左上角的位置走到右下角的位置一共有多少条走法?(动态规划)

10、算法:上一个题的变形,一个m*n的矩阵,每一格中都有一个值,只能向下和向右走,从左上角的位置走到右下角的位置经过路径的最大和?(动态规划)

滴滴:2017.10.23晚上19:00-20:00

一面:

1、先自我介绍,介绍完问什么是3D shape partial registration

2、c++中值传递和指针传递的区别(没回答好)

3、什么是虚继承

4、什么是纯虚函数

5、带有纯虚函数的类能不能初始化

6、多态的实现原理(虚函数)

7、虚函数表是在类中,还是对象中?为什么?(没回答好)

8、算法: 分割字符串为回文串,输出所有分割方法(不会)

9、算法:字符串s按照单词进行反转(用栈实现)

10、会不会git?

11、实习时间

实习二

  第二份实习是2018.04找的,也就是春招,今年春招算法岗真的是难找,我投了很多简历,一共面试了3家,滴滴、美团、微博,很幸运都通过了,最终选择了滴滴的智能出行部,以下是面经。

美团:2018.04.23下午2点到4点半

一面:

1、实习介绍,主要是实习期间的工作内容,我说他听,问题很少;

2、科研项目介绍,介绍了简历上第一个,面试官虽然不是领域的,但问得很到位;

3、Q:C++中的vector 是怎么实现的?

4、define和const 的区别,define是在什么阶段替换的

5、malloc()和new的区别

6、进程和线程,进程间通信方式

7、python多线程编程了解吗?不了解

8、Linux基本命令,除了ls cd之外

9、LR的损失函数

10、梯度下降的过程

11、SVM与LR的区别

12、学习率的选择对LR的影响

13、编程题:一个递增的数组,有负数,返回数组各数绝对值后的去重的数量,比如[-7,-5,-4,-2,-1,0,1,2],返回7

写出来之后,又给出了进阶版,如果数组是非递减的呢?比如[-7,-5,-4,-2,-2, -1,0,1,2, 2]呢?

二面

1、自我介绍

2、讲到学生工作,讨论如何平衡工作与学习(面试官觉得想要基础扎实,必定要投入大量的时间)

3、问我打基础时候最有成长的是哪段时间?为什么是那段时间?

4、个人优缺点

5、编程题:一个二维数组,从上到下是递增的,从左到右是递增的,给定一个整数,判断这个整数在不在数组中。

6、智力题:一杯红墨水,一杯黑墨水,拿一个小勺子将红墨水中舀一勺到黑墨水的瓶子里,搅匀后再从黑墨水瓶子里舀一勺到红墨水中,问最后两个杯子中红墨水的量和黑墨水的量的大小关系,用数学公式推导。

进阶:如果是10个红球和10个黑球,先取两个红球到黑球中,再从现在的黑球中取两个到红球中,最后红球和黑球的数量关系呢?

再进阶:墨水问题如果不搅匀呢?

以上三个问题的答案都是相等,面试官给了提示,但也限时。

7、Linux的基本命令,vim的基本命令

8、还有要问我的吗?问了转正和工作内容两个问题

滴滴:2018.04.26下午13:50-15:50

一面:

1、实习经历

2、手写代码:一个字符串,删除“ab”和“c”两个子串,要求时间复杂度O(n),n是字符串长度。

用栈实现,判断栈尾是否是"a",判断当前元素是否是“b”,如果是,栈顶元素出栈;

否则判断当前元素是否是“c”,如果是不操作;

否则当前元素入栈,最后全部出栈反转就是结果。

3、LR手推过程

4、梯度下降的过程,alpha怎么确定,有什么影响

5、LR模型怎么评估,AUC是什么

二面:

1、三个科研项目介绍

2、手推SVM

微博:2018.04.27下午2点到4点半

1、项目介绍,实习经历

2、手推LR

3、笔试:题目比较多,涉及sql、算法等

4、介绍公司业务

总的来说,两份实习的面试过程还算是顺利,也可能是自己幸运的缘故,当然,也跟前期的准备有关系。

你可能感兴趣的:(========其,他=========)