一直看大家的面经, 献上迟来的实习生面经回馈牛客! 主要包括: Google, 微软, 阿里, 美团和因为各种原因没有面试成的公司......
基本情况
基本情况: 某 985 硕士, 常用语言 C/C++,Python, 研究方向为深度学习, 计算机视觉, 有一篇水的会议论文, 一篇水的期刊论文, 有 ACM 等算法竞赛和数据挖掘类竞赛获奖经历, 在导师和 Github 上都有项目. 除了谷歌投的是 SWE, 其它都是算法岗.
谷歌
Warm up: Google mock interview
1 月 31 日, GCJ 获得资格, 45min.
算法题: 有一个 n 乘 n 的棋盘, 上面有 m 个糖果, 最开始有一个人在棋盘左上角, 他可以向左向右或者向下移动, 但不能向上移动, 问他最少需要多少步吃完所有糖果.
正解: 一个糖果或者没有糖果的行很简单, 多于一个糖果的行其实一定是从最左或最右的糖果处下去, 所以只需要维护吃到每一行最左或最右糖果的最小值就行了, 转移的时候讨论上一行的端点在这一行最左到最右区间的里面还是外面.
详细经历看这篇博客 https://hjptriplebee.github.io/Google面试经历-一.html/ .
3 月 12 日, A Day with Google, 配套活动, 参观一下.
一面
3 月 19 日, 45min.
没有其它废话, 上来直接算法题,
有一些单词对表示同义词, 单词对之间不考虑传递性, 判断两个句子是否表示完全相同的意思? map 套 map 解决, 写了第一个解法.
你的方法复杂度多少? MlogNlogN
能不能更快? unordered_map 或者字典树解决.
写个字典树看看? 写写写, 写了第二个解法.
如果考虑单词对之间的传递性呢? floyd 解决.
如果数据规模很大呢? 离散化 + 并查集.
并查集复杂度多少, 为什么复杂度是这样? O(1), 路径压缩.
还有 8 分钟, 写并查集的解法让我看看? 写了第三个解法.
整体就是这样, 一共手写了三套解法, 重点考察了数据结构, 由于最后一个解法时间比较紧, 被面试官挑出两个 bug. 基本算满意, 有一些小瑕疵. 详细经历看这篇博客 https://hjptriplebee.github.io/Google面试经历-二.html/ .
结果
3 月 23 日, 通知状态变为 hold, 介于过和拒之间的状态. 内推的同学说投的太迟了, 很多人过年前投的, 过完年就开始面试了, 到了 3 月中旬岗位不多了. 怪不得我说一面感觉也不差怎么就 hold 了, 所以谨记, 内推实习生一定要早投!!!
微软
秒杀笔试算法题, 4 月 24 日, 面试去现场...
一面
40min, 面试官是我整个实习生面试期间遇到的最棒的面试官.
编译工程的各个文件间有相互依赖, 如果想编译通过需要满足什么条件? 有向无环图.
给定文件间的依赖关系, 怎么判断一个工程是否能编译通过? 拓扑排序, 然后白板写了拓扑排序.
如何找出所有合法的编译顺序? 深搜 + 拓扑排序, 白板写了一下.
才过去 15 分钟, 你写的也太快了, 我们聊些深度学习的东西, 问了卷积的基本原理, 简单计算了感受野, 参数数量.
聊了放在 github 上的一个唐诗生成器.
我想这一面给的一定是 strong hire
二面
40min, 典型程序员, 一句废话都没有.
白板写个单链表的冒泡排序. 先走一遍统计长度再冒泡.
能不能优化? 想了一会儿没什么想法, 面试官提示记录尾部节点. 然后白板写了一遍用 tail 记录每一次冒泡的结尾.
CNN 有哪些基本单元和作用? 卷积, pooling,fc 等等说了一大堆
Relu 的原理, 与 sigmoid 比优缺点? 求导, 画图说明了一下, 不容易梯度消失, 但是会导致神经元死亡.
除了面试官提示了一次记录 tail 节点, 其余还好.
三面
40min,Boss 面, 可能是看前两面写代码反馈不错, 所以把纸收起来了, 没写代码.
把论文从 background 到 conclusion 都讲了一遍.
讲了在老板这里做的一个项目的详细设计.
然后基本聊聊天. 应该还挺满意的吧, 最后加了我微信, 说很希望我能去他们组, 受宠若惊啊!
结果
4 月 28 日, 收到微软 C 信, 5 月 9 日, 收到微软 offer!
阿里
通过 Github 被阿里猎头选中, 本来他的期望是招前端, 我觉得不 OK, 跟他说了一下我的情况, 然后转而把我推到机器学习算法岗去了......
一面
3 月 23 日, 45min, 全程紧张, 面试官一直让我放松.
自我介绍, 然后根据自我介绍问项目, 一共 40 分钟.
最后 5 分钟算法题:
有一些字符串, 定义前后字符差值形成的序列一致的两个字符串为相同字符串, 问如何将给定的这些字符串分成若干集合, 每个集合中字符串都满足相同字符串的定义.
解法: 将差值序列作为 hash 表的 key, 形成的集合用一个 vector 或者 map 随便什么作为 value 就行了.
面试官说很 OK, 自己面下来感觉也很好.
二面
4 月 14 日, 周六面试...,25min, 似乎是被我的项目震惊了.
迟来的二面, 因为 14 日是网申截止, 而网站上一直是面试中的状态, 所以我一直以为凉了, 而面试官说这一面应当属于三面? 我也不是很懂.
面试官只问了两个项目, 问得比较细, 连里面有什么函数, 函数怎么设计的, 类之间的继承关系都问了一遍, 然后就说很好, 看了一眼我的 github, 又问我平时是怎么学习的? 怎么做这么多项目的?
最后又跟我说面试过应该没什么问题, 而且较大概率去他的团队, 然后就夸他们团队怎么怎么好...
我全程懵逼... 这就面试完了???
交叉面
4 月 26 日, 70min, 三个面试官, 其中一个推进流程串场.
达摩院大佬: 45min
说说深度学习调参的过程和一些常见技巧? 网络结构, Data Augmentation, 初始化, 防止过拟合的方法, 可视化调试, 优化方法等等, 想到什么说什么. 说的比较乱, 自己对自己的回答不是很满意.
面试官对深度学习和 CV 很有研究, 具体聊了论文, 让我总结目标检测的主流方法, 详细说了 Faster-RCNN,YOLO,SSD,FPN,R-FCN 等各种目标检测的方法. 可以看出, 面试官对里面的细节不是很清楚, 但是提的问题很有质量.
搜索事业群大佬: 25min, 这个我就真的懵逼了
我们有一个业务系统, 每天要处理 1000 万次服务请求, 如何设计这个系统? 我??? 靠着写分布式系统大作业的老底, 勉强挤了一点出来.
你觉得有哪些机器学习技术能用在搜索事业群? 为什么? 乱讲了一些, 希望他满意, 基本包含了所有机器学习里的东西吧.
监督学习做分类回归: LR,SVM,XGB 等经典浅层模型, CNN,LSTM,GAN 等深度模型;
半监督学习充分利用搜索产生的大量数据: 主动学习, 直推式学习;
无监督学习减少计算开销, 同样充分利用数据量: k-means,DBSCAN, 谱聚类等聚类方法, PCA,SVD,ISOMAP,T-SNE 等降维方法;
强化学习可以利用用户的反馈;
后来挤牙膏想到的一些其它方法: bagging,boosting 集成学习方法提升精度, 矩阵分解, 协同过滤等推荐算法.
真的不知道该怎么答!
HR 面
5 月 2 日, 30min, 以自我介绍为主线, 我说完一点, 她就会问点问题, 比如做的项目是 research 还是面向实际需求的. 主要说说非技术问题吧:
家在哪里, 家里人同意来杭州吗? 不同意也得说同意啊.
为什么选择阿里? 为什么选择这个职位? 准备充分, 背诵一下.
你有什么问题? 我问阿里对实习生有培训吗? 我们对实习生不会有太多培训!
什么时候能来实习? 我觉得这个问题她不满意, 因为她希望我马上过去实习, 实际上我是不可能马上过去实习的, 然后 HR 说实习时间短可能会影响转正啊 balabala. 我在招聘网站上写的好好的时间, 你接受了我的申请就是同意了我的实习时间, 现在看来, 他们大约只是想招个苦力. 由于我坚持不能马上过去实习, HR 态度发生了很大转变.
听已经实习的说, 阿里实习生晚上九点都没有人走的, 看看我的发际线, 还是别那么拼命吧.
结果
5 月 9 日, 收到阿里 offer.
美团
一面
3 月 16 日, 30min, 我见过的最不负责任的面试官.
迟到早退, 完全没有心思面试, 只问了简单的算法题, 连字符串翻转这种题都出来了...
然后聊了项目, 问的问题极其外行, 最后笑嘻嘻走了???
二面
4 月 25 日 21 点, 60min, 把我当备胎了吧, 一面那个面试官真不想吐槽了, 就这样面试下来就把我当备胎了? 好在二面的面试官很专业, 挽回一些美团的形象.
搜索框内的候选项怎么实现? A. 统计前缀词语条件下, 每个词出现的概率, 用哈希表或者字典树存储, 适当剪枝. B. 用机器学习模型, 如: LSTM 等, 根据前缀词预测当前词.
简述 LR, 有一些用户属性和购买记录, 如何用 LR 给他们做推荐? 基本是数据挖掘比赛那一套讲讲就行了, 问的很细, 从最开始的数据清洗到特征工程到后面的集成都会问.
有一个无限长的数字序列, 大到存储其中所有数是不可能的, 序列不断传输过来, 在某一个时刻喊停, 要求以均等概率返回之前已经传过来的某一个数. 每过来一个数, 就以 1/n 的概率保留, 这样只要存当前留下来的数返回就可以了.
三面
4 月 28 日, 45min.
说说比赛, 项目, github 开源, 从系统的架构到每一个模块的细节都问了一遍. 问我有哪些 offer, 说自己在蚂蚁呆过, 都是水货写业务没什么意思, 吹美团这边的数据是百亿级别的? 咱能不这么浮夸吗?
结果
5 月 3 日, 收到美团 offer.
其它
一些投了, 但是没能面试的
京东
因为让我去北京现场面试但是不报销费用被我主动挂了. 而且要吐槽一下, 京东有图像标注实习生的岗位, 要求吃苦耐劳, 这是什么鬼?
网易
我让师兄内推, 他们老大看了一眼简历就说应该能来吧, 面试水水的...
后来知道所投岗位已经差不多满了, 要转岗, 也被我主动挂了.
Face++
投了简历, 没理我, 后悔没找校友内推! 听说内推的基本都进了?
小米
投了简历, 没理我, 南京招的人比较少.
腾讯
笔试没有参与聚众讨论, 笔试挂了, 题目一点诚意都没有, 全都一样的, 就是为了把不作弊的刷掉? 今年招的人很多啊, 各种水进去的, 而我连水的机会都没有, 不开心!
总结
最大的感受是: 有项目就可以一直吹, 虽然我准备了, 但几乎没遇到问数学公式推导和操作系统, 计算机网络背概念的面试官, 大多数是就简历问, 也有结合业务场景让设计方法的. 我靠, 枉我看了那么长时间的西瓜书和本科教材...
总的来说, 差强人意, 因为谷歌崩了才投了这么多乱七八糟的, keep calm and stay strong!
点击作者姓名与作者大佬交流~
作者: triplebee https://www.nowcoder.com/discuss/81353?type=2&order=4&pos=9&page=2&from=jianshu
来源: http://www.jianshu.com/p/36c324bdb5ca