2019毕业面试总结(持续更新)

面试经历

编号 面试时间 面试公司 面试方式 面试结果
1 2019.08.22 华为消费者终端事业部(上海) 电话面(55min) 二轮技术面和主管面
2 2019.09.03 阿里巴巴校招 onsite面试(30min) 被拒
3 2019.09 微软中国 在线笔试 远程一二面

面试过程

1. 华为消费者终端事业部(上海)

2019.08.22
面试内容:

  1. 围绕论文发表内容阐述算法研究内容,并从内容中引申出相关的问题,自己要对研究的内容非常熟悉,并且要经常从逻辑的角度来想自己的目标是什么,为什么要这么做。
  2. 从研究经历出发,从工程的角度来衡量你的工程实践能力(我面试的主要是软件开发相关,所以问了一下代码行数),主要使用的工具使什么
  3. 我的问题是消费者终端事业部主要是做什么的:面试官的项目组主要是做手机系统的整体仿真和图像算法的处理(会涉及到GAN以及算法性能的评估)

面试收获:
华为产品线的加班比较严重,但是非产品线的加班会看项目进度来。项目进度紧急的话会996,但不是全年。薪资不透露。

2019.09 更新
通过了在线笔试,和第一轮技术面试。之前的电话面试是闲聊,不属于正式面试。
增加了关于C++语法知识的考察(static,STL容器等方面的考察)。问了一下CNN基本知识。

2019.10 更新
技术二面,主要是对项目的质询。主要了解SLAM技术和关于磁定位项目的陈述。
最后写一个题本来要挟FFT的蝶形运算图,但是太久远了没办法写。最后写了一个SLAM的整体流程图。

2. 阿里巴巴校招

2019.09.03
面试内容:

  1. 简单自我介绍(1min)
  2. 两道算法题,白板写(15min)
  3. 机器学习算法以及相关项目经历

自我介绍:突出了一下组里没有人做相关背景的东西,我相当于是从0开始(然后被面试官问这是不是亮点,我来了一句这好像也不能算亮点)

两道算法题:
A. 翻转二叉树(写出来,但是没有注意边界条件,就是用递归)
B. IOU 给出两个矩形的对角线顶点,求两个矩形的交叉面积(绕进去了,没有想明白)
正确的思路:
假设rect 1有点(Ax, Ay)和(Bx, By);假设rect 2有点(Cx, Cy)和(Dx, Dy);
首先第一步,确保A,C是左上角, B,D是右下角
那么:
width1 = Bx - Ax;
height1 = By - Ay;
width2 = Dx - Cx;
height2 = Dy - Cy;

startx = min(Ax, Cx);
endx = max(Ax+width1, Cx+width2);

starty = min(Ay, Cy);
endy = max(Ay+height1, Cy+height2);

现在来判断x方向 width1 + width2 - (endx - startx) 和 y方向 height1 + height2 - (endy - starty) 如果任何一个小于0,则说明没有相交。
如果大于零,那么这两个值就是相交区域的边长。

这是广泛用在cv领域的iou

机器学习算法需要你对算法为什么是这样的有比较深入的理解。比如logistic regression的loss function为什么是这样构造的。以及朴素贝叶斯大概的应用是什么。总结就是回去要好好看书,andrew ng的视频两倍速来补一下。

3. 微软1,2面试

1轮面试问了项目,做了一道题,字符串找出包含最长子串。Teams面试,上来有点懵,最开始想用动态规划写,但是递推公式没退出来,后来改成暴力。但是最后面试官说有点问题。

2轮面试先问了什么是“动态编译”,潜意识里有点抗拒问计算机组成原理的内容,知道是在问关于继承虚函数的内容,但是怂了怕说错就说不太了解相关领域的内容。
做了两道题,第一道,翻转字符串“I am a student”换成“student a am I”。第一遍没看明白,做了个2 pointer翻转,后来面试官说你跑一下看看是什么。发现问题之后有写了一遍。稍微有点小问题就是在最后一个单词push进来的时候,经过提醒更正。
第二道,二维排序数组找到查找是否存在一个数。首先是暴力,面试官说减小复杂度,然后就是两个二分法。首先最后一列二分法找到大于等于target的最小的数,然后在该行二分法查找是否存在这个数。写出来面试官说没什么问题。然后我的问题是我哪些方面不足,面试官说你需要补计算机组成原理,你需要知道这些相关内容。

结果应该是凉了。因为没有接到三面通知。