微软面试经历和相关思考总结

  1. 另一个案例就是有些公司会把工作时长作为KPI的参考指标(这和把代码行数作为参考指标有点类似),导致了一个尴尬的局面,到了下班时间,尽管一些人已经干完该干的工作了,但是看到领导和同事都没下班,也不好先下班,也担心影响KPI。既然不能早下班,索性干活慢一点,或者是吃饭时间出去多玩一会再回来继续工作。最后恶性循环,下班时间越来越晚,而实际产出增加很少。

  2. 无效加班问题通常反映了公司和团队管理能力不足,或是对管理能力缺乏自信,缺乏科学有效的方法激励员工努力工作,以及量化员工业绩。特别是国内不少扩张非常迅速的公司,管理能力提升很难跟上公司规模的扩大。

考虑的因素
  1. 实际情况和宣传信息不符。有些公司在招聘信息中声称不加班,进去了发现其实会加班。看看BOSS直聘App里一些996公司的信息,就会惊奇的发现,上面赫然写着工作时间是965。有些不了解情况的HR和你说不加班,可能说的只是HR岗位不加班 (⊙ˍ⊙) 就像中学老师都说大学很闲,大概是师范专业比较闲吧,我们理工专业累死人。

  2. 现在不加班,不代表以后不加班。比如大老板突然给部门安排了额外的任务导致加班,领导安慰大家说,“最近公司业务紧急,有点忙,大家放宽心态,坚持一下”,然后刚忙完又来了一个紧急的新任务,领导也很无奈,又来安慰大家……后来加班慢慢成了常态,领导也不好一直这么说了,尴尬……

  3. 同一个公司不同团队加班不一样,这是个明显的问题,但是容易被遗漏。核心团队加班多,边缘部门加班少。

  4. 几个特殊的加班原因。

  • 招不到人导致的加班。招不到人有时候也是加班的一个原因,由于业务发展过快,团队急需扩张,短时间内还没招到合适的人,导致加班。

  • 发版导致加班。由于人类共有的拖延症,常常会在项目发版的前一段时间里加班,这在外企也很常见。

  • 值班制度。产品需要长期运行(特别是后台服务),需要有人24小时持续关注运行情况,国内公司有轮流值班的制度,而微软等外企则有on call的制度。

  • 相对而言外企不加班的可靠性更高,大致做了一点分析,不知道是否准确。

    • 一些优秀的外企已经积累了充分的资源和核心竞争力,更注重把产品做得可靠,而不是加班快速开发出产品功能以及迫切实现盈利。尤其是创业期的公司,如果没有资源积累也没有钱,无论国内公司还是国外公司,不加班都比较困难。
  • 根据网上的资料,外企很看重法律,工作时间基本遵循955的原则。

  • 管理经验上,历史更长的外企对工作时长的问题,必然会有更多的探索和思考。

  • 价值观方面,国内一些公司宣传“996是福报”的同时,外企宣传 “Work Life Balance”,“员工的健康是公司最大的财富”……

关于选择

价值观问题。人应该追求相对安逸和健康的生活,还是追求更快成长、挣更多钱?追求成长,是追求本职工作上的能力提升,还是其他工作方向的提升,或是个人综合素质的提升(例如身体素质)?在国内的互联网环境下,加班几乎成了一个默认的事实,知名靠谱一点的公司大多都加班,主流价值观也在过度强调勤奋,攀比收入,自媒体也总是贩卖焦虑,导致求职者没有太多选择的余地。好在现在有越来越多的人认识到了事物的两面性,看待问题更加全面。

对于加班问题,我的想法是希望“加班自由”,追求完全的不加班是不现实的(也没必要),并不排斥主动加班,但不喜欢被动加班尤其是无效加班。所谓加班自由,就是在有想解决的问题、有想学的东西、特殊情况时,可以选择主动加班(也确实会有主动加班到晚上11点之后的经历);而在没啥事情可做,身心状态不佳,或是有其他事情时,可以准时下班。

加班少意味着时间更加自由,空闲时间既可以继续学习和提升本职工作上的技能,也可以用来做其他事情。例如我看到不少有趣的开源项目,优秀的技术公众号,甚至还包括一些创业项目,其作者都来自于外企。毕竟人的精力是有限的,每天忙于加班,肯定不会有太多精力做其他事。

