0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一名微软软件工程师的校招经历

工程师人生 来源:工程师吴畏 2019-07-22 17:12 次阅读

当我接到微软HR电话的,说实话心里真的是很开心,因为在无数的求职者中能够选到我的简历自己感觉也是非常幸运,当然也离不开我大学就读时候的努力。和HR约好了五天后面试,我就立刻开始刷Lintcode。平时和学长、同学交流的都很多,基本上对微软的面试流程和大体思路都有比较充分的了解。根据网上的面经,微软的笔试、面试很大一部分考验算法,而且非常注重写代码的能力,所以我针对这个做了很多准备,Lintcode大概刷了2遍。

电话面试:

接到HR电话之后,HR会单独跟你商量一个电话面试的时间,并且提醒你保持通话质量的稳定。感觉还是很贴心的,我留的是学校学生中心办公室的固话。当时约的是下午2.00左右,我1.30左右就等在电话旁边了。电话大概1.55分响起(好准时),面试我的是一个普通话很标准的小哥,先问了我一些很普遍的问题,比如哪里知道的招聘信息,专业和经历之类的。然后就开始正式的问问题,问的属于比较基础那种,比如排序和一些很简单的三叉树列表之类的。感觉电话面试很大程度上属于一个筛选的过程,把那些不达标的人全部排除出去。所以大家平时基础一定要打好。基本电话面了大概20分钟左右就结束了,小哥说我不错,让我回去等通知。

面试第一轮:

通知邮件大概在三天之后收到,说我通过了电话面试,准备来公司面试。第一轮在单独的小房间的进行,第一轮的面试官好像是很技术派的那种,一开始就问我的项目经验和设计思路什么的,应该是想通过我的经验来看看我的基础和其他能力。这个部分是限时30分钟的,所以即使我和面试官聊的很欢,到了半个小时他也会拿出试卷让你做题。题目大部分都是算法题,比笔试要较难一些,但是也是蛮基础的,最重要的是细心不紧张。对于这一部分我的建议是你写完一个程序后,一定要用自己的测试用例跑一下,确保你的程序是能顺利跑完的。一定要考虑全面,不要等面试官亲自指出来你才发现错误。当面试官让你再检查一下的时候,这说明你的程序肯定是有问题的。面试的时候遇到了1道lintcode原题,和一道lintcode相似题,建议大家到lintcode多练练,把高频的题目刷个透,基本就没问题了。

面试第二轮:

第二轮面试还是技术面,这一轮的面试官主要就问我一些语言上的问题还有算法题目。开始问了我一些C语言的特点,内存分配的函数,函数出错的一些解决方案等等。然后就问C++,继承,虚函数,类,运算符重载,异常的处理等等,delete和delete[]的区别等等,还有为什么要引入这些概念。有些问题我记得以前在哪本书里看到过,所以回答的还不错。面试官之后又问了我几个技术性的问题,像是现场编写折半查找算法、singleton 模式、贪食蛇的算法实现等。然后面试官就开始找我的错误,大概说了我的程序问题和优点大概半个小时之后,叫了一个比较年轻的小哥过来(貌似是实习生),把我送出公司。

面试第三轮:

第三轮面试安排在第二天(第一天的面试结束大概晚上就给我打电话约了第二天面试的时间),这次的面试官感觉年龄偏大(其实也不是很大,大概35.6岁左右吧),比较有趣的是除了上午昨天技术性问题之外,还问了很多?类似智力问答?比如4个装满药丸的容器,其中有一个容器的药丸变质了会让质量+1.现在只称一次,怎么分辨容器的药丸变质类似的智力问题?所以感觉程序员还是要多读书啊!三面的问题偏向于实际应用吧,相比之下昨天的面试比较偏向于理论。不过有点庆幸这次没让我重新写代码,因为感觉昨天面试消耗了我的所有精力再加上晚上有些紧张没有休息好。

面试第四轮:

中午面完之后HR告诉我下午是总监面,这就意味着基本上我离进入微软只有一步之遥了吧。所以我中午特地在食堂吃完饭之后在沙发趴了一会,下午感觉精神好多了。总监穿着一件polo衫,看不太出年龄,不过感觉头发都有点白了。相比之下,总监面甚至感觉有点轻松,和我聊了聊之前做过的项目还有和老板一起做过的课题,时不时还感慨一下我们现在学习机会的丰富。最后拿出我的简历看了看就出去了,过了一会HR姐姐告诉我没问题了,总监面过了。最后总监面感觉有点没通过一样的轻松?

总结:

1、英语很重要,一定要增加你的词汇量,对专业术语要了解,并且了解相关的英文解释,因为在微软工作的每一个人都会英文,在面试的过程中,每位面试管几乎都会和你用英语说两句。所以词汇量和口语实力是很重要的!

2、注意你的算法,算法可以说是在微软的面试中层出不穷,而有的算法在实际的开发中并不常用,但是请记住这是面试,不是工作。对于算法问题,刷题是真的很有效的方法。相信大家也在网上搜索了很多面试题吧,但是说实话网上有很多鱼龙混杂的题目。我个人比较推荐的是http://www.lintcode.com,这原本也是学长推荐给我的刷题网站。它的题库还是比较全的,题目数量也很多,而且都还在一直更新中。基本上涵盖了所有IT公司面试会面到的算法题。

