转发2018届的一篇微软美国的面经

秋招终于结束了,趁着还有些记忆写下这篇面经,希望对学弟学妹有所帮助。

首先先介绍一下个人背景,任何面试总结脱离了作者的背景都可能误导读者。本人本科期间参加了一年多(从入HDU校队开始算)ACM/ICPC比赛,最好成绩是区域赛银牌。硕士在浙江大学,主要系统开发相关的东西。

然后列一下我主要投的公司和offer情况。我投递的公司不多,如下:

(注:sp=special 不确定是否是special offer的我都标了offer,其中的创业公司都是sp offer

1.微信:

微信是我最早拿到的一个offer,因为是实习转正。实习面试分3轮,2轮技术面+1轮hr面。第一面技术面之前会给30分钟做4/5道算法题,写在一张A4纸上,题目比较简单。然后开始和面试官唠嗑,第一面基本上是我在讲简历上的项目,印象中没提什么问题。第二面问了一些操作系统和算法的基础知识,不难。然后开始了在广州的实习,这次实习对我帮助很大,我感觉学到很多东西。

实习是在基础消息组,实际实习时间1个月,完成了一个c++内存泄露检测工具,由于业务需求,所以检测泄漏的时候用了一种比较创新的方法,特别是针对协程做了优化。当然这里面有同事们的帮助。由于实习面试、实习表现以及后续转正面试成绩很不错,进入了技术类实习生前两名,所以有幸参加了技术大咖的面试,不过遗憾的是面试挂掉了。

总的来说,微信的经历对我培养在强压力下工作的能力很有帮助,由于入职较晚,离考核只有一个月时间(最开始通知是三个星期),所以基本上那一个月非常忙。不过令人欣慰的是最后写出来的工具确实发挥了作用,检测出一些微信业务代码中的陈年内存泄露。特别是检测出了gperftools中的一个bug,可惜新版本已经fix了。

微信的用户量很大,但其实开发团队相对来说很小,所以很多地方有点像创业公司。招聘门槛也比较高,基本上从我了解到的信息来说,腾讯内部转岗都很难进。待遇上来讲挺不错,推荐大家前往。


2.Hulu Beijing

Hulu也是实习转正,不过是去年G20的时候去实习的。

实习面试:实习面试分三面,因为我在杭州,所以都是电面。每一面都是算法题。

转正面试:Hulu的转正面试是需要先提名的,一般来讲由你实习时候的manager发起提名。面试分3轮,因为人在杭州所以也是skype面试。2轮技术面+1轮boss面。2轮技术面都是算法,在线做题题目不难。

总体感觉,一般如果你申请的是SDE,那么面试是在一个共享文档上写代码,感觉我遇到的题都不难,题目比较注重基本功的考察。但是也有同学遇到比较难的题,这个应该和面试官有关,但是总体而言Hulu目前的面试难度没有五六年之前传说级那么难了。

总结:Hulu是家很不错的公司,技术实力很强。这一点从北京研发中心的员工构成可窥一斑,你身边会有大量清北的同事,甚至是姚班的大神。交流起来会比较顺畅。


3.阿里巴巴

阿里我投的是阿里云,让以前在阿里实习时的同事内推了一下。面试(我记得)分为4面,3轮技术+1轮hr。第一面面试问了我实验室的项目,然后一些系统方面的基础知识。最后写了一道基础的编程题。二面问了我除了内存相关的东西,对linux内核还有哪些了解之类的问题,由于对内核其他方面不是很了解,答的比较尴尬。最后问了OS中的一个基础题,我没答好。三面是交叉面,面试官好像是阿里云数据库团队的。具体问了啥已经忘了基本上是问各方面的基础知识。由于数据库我不是很懂,聊不起来。

总结:总的感觉是阿里云很重视你的既有经验,特别是在某个领域的深度,面试过程中很看重基本功,编程方面基本没问,可能是因为我简历上写了acm经历的缘故。阿里云现在还是比较缺人的,因为这几年发展的很好。我投的是内核团队也就是早前的淘宝内核组。面试通过后,会认真和你交流,实际选组比较自由,当我表达对分布式有兴趣之后,也让块存储的同事和我交流了,总之会比较尊重你的选择。


4.网易游戏

网易游戏让实验室学长内推了一下,由于在hihocoder上做了几场offer收割赛成绩不错,所以免去了在线笔试。onsite面试在网易杭州园区,分为30分钟的白板(纸上)写题+2轮面试。白板写题部分我遇到的是实现LRU Cache,我是用unordered_map+双向链表来做的,leetcode上有原题。然后是面试,面试时间很长,问了很多东西,首先是LRU Cache这题,review代码之后问我用单链表怎么做,然后还有OS、network、database、data structure/algorithm方面的一些基础。问了最长公共子序列,秒杀,面试官也笑了,觉得这题不该问。。还有一题是给出一个结构体的定义,现在已知指向该结构体的一个实例中的一个成员的指针,求出该实例的起始内存地址。其实这是linux内核中的链表经常用的一个技巧,对应的宏叫container_of,但是面试时候一直没想起来是怎么做的,后来发现关键点是把常数强转为指向结构体的指针,这样就可以知道给出的成员与结构体起始位置的偏移量。另外还有一题是告诉你地图上有很多怪物和玩家,用二维坐标表示,怪物和玩家都是运动的,当玩家距离怪物距离R以内时会察觉并攻击,问怎么维护这个关系。这题没答好。二面没有具体考察,主要是问我在微信的项目,对实习过的各个公司的看法等等问题。

总结:如果喜欢玩游戏做游戏,去这家不会有错。

5.依图科技

依图是一家人工智能领域的创业公司,第一次听说是去年CAD一位学长去面试了,和我说很不错,后来一位本科同学也跳槽去了,问了下感觉不错就去面了。我投了算法工程师和后台开发两个岗位,其实我并不懂机器学习,但是当时有转机器学习的想法。

依图面试

面试分为4轮,3轮技术面+1轮大佬面。第一轮是算法面,个人感觉这轮面试是我整个秋招过程中面试难度最大的两轮面试之一,另一轮是微软的第一面。当然题目仍然是leetcode水平,并没有真的很难。第二轮有点忘了,只记得问了道非常有意思的智力题,回答的不错。第三轮没问算法,问了system design:如何设计一个微博系统,用户10亿,DAU 1亿。听完有点懵,以前没想过这些问题。这一面答的不好。基本是是在提示下一点点前进。这一轮收获很大,以前从没考虑过这种问题。这样一个系统,需要哪些功能,QPS怎么假设,数据表怎么设计,需要多少台服务器,业务需要多少台,存储需要多少台,每台配置如何,何种外存,ssd还是机械盘,机械盘转速多少,怎么算出具体iops,容灾怎么做,网络瓶颈等等,非常具体。



6.拼多多

同学面完后向hr推荐了我,听HR介绍了之后感觉公司不错就投了简历。

笔试题很不错,不是都很简单那种。其中有一道是机器人扫地的题目,让人感觉耳目一新。

onsite分两轮,第一轮面试官尝试问了我一些网络方面的问题,因为我这块不熟,所以一直尬聊。最后做了一道dp题,回答的比较好


7.google

参加了kickstart笔试,onsite是在上海。第一轮比较顺利,第二轮时候沟通有点问题,面试官在回答我clearify的问题时给了错误的条件。

总结:google题不难但是一定要注意理解题意,做题前和面试官沟通清楚。如果面试官自己也搞错了,那就没办法了。google今年似乎只提供了北京和上海的岗位,无法申请海外岗。

8.***

找了学长内推但是联系我的是*** London的hr说可以提供伦敦那边的机会,很可惜电面挂了。面试题是leetcode难度,但是第二题题目理解错了,写完之后又重写,最后时间不够了。

总结:fb的hr做事非常高效。面试前发了很多相关资料,回邮件也非常快。面试的时候我是边说边写代码的,感觉其实是有难度的,因为很多时候头脑中有一个中文转英文的过程会打断思考。现在我的看法是先说完思路,写代码的时候就不要解释了,写完之后再对必要之处进行解释从我的经历来推测今年fb可能是不会为处于美国之外的外国候选者(应届毕业生)sponsor H1B。目前H1B政策前景不明的情况下,没有美国学位的***劣势很大。如果真想去这家,还是去美国读个研吧。


9.微软西雅图

这是我今年秋招的最后一个面试。最后也选择了这个offer。

由于google和***纷纷挂掉导致心情很差。痛定思痛,我打算好好复习准备微软的面试。于是开始刷leetcode的median题,我发现对于acm选手来说,hard题并不算难,因为很多都是acm竞赛中的一些套路。反而一些median题思路清奇,万一遇到又没做过的话临场很难想到最优解。于是面试前几个星期,我认真刷了array、linkedlist、tree、string等几个专题。并且复习了以前打比赛时候的一些算法,比如莫队分块、BIT、线段树、manacher、最小表示法等比较简单好写又非常实用的算法。然而这些都没有什么卵用。事实证明,好好刷leetcode就好了。

微软面试是在上海,面试分4面,都是英文面。算法部分不是很难。但是设计题感觉没答好。不过最后还是拿到了offer。由于签了NDA,具体题目就不透露了。

总结:据我目前信息来看,MS是今年唯一一家为中国大陆应届毕业生提供美国岗位的公司,可以说是良心企业在中国大陆招收的人很少,个人估计在20人以内。


11,其他还投递了一些公司,比如今日头条,但是面试流程太诡异了。很早就让同学内推了,但是一直没任何消息。结果过了一个月hr和我说在人才库中看到了我的简历也就是说我简历挂了然后又内推了一次。之后头条到浙大宣讲,当场笔试。做完又没消息了。当时hr说只要以前内推过的就可以不需要当场再投简历我就没投。但是当场投的好像去面试了。。后来11月多了终于联系我面试。。因为已经决定去微软了,于是拒了面试。


总的来讲,找工作不仅是看实力,运气也很重要,但是实力是前提。人总有发挥不好的时候,但机会只有一次,所以better safe than sorry,准备越充足越好。很多学弟学妹咨询我赴美工作相关的问题,有些问题我自己也没有答案,所以很难给出令人信服的解答。但是一些方向性和操作性的问题我还是有点经验的,欢迎与我交流。

#微软##微信##拼多多##hulu##面经##C++工程师#
全部评论
说是微软面经,几乎什么都没讲
点赞 回复
分享
发布于 2019-04-22 18:23
围观神仙,火钳刘明。另外感觉本科努力提升算法,搞acm等才是比较好的出路,其他的后面有的是机会学,可惜很多人(包括我)以前从未意识到
4 回复
分享
发布于 2019-04-22 18:05
英特尔
校招火热招聘中
官网直投
这是真神仙啊
1 回复
分享
发布于 2019-04-30 19:06
神仙?
点赞 回复
分享
发布于 2019-04-22 17:40
我这个凡人为什么要点进来?
点赞 回复
分享
发布于 2019-04-22 17:42
羡慕大佬,为什么我这么菜😂
点赞 回复
分享
发布于 2019-04-23 00:28
刘神?
点赞 回复
分享
发布于 2019-04-23 20:36
请问谷歌和微软的技术面试是英文的吗?还是说有单独的英文面试?
点赞 回复
分享
发布于 2019-04-30 16:14
这种帖子比较适合学习颓废的时候进来开开眼……收藏了。
点赞 回复
分享
发布于 2019-04-30 18:42

相关推荐

本硕都23所的私我发简历阿里云数据传输服务 (DTS) 团队校园招聘加入我们,成为数据流动的驱动者!🌟 我们是谁?阿里云数据传输服务 (DTS) 是一个全面的实时数据流服务平台,专注于支持各种数据源之间的数据交互。我们的服务覆盖关系型数据库、非关系型数据库、数据多维分析等,提供数据同步、迁移、订阅、集成和加工等功能,致力于为客户构建安全、可扩展、高可用的数据架构。产品官网:https://help.aliyun.com/zh/dts/product-overview/what-is-dts?spm=a2c4g.11174283.0.0.3c7d1cfdCGGU6f🚀 加入DTS团队,你将有机会:参与构建和优化实时数据流处理平台,影响成千上万的企业用户数据决策。接触和学习最前沿的大数据技术,包括但不限于实时数据同步、ETL处理、数据湖构建等。在高速发展的云计算行业,与一流的工程师合作,共同解决挑战性的技术问题。👩‍💻 我们在寻找:对数据有热情,愿意深入了解数据的秘密,并希望用数据力量推动技术发展的杰出应届毕业生。有着扎实的计算机科学基础,良好的编程习惯,和解决复杂问题的能力。拥有团队合作精神,渴望学习新技术,并能够在快节奏的工作环境中适应和发展。🌱 我们提供:深入参与数据传输服务DTS的全生命周期,从产品研发到市场应用。参与设计和实现行业领先的数据解决方案,助力企业数据架构升级。在阿里云这个技术驱动的环境中,不断挑战自我,实现职业成长。竞争力的薪酬福利,为你的职业旅途提供坚实的基础。🔍 加入我们的要求:2024 年 11 月至 2025 年 10 月毕业计算机科学或相关专业研究生及以上学历。熟悉一种或多种编程语言,如Java、Python、C++等。🌟加分项:了解数据库原理,具有关系型或非关系型数据库的使用经验。具有大数据处理、云计算或相关实习经验。对容器k8s,任务调度,网络有相关了解与经验📅 投递时间:即日起至招满为止 #实习#  #阿里云#  #暑期实习#
点赞 评论 收藏
转发
19 108 评论
分享
牛客网
牛客企业服务