如何调研

如果希望找加班少的工作,除了外企也有一些国内公司可以选择(就不在文章里公开说了)。具体的调研,我的建议是尽量不要道听途说,至少多问几个了解大概情况的人,最好能直接联系到目标公司目标团队当前在职员工(脉脉是个好东西),有条件还可以实地考察。

关于加班的更多看法还可以参考知乎:有没有不用加班的程序员?- 知乎

技术成长

关于核心技术

计算机和互联网领域,很多基础设施和核心技术都是国外(特别是美国)创造出来的,例如操作系统及其生态、编程语言、软件开发工具等。

国内大部分企业核心技术较少,更偏重于技术的实际应用,没有实力研发基础技术,也难以承担基础技术研发的风险,程序员一不小心就会变成“调库工程师”,或者偏管理方向的“Wiki工程师”,技术天花板较低,容易遇到中年职业危机。基础技术薄弱一直是国内的一个问题,特别是在中美贸易战期间,这些问题就更加明显的暴露出来了。

知名外企掌握了一些核心技术,例如微软的Windows系统等,也是这些企业的核心竞争力之一。可惜的是,外企最核心的技术必然是优先在本国发展,在中国发展的业务还是相对边缘化。如果对技术确实有更高的追求,可以考虑进外企转岗出国锻炼。

关于新人培养与转岗

新人培养是一个很重要的话题。新人培养制度如果不完善,一方面工作经验少的人特别是应届实习生不容易成长,另一方面,想借助公司内部转岗,学习其他项目,转其他技术方向(例如客户端转后台开发),甚至相关行业的转换,也会面临新环境下难以成长的问题。

相对而言,国内公司节奏更快,更加急功近利,会更希望人选入职后很快就能干活,毕竟大家都太忙了。虽然知道新人培训的重要性,但老员工自己也忙,可能根本没有多少时间培养新人,也没有完善的新人培养制度,因此新人可能是“散养”状态,全靠主动。

外企新人培养制度相对健全。另外一方面,抛开制度因素,由于空闲时间更多,实在不行还能自己学,也不用过于担心转方向之后完全跟不上节奏的问题了。

关于学习环境

一些猎头朋友说了,从技术成长和工作跳槽角度来看,国内大厂并不比外企差。因为有不少案例,有些人进外企之后就出不来了,完全没法适应国内公司加班的氛围,或者是能力提升慢,跳槽后工资待遇不高。

由于外企节奏比较慢,压力相对小,加班更少,在这种环境下确实更容易让人放松。而如果进入了非常边缘化的团队,做一些不被公司重视的事,可能就更没有成长了。

如果你追求的是本职工作上更快的成长,拿到更高的工资,进国内大厂确实是很好的选择;如果有比较明确的目标,也不容易受环境影响,在外企一样可以快速成长;如果是想养老,当然是带一把躺椅来外企比较好了……

前期准备


从19年底的时候开始萌生了尝试去微软的想法,就开始针对性的做准备。前期准备我画了一个思维导图,主要分为三部分:

  • 简历准备

  • 博客建设

  • 面试准备

现在回顾起来,准备的过程也是个人成长、提高自我认知的过程。需要了解公司的需要,梳理过去的成果,思考未来的规划,对欠缺的基础知识查漏补缺等,收获挺多。

简历准备

简历部分单独写了一篇文章:技术岗位如何写简历 。

博客与GitHub

好的博客和GitHub开源项目,对于求职面试有很大的加分作用。甚至有一些人认为,面试不用太关注简历和面试情况,因为简历可以造假、面试全靠发挥,但是要看博客和GitHub,看候选人实际做过什么、写过什么、代码写的如何,这些才是能真正体现能力的东西。

我在面试准备的过程中,回顾之前做过的东西,补了一些基础知识,发了一些博客,还把近几年没整理完的博客顺便整理发布了。简历中也插入了一些博客链接。

基础知识查漏补缺

开发相关的基础知识,网上有很多文章,也有一些书可以看,就不展开写了。如果项目经验没有亮点,基础知识还是多补一补吧,不然面试聊项目又聊不起来,不聊基础知识还能聊啥。

