前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >应届硕士毕业生如何拿到知名互联网公司深度学习 offer?

应届硕士毕业生如何拿到知名互联网公司深度学习 offer?

作者头像
AI研习社
发布2019-08-06 11:25:40
1K0
发布2019-08-06 11:25:40
举报
文章被收录于专栏:AI研习社

作者:熊风 链接: https://www.zhihu.com/question/59683332/answer/281642849 著作权归作者所有。AI开发者获得授权转载,禁止二次转载。

最近投了一堆机器学习/深度学习/计算机视觉方向的公司,分享一下自己的经验,希望对大家有帮助。

个人背景:华科本科 + 港科大硕士(MPhil)

拿到的offer有腾讯优图,阿里AI lab,今日头条,滴滴研究院,商汤科技,旷视(face++),大疆,快手。绝大部分是ssp(super special),给到了普通硕士能给到的最高档。

写在前面的话

这个回答的适用对象主要还是本科和硕士。PhD找工作的套路跟硕士还是很不一样的,所以这个回答的经验对于手握几篇一作顶会的PhD大神并没啥参考意义。

我也和我们实验室几个找工作的PhD学长学姐聊过,他们的面试主要是讲自己的research,有的甚至就是去公司给个talk,跟本科硕士的校招流程完全不同。现在也是AI方向PhD的黄金时代,没毕业就被各大公司主动联系,待遇也比我这种硕士高很多很多。

整体建议

一定要找内推。

内推一般有两种,第一种力度比较弱,在公司的内推系统上填一下你的名字,加快一下招聘流程;第二种力度比较强,直接把简历送到部门负责人手上。个人比较建议第二种,会省事很多。

原因如下:

1.现在做机器学习的人实在太多了,在不找内推的情况下,流程会特别特别慢。即使你的简历比较优秀,也可能淹没在茫茫大海中,不一定能被懂行的人看到。

2.现在很多公司的笔试其实挺有难度的,就算是大神也有翻车的可能性。

3.对于大公司而言,即使通过了简历筛选、笔试那一关,你也很难保证你的简历被合适的部门挑中。很可能过关斩将后,发现给你安排的面试官并不是太对口。尤其是深度学习这样比较新的领域,一般部门的面试官多半也是近期自学的,对这个也是一知半解。所以如果是想去BAT这些大公司里面专门做AI的部门,按照正常校招流程走是不合适的,一定要找到那些部门的员工内推。

在我看来,如果是跪在简历筛选、笔试这些上面,连面试官都没见到,就实在太可惜了。为了避免这一点,请认真找内推。最好能联系到你想去的公司部门里的负责人,直接安排面试。

面试经验

面试遇到的题目,可以分为几个大类:

1.代码题(leetcode类型),主要考察数据结构和基础算法,以及代码基本功

虽然这部分跟机器学习,深度学习关系不大,但也是面试的重中之重。基本每家公司的面试都问了大量的算法题和代码题,即使是商汤、face++这样的深度学习公司,考察这部分的时间也占到了我很多轮面试的60%甚至70%以上。我去face++面试的时候,面试官是residual net,shuffle net的作者;但他们的面试中,写代码题依旧是主要的部分。

大部分题目都不难,基本是leetcode medium的难度。但是要求在现场白板编程,思路要流畅,能做到一次性Bug-free. 并且,一般都是要给出时间复杂度和空间复杂度最优的做法。对于少数难度很大的题,也不要慌张。一般也不会一点思路也没有,尽力给面试官展现自己的思考过程。面试官也会引导你,给一点小提示,沿着提示把题目慢慢做出来也是可以通过面试的。

不过这部分有些是LeetCode原题,在这里我简单地举几个例子,附上LeetCode题目链接:

  • Maximum Product Subarray
  • Maximal Square
  • Subsets

2.数学题或者"智力"题。

不会涉及特别高深的数学知识,一般就是工科数学(微积分,概率论,线性代数)和一些组合数学的问题,这部分有些题也在知乎上被讨论过,这里附上相应的知乎链接:

  • 如果一个女生说,她集齐了十二个星座的前男友,我们应该如何估计她前男友的数量?
  • 如何理解矩阵的「秩」?
  • 矩阵低秩的意义?
  • 如何理解矩阵特征值?
  • 奇异值的物理意义是什么?
  • 为什么梯度反方向是函数值下降最快的方向?