3、校园招聘是以做题为主的,而不是主要聊你的项目经验,并且面试都是手写代码,平时不能光看不做,这样会非常吃亏!

4、面试千万不要紧张,沉着冷静才能发挥出你的最佳水平!

5、微软和其他的上市公司的要求确实不一样,微软更注重思维、基础、以及code的严谨,最主要的是效率,也许这就是一个高效率企业最基本的要求吧!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微软
    +关注

    关注

    4

    文章

    6212

    浏览量

    103060
  • 软件工程师
    +关注

    关注

    8

    文章

    217

    浏览量

    20923
收藏 人收藏

    评论

    相关推荐

    Cognition发布首款AI软件工程师Devin

    据报道,Cognition公司今日公布了其首款人工智能软件工程师——Devin,掀起了打造软件模式变革的序幕。该产品在SWE-bench代码测验中展现出卓越表现,甚至超过了部分顶级人类工程师的水准。
    的头像 发表于 03-13 10:57 364次阅读

    如何搞崩个硬件工程师心态?试试对ta说这几句

    硬件工程师
    扬兴科技
    发布于 :2024年02月20日 18:05:49

    优秀电源工程师需要哪些必备技能?

    随着电源市场的不断扩张,开关电源行业飞速发展,企业对电源工程师的需求日益增加,对电源工程师的技能要求也日渐提高,相信没有位电源工程师会错过让自己变得更优秀的机会。作为
    发表于 01-29 11:29

    为何大厂急鸿蒙开发工程师?别有洞天

    正确看待鸿蒙不再兼容安卓版本,而大厂急鸿蒙工程师举动已经是预料之中的。我们步步来看鸿蒙是怎么发展过程的。为什么互联网大厂急鸿蒙开发
    发表于 01-08 19:59

    一名嵌入式工程师的涨薪经历

    下面是一位嵌入式工程师的涨薪经历,希望可以帮助到你,帮到其他的在校学生。   阶段 1 大一到大三这个阶段我与大多数学生相同:   一、学习本专业知识(电子信息类专业) 二、学习嵌入式软件开发需要
    的头像 发表于 01-05 08:39 132次阅读

    嵌入式软件工程师常用的

    最近我换工作了,看见不同嵌入式软件工程师用的平台都不一样,所以我整理了一下。PlatformIO:多平台支持:PlatformIO支持多种嵌入式平台,包括Arduino、ESP8266、ESP32
    的头像 发表于 12-24 08:00 225次阅读
    嵌入式<b class='flag-5'>软件工程师</b>常用的

    如何成为一名优秀的嵌入式工程师

    如何成为一名优秀的嵌入式工程师?嵌入式学习的第步,首先是C语言。 1.理解内存管理:C语言不同于高级语言,它不会自动管理内存。因此,你需要理解并掌握如何使用malloc()、free()等函数
    发表于 11-07 15:36

    【社区之星】彭仲维:扎实的基本功与时间的沉淀才是工程师成功的关键!

    入了电子行业。 社区小助手:作为一名从业多年的工程师,能否分享你的工作经历些比较成功的工程项目或优秀作品?开发这个产品的整个过程,有什么
    发表于 10-13 14:15

    电源工程师常用的几个典型电路分享

    具有电源知识水平的工程师来完成设计和开发。作为一名合格的电源工程师平时工作经验的积累很重要,但同时也应该提高理论水平,通过积累几个常用的电源电路,说不定下次就能用上,还是学习吧!
    发表于 09-20 07:59

    Multi ICE 2.2版用户指南

    本文档使用ARM软件开发工具包(SDT)或ARM开发套件(ADS)开发环境为Windows或Unix平台上的多ICE用户编写。 假设您是一名对ARM架构有定经验的软件工程师,或者是
    发表于 08-12 06:39

    一名硬件工程师都具备哪些技能?

    芯片嵌入式物联网STM32
    学习电子知识
    发布于 :2023年08月02日 12:54:00

    热门推荐:硬件工程师必备工具

    硬件开发的工作流程般可分为:原理图设计、PCB Layout设计、采购电子BOM、PCB板生产、PCBA组装、功能调试及测试、小批量试产、大批量生产正式投放市场等步骤。 作为一名优秀的硬件工程师
    发表于 06-21 10:15

    labview工程师 (广州)

    labview工程师1-2,工作地点:广州天河 负责仪器设备系统软件开发工作; 协助公司已有产品软件的维护及改进; 协助模块功能调试及系
    发表于 06-08 18:48

    礼赞五一 | 平凡的岗位,不平凡的坚守!致敬每个努力奋斗的电子工程师!

    获奖名单如下:电子工程师高赞礼品第一名:陈旭新第二:郭海聪 第三:陈运华 劳动节盖楼奖郭海聪 郭祥峰
    发表于 04-28 10:08