面试常见问题

面试的时候会问一些常见的非技术问题,可以自己提前思考一下,避免被问到一时想不起来,如果面试需要英文,还要考虑一下英文怎么表述。如果之前没有完全想清楚这些问题,进行思考也是个人成长的过程。

例如:

  • 上一份工作为什么离职

  • 为什么想来我们公司

  • 未来职业规划

  • 你有什么优缺点

  • 有什么想问的

算法刷题

刷题部分单独写了一篇文章:技术面试刷题思路总结 。

面试流程


总共进行了6轮面试:电话面试 + 3轮技术面 + Leader面试 + Manager面试。每一轮的面试内容都是技术为主,每一轮都会考编程。和国内公司不同,没有HR面,谈薪资发Offer等流程都是之后邮件、电话等方式进行。

梳理一下大家最关心的时间:

  • 3月5日:投简历

  • 3月11日:微信电话面试

  • 3月17日:3轮技术面+Leader面试

  • 3月19日:Manager面试

特别提醒,微软面试如果没有通过,会有一定的“CD时间”,也就是这段时间内即使再次投简历,面试官根据你之前的面试评价,也大概率收不到面试邀请。具体要看面试评价,通常是间隔半年时间,当然如果面试在某些地方只差一点,有机会很快就被推荐到其他岗位。

投简历

因为在脉脉有注明微信号,有微软的HR加了我微信,投简历我是直接微信联系了HR,因为得知有个大学同学也在微软,就说明了是让他帮忙内推。

有人问我怎么才能让微软HR主动加自己微信,其实不复杂,考个211或者985学校,进国内大厂,应该就可以吸引到HR的注意力了 →_→

简历是PDF格式的英文+中文简历,投简历时间是3月5日(周四),岗位是MMX团队Edge浏览器Android客户端开发(毕竟英文要求不高,毕竟目前最熟悉的是Android开发方向,处于程序员鄙视链底层,流下了没技术的泪水.jpg )。

微信电话面试

投完简历比较慌,没事就会去骚扰一下HR,然后HR告诉我简历已经过了,之后会安排面试。3月9日(周一)的时候微软的同事给我打电话,预约了3月11日(周三)的微信电话面试,让我准备好纸笔用于算法。

周三下午两点,面试官非常准时的给我打了微信语音电话。

前半小时照着简历聊项目经验。我的项目比较多,聊的时间比较久,所以最后只问了个别基础技术问题,简单回答了一下。本来准备问ConcurrentHashMap,我说我不了解这块,然后就没有问(之前做项目真的没接触过这个,只知道是线程安全的HashMap,基础知识还得再补补)。

后半个小时问算法题。

一开始问我是不是对图论有了解,我说我不了解(当时还没刷到图论,大学也没怎么学过),所以没问图论。之后一共问了四道题,没有实际写代码,只需要讲思路,或者口头描述伪代码即可。

因为在LeetCode上都有原题,所以就公开聊一下了。

前两题比较简单,一个是数组相关的,一个是树相关的,想了一会就解决了。

第三题是经典的最大公共子串,名字听说过,要用动态规划解决,但是很尴尬,我当时刷题才刚刷到动态规划,完全不知道怎么做(不过自从后来刷了动态规划,现在感觉可简单了),提示了一下还是不会,最后勉强说了个不是特别清晰的思路。。。当时的心理活动是:“卧槽,准备了这么久,第一面竟然就这么挂掉了,亏大了……”

之后面试官又问了我第四题,还是树相关的,最大二叉搜索子树(LeetCode 333,会员可见),直接用暴力法其实很容易,但思路不清晰的话,优化解法有点小麻烦。当时本来想直接给出优化解法,但是一边分析一边发现有问题,所以就说了一下暴力解法,答的也不是特别好。

面试结束后又想了一下,思路清晰的解法可以看我的博客 最大二叉搜索子树 。

最后面试官问我有没有什么想问的,我就问这轮面试回答的如何。面试官说在最近面试的候选人中,项目经验算中等偏上水平,但是算法回答的不好,算中等偏下水平,因为看我第三题答的不好,所以加了第四题。问我平时刷LeetCode多不多,我说之前因为做项目几乎用不到算法,所以没太研究,最近两个月才开始刷题。面试官说也还好。