3.机器学习基础

这部分建议参考周志华老师的《机器学习》,列一下考察的知识点,并附上相关的优质知乎讨论:

a.逻辑回归,SVM,决策树:

  • 逻辑回归和SVM的区别是什么?各适用于解决什么问题?
  • Linear SVM 和 LR 有什么异同?
  • SVM(支持向量机)属于神经网络范畴吗?
  • 如何理解决策树的损失函数?
  • 各种机器学习的应用场景分别是什么?例如,k近邻,贝叶斯,决策树,svm,逻辑斯蒂回归和最大熵模型。

b.主成分分析,奇异值分解

  • SVD 降维体现在什么地方?
  • 为什么PCA不被推荐用来避免过拟合?

c.随机森林,GBDT, 集成学习

  • 为什么说bagging是减少variance,而boosting是减少bias?
  • 基于树的adaboost和Gradient Tree Boosting区别?
  • 机器学习算法中GBDT和XGBOOST的区别有哪些?
  • 为什么在实际的 kaggle 比赛中 gbdt 和 random forest 效果非常好?

d.过拟合

  • 机器学习中用来防止过拟合的方法有哪些?
  • 机器学习中使用「正则化来防止过拟合」到底是一个什么原理?为什么正则化项就可以防止过拟合?

4.深度学习基础

这部分的准备,我推荐花书(Bengio的Deep learning)和@魏秀参学长的《解析卷积神经网络-深度学习实践手册》,列一下大概的考察点和相关的知乎讨论:

卷积神经网络,循环神经网络,LSTM与GRU,梯度消失与梯度爆炸,激活函数,防止过拟合的方法,dropout,batch normalization,各类经典的网络结构,各类优化方法

  • 卷积神经网络工作原理直观的解释?
  • 卷积神经网络的复杂度分析
  • CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?
  • bp算法中为什么会产生梯度消失?
  • 梯度下降法是万能的模型训练算法吗?
  • LSTM如何来避免梯度弥散和梯度爆炸?
  • sgd有多种改进的形式(rmsprop,adadelta等),为什么大多数论文中仍然用sgd?
  • 你有哪些deep learning(rnn、cnn)调参的经验?
  • Adam那么棒,为什么还对SGD念念不忘 (1)
  • Adam那么棒,为什么还对SGD念念不忘 (2)
  • 全连接层的作用是什么?
  • 深度学习中 Batch Normalization为什么效果好?
  • 为什么现在的CNN模型都是在GoogleNet、VGGNet或者AlexNet上调整的?
  • Krizhevsky等人是怎么想到在CNN里用Dropout和ReLu的?

5.科研上的开放性问题

这部分的问题没有固定答案,也没法很好地针对性准备。功在平时,多读paper多思考,注意培养自己的insight和intuition。

6.编程语言、操作系统等方面的一些问题。

C++, Python, 操作系统,Linux命令等等。这部分问得比较少,但还是有的,不具体列了

7.针对简历里项目/论文 / 实习的一些问题。

这部分因人而异,我个人的对大家也没参考价值,也不列了。

平时应该怎么准备

在大多数情况下,你能拿到什么样的offer,其实已经被你的简历决定了。如果平时没有积累相关的经历和成果,很难只靠面试表现就拿到非常好的offer。所以建议大家平时积累算法岗所看重的一些干货。

下面几点算是找AI相关工作的加分项:

1.一作的顶级会议论文

2.AI领域知名公司的实习经历(长期实习更好)

3.相关方向有含金量的项目经历

4.计算机视觉竞赛,数据挖掘竞赛的获奖或者优秀名次。现在这类竞赛太多了,就不具体列了。

5.程序设计竞赛的获奖(例如OI/ACM/topcoder之类的)

当然,名校、高GPA这些是针对所有领域都有用的加分项,同样也是适用于这个领域的。

所以我的建议就是,如果自己所在的实验室很厉害,资源丰富,就专心做科研,发paper;如果所在的实验室一般,没法产出相关的优秀成果,可以考虑自己做比赛和找实习。有一份知名公司的实习经历之后,找工作难度会下降很多。

最后,祝有志于AI这个领域的人都能拿到满意的offer。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI研习社 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 写在前面的话
  • 整体建议
  • 面试经验
  • 平时应该怎么准备
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档