邮件预约面试

一面算法回答的不太好还是通过了,看来项目经验和博客还是重要的。第二天(3月12日)上午收到了英文的面试邀请邮件,问我什么时候有空进行4轮大概4小时的线上面试(疫情期间都是线上面试)。

Outlook邮箱网页版有个BUG,北京时间上午十一点多的邮件,显示的是UTC时间半夜三点多。一开始没发现是BUG,一脸懵逼的我还以为是半夜的时候微软美国的HR给我发的,毕竟名字也是英文名。。。于是又去骚扰微信HR,说要英文回复邮件预约面试时间,时间用北京时间即可(此处记一个TODO:给Outlook团队反馈这个BUG)。

因为算法没太准备好,所以回复邮件说要再准备几天,回复如下(英文沟通真没怎么实践过,如有语法错误请大家指出,但不要嘲笑我谢谢 [ 微笑.gif ] )。

I will be available from next Tuesday (March 17) because I need a few days to prepare. And afternoon will be better, thanks.

最后预约了3月17日下午2-6点的面试,收到的面试邀请邮件里给出了四轮面试的时间和面试官的英文名,还有一个Microsoft Teams软件的会议链接。Teams软件之前听微软的Tech Talk时用过,所以使用没什么问题。

距离面试还有几天,赶紧继续刷算法。这就到了发挥学习能力的时候,动态规划、图论,都大致刷了一下,感觉踏实了一点,只是到最后背包问题还是没完全搞明白(过阵子继续研究好了)。

三轮技术面

3月17日下午提前一会进入了Teams软件会议室等面试。

我一直在会议室里,每轮面试都是大概一个小时的时长,每轮面试官基本都是准时进会议室,面试完了再退出。

前面三轮技术面只开了语音没有开视频。每一轮都是先简单的自我介绍,大概聊十几分钟的项目经验和技术知识,剩下的时间写代码。

项目经验因人而异,讨论项目的时候会讨论到一些相关的技术知识,也可能会单独问一些基础知识。可能是因为我的项目经验比较多,所以基本是以项目涉及到的技术知识为主,问到其他基础知识,有些知识我了解不多,就直接说了不了解,面试官也就没有再问。

面试的重点是写代码。远程面试写代码的具体形式是,浏览器打开一个 Codeshare 窗口(相当于有代码高亮功能的记事本),或者是其他代码编辑器,用Teams软件的Share功能共享窗口给面试官。

介绍完题目,面试官都会说有任何疑问随时可以提。

第一面出完一道题的时候,我问了一下面试官有几道题,需不需要考虑时间问题尽量做快一点,面试官说时间不用担心。

所以每一轮写代码,都会一边思考一边说我的分析过程,题目不明确的地方也会提出来。面试官也会对我的思路给出反馈,或者给一些提示。整体思路确定了就开始写代码,写的时候也是一边写一边和面试官讨论。面试官也会提出一些疑问,这里为什么这么写,或者是有些地方没考虑到也会问,然后我会去想一些办法来完善。题目不算太难,但是基本上40分钟也就刚好只做了一道题。

我刷的题不算多,面试的时候也没有遇到原题,但是现场基本都想出来了思路,大概说下题目类型(具体题目就不公开了)。

  1. 第一面的题是字符串处理相关的,用到了DFS算法。代码基本写出来之后,讨论了一下能想到哪些测试用例。

  2. 第二面是数组子序列相关的问题。刚看到题我提出应该可以用动态规划思路解决,面试官说没这么复杂。所以想了一下,可以用双指针解决,有些场景没考虑全,面试官给了我一些具体Case的提示,花了一点时间想到了怎么解决。

  3. 第三面,面试官说写点代码看看,可以用熟悉的工具不管是记事本还是什么都可以,我问IDE也可以吗,面试官说可以,于是我就拿出来IDEA了。题目是一个修改字符串的问题,要求原地算法。听完题目之后分析讨论了挺久,只想到了一个性能比较差的办法,面试官让我分析了一下复杂度是 O(N^2) 。又想了一会还是没想到怎么优化,然后面试官说,还是优先解决问题,就按照现有的思路写一下代码。用IDEA写完代码之后,面试官让我写个测试用例调试一下代码(谁让我用了IDE呢……)。于是写了一个 main 方法和一个测试用例,说明了一下因为时间关系配置环境比较费劲,不然可以写单元测试,也先只写一个用例测试下看看。第一遍运行的结果果然不对,打断点找到了大概的问题所在,但是当时脑子有点转不动了,毕竟连续面试了三个小时,一时不知道具体怎么改,看时间也快到了,就和面试官说了一下情况,也总结了一下,状态不太好,但是思路肯定是没问题的,要多花点时间调试一下,还有就是没想到复杂度更好的解法。

后来有天晚上回想起这道题,突然发现这题好简单,O(N) 复杂度轻轻松松就能解决,代码也会短很多,但是当时就怎么都没想到,果然灵感还是很重要的

面试聊项目和写代码都有一定的偶然性,但是如果每一轮都回答不好,每道代码题都做的不好,那就有点说不过去了。这也是微软会有三轮并列技术面的一个原因,不是为了增大面试难度,而是降低偶然因素对面试效果的影响,最后会综合多轮面试的结果来考虑,而不会因为某一轮没发挥好直接淘汰候选人。

总的来说,遇到的编程题比较注重逻辑,难度没有想象的大,刷了不少动态规划和图论都没用到。

Leader面试

三轮技术面结束,紧接着就是Leader面试,开了视频。主要是聊技术相关话题,都是面试比较常见的问题,例如个人的技术栈,为什么换工作,为什么想来微软,之后的计划,简单聊一点项目,在之前的工作经历中比较有成就感的事,有没有据理力争最后解决了的问题等。

讨论了一点相对复杂的算法问题,地图应用相关的,讨论了挺久,我提出了一些我的看法,最后给出了大致的伪代码。在讨论相关话题的时候,图论算法总算派上了一点用处,没白学……

时间快到了,面试官说本来准备再写个代码,但是时间关系就不写了。问我有没有关注过有意思的Android新技术,最好是能具体到技术细节的。提到了Flutter,说了一下大致的原理,又聊到Flutter的缺点和解决思路。问到RN和Flutter的相同点和区别,比较尴尬的是我没了解过RN,但是做过前端开发,了解React和Vue,猜测RN是React运行在WebView中(后来看了一下,RN的原理是用React语法写JSX代码,实际上还是解析成了Android原生的View组件)。

最后面试官问我有什么想问的,我还是问这一轮面试回答的如何。面试官说本来对我挺感兴趣,但是感觉有点浮于表面,RN不是网页。这下我有点慌,赶紧解释了一下,RN确实没用过,也没了解过原理,所以都是猜测的,要是问我Gradle相关的技术,了解的会深入一点(当时的心理活动,好不容易面试了这么多轮,要是这么挂了还是太亏了)。

面试结束托HR帮忙把我写过的一篇关于Gradle的博客链接转发给了面试官,面试官说“小伙挺好”。还是感觉有点慌,好在当天晚上HR就告诉我面试过了,已经准备安排下一轮面试了。

Manager面试

还是邮件预约,Manager面试安排在3月19日,Teams远程面试。

面试的内容还是技术为主。一开始是了解技术上比较擅长的方向,问到了未来职业规划,我说先继续做Android,之后可能想试试其他方向,面试官介绍了一下微软内部转岗的情况。还问到了住在哪(因为面试的是微软苏州,而我当前在上海,要搬家)。问我有什么想问的,就问了一下上升空间方面的问题,具体一点例如升职级应该注意哪些方面的能力,面试官也做了比较详细的回答。

然后又到了写代码的时间……微软面试真的是很注重写代码的能力。具体题目就不公开了,有一点难,属于分支场景比较复杂的,不至于完全想不出来怎么写,但是不容易考虑全面。情况很多,所以我先把能想到的所有情况都一一列举出来,对照着这些用例就想到了大致的思路,还是一边讨论一边写代码。最后代码基本写出来了,正常参数输出正确结果没问题,还差异常参数的校验部分不太完善。这个代码又写了45分钟的样子,面试结束。

面试总结与技巧


整个面试过程,因为状态不是很稳定,加上刷题不多,有一些代码个人觉得写的不太好,不过在面试官帮着分析的情况下倒是也基本解决了问题。

好在我过去的项目经历比较多,博客和开源项目也确实是自己做的,所以问到相关的技术细节也都没啥问题,简历里也贴了一些相关链接,HR反馈面试的评价都还不错。

总的来说,我的感觉是学历(211或985)、工作经历(大厂经验)、项目经验(面试聊的、博客写的、GitHub开源项目)、面试表现(基础知识+算法),至少要有一部分亮点,如果都没有,那就要多积累经验之后继续尝试了。

面试评价

根据我的经历,点评一下微软的面试。微软面试整体给人的感觉还是很好的,大公司的面试流程确实很完善。总结了几个点:

  1. 准时。除了网络环境问题带来的影响,多数面试官都是准时开始了面试,误差不超过两分钟。整体面试节奏控制的也比较好,连续四轮面试的时候,前面几轮基本上是55分钟左右结束,避免影响到后面的面试,当然最后一轮就无所谓一点了,多聊了一会。

  2. 礼貌。面试官说话都很礼貌,不会问比较隐私的问题,每轮面试结束都会说感谢参加面试。

  3. 可以提问。每一轮面试,面试官都会主动问我有没有想问的(当然大部分公司面试,面试官不一定会主动提这个,但候选人可以主动提问题)。我一般关心的问题就是面试流程,以及这一轮面试回答的如何,面试官也都正面回答了我的问题。

  4. 预约面试时间很顺畅,面试官整体精神状态好。不像国内大厂,面试官常常要在百忙之中抽空面试,预约时间要协调多次(特别是最后一两轮面试),还可能要安排到上午比较早的时间或者晚上,面试官的精神状态也看得出来会比较累。这其实可以反映出来,微软内部研发人员确实加班不多(但是微软的HR不一样,晚上也要回消息处理问题,心疼一下)。

  5. 注重能力,尤其是通用能力和潜力,我理解具体包括沟通能力、逻辑思维能力、考虑问题全面性、钻研能力(在某个技术上有一定的深度)、技术热情等。六轮面试都是技术为主,从时间占比也能看出来,大部分时间都用在了考察通用的代码能力上。基础知识方面,数据结构、设计模式一类通用能力也会做一些考察。到Manager面试的时候会问到职业规划,想尝试什么技术方向可以提出来,通用能力足够了,换其他方向问题也不大(这里又要提一下新人培养的重要性了)。

  6. 能力以外的东西不会特别关注。我的经历比较特殊,中间有裸辞一年半尝试创业的时间,网上有观点说这种情况面试容易受影响(一般是担心候选人不稳定很快又去创业)。但是实际面试过程中,没感觉到什么影响,我简单介绍了一下情况,面试官也没怎么问。但是放到国内公司,HR面一般还是会问很多相关情况。

Teams软件评价

远程面试使用的Teams软件界面很简洁,习惯了国内软件多大全甚至花哨的功能,Teams软件初看起来让人觉得有点简陋。实际用的时候,发现其实该有的功能也都有,语音、视频、文字聊天,屏幕窗口共享,通过链接或拨号进入会议,手机电脑各种平台都有客户端,基本够用了。把核心的音视频通话质量优化好,比开发不常用的附加功能还是更重要吧。

写代码关注点

总结一下面试时写代码要注意的点:

  1. 沟通能力很重要。注重沟通,搞清楚需求,说清楚自己的思路,及时得到面试官的反馈和提示也能帮助写代码。如果听完题目二话不说就写好了代码一遍通过,谁知道你是不是单纯记性好又遇到了原题呢?如果没有很快想到完整和最优的解法,把想到的部分思路说出来,也比一直埋头想不说话好多了。

  2. 重点是把题做好,时间上稍慢一点也没问题,慢工出细活,外企尤其注重代码质量,开发效率相对好一点(当然也不能太过分,好歹基本做完一道题吧……)

  3. 写代码需要灵感,一时想不出来很正常,要注意心态,不用太慌,可以举一些实际例子来思考,从暴力法逐渐优化的角度思考,或者和面试官讨论讨论,可能就有进展了。

  4. 重点关注考虑问题全面性、逻辑能力等,形式和某些细节并不重要。例如忘了某个API的名字或者参数细节。再例如某些地方知道要做判空处理,但是写起来比较费时间,直接写个TODO示意一下也没问题。用什么工具写问题也不大。远程面试直接在自己电脑上写还是方便很多(毕竟实际写代码都是要反复修改完善的,纸上写受限太多了)。现场面试没参加过,不过如果候选人想在自己电脑上写,应该也是没问题的。

  5. 面试的时候尽量保证比较好的精力状况,放宽心态,尽量不要给自己太大压力。

面试小技巧

1、充分沟通。面试的过程就是沟通的过程,沟通很容易出现误解,消除误解促进沟通,帮助面试官了解自己很有必要,特别是对于能力强但是沟通能力相对薄弱的候选人而言。

我的建议是,除了回答问题时的充分沟通,在每一轮面试结束前如果有机会,可以和面试官交流一下这轮面试的整体情况。如果确实是没表达清楚,面试官对你产生了误解,或是其他问题(例如碰巧不了解问到的内容,但很擅长其他的东西),可以适当说明一下,提高成功率。当然有意弄虚作假,或是找借口为自己辩解的说辞还是不提倡了。

2、尽人事,听天命的心态。准备的时候要尽全力,而到了面试的时候要放松心态,紧张只会影响面试发挥。说到这又想说了,面试心仪的公司真和找对象一样,没成功的时候容易把对方想象的过于完美,患得患失,更加紧张了哈哈哈……

3、注意精力管理。微软的面试轮数比较多,而且常常会有连续很多轮的情况,如果是现场面试还要坐车,管理好个人精力还是很重要的。

4、面试策略。只专心面试某一个公司,不给自己选择的余地,还是广撒网,面试很多公司,积累经验,最后还方便谈薪资选一个最好的呢?

多面试几次确实会积累经验,比如在经过了微软的考验后,面试头条时算法题感觉有点太简单了。但是面试太多会很累,不管是跟进流程还是面试准备都很容易让人分心,面试的过程也很累。所以我个人更倾向于前期多花时间调研和准备,尽量只面试少数不错的公司,微软面试全部结束,再面试了头条,两个典型公司基本上可以了解市场行情了。

后续流程


面试完后,当天下午就收到了面试通过的邮件,微软的另一个HR加了我微信。

之后的流程:填表提交基本信息,口头Offer,正式Offer,提交各种证明材料,背景调查,入职手续办理,最后入职。

最后

整理面试题,不是让大家去只刷面试题,而是熟悉目前实际面试中常见的考察方式和知识点,做到心中有数,也可以用来自查及完善知识体系。

《前端基础面试题》,《前端校招面试题精编解析大全》,《前端面试题宝典》,《前端面试题:常用算法》

前端面试题宝典

前端校招面试题详解

4、面试策略。只专心面试某一个公司,不给自己选择的余地,还是广撒网,面试很多公司,积累经验,最后还方便谈薪资选一个最好的呢?

多面试几次确实会积累经验,比如在经过了微软的考验后,面试头条时算法题感觉有点太简单了。但是面试太多会很累,不管是跟进流程还是面试准备都很容易让人分心,面试的过程也很累。所以我个人更倾向于前期多花时间调研和准备,尽量只面试少数不错的公司,微软面试全部结束,再面试了头条,两个典型公司基本上可以了解市场行情了。

后续流程


面试完后,当天下午就收到了面试通过的邮件,微软的另一个HR加了我微信。

之后的流程:填表提交基本信息,口头Offer,正式Offer,提交各种证明材料,背景调查,入职手续办理,最后入职。

最后

整理面试题,不是让大家去只刷面试题,而是熟悉目前实际面试中常见的考察方式和知识点,做到心中有数,也可以用来自查及完善知识体系。

《前端基础面试题》,《前端校招面试题精编解析大全》,《前端面试题宝典》,《前端面试题:常用算法》

[外链图片转存中…(img-HVLdMF2v-1718863700449)]

[外链图片转存中…(img-qmOvybjw-1718863700451)]

[外链图片转存中…(img-A1LZn4nK-1718863700451)]

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值