LZ情况:浙大计院2017年本科毕业,没进大厂,在一家手游公司工作了2年多,工作之后用的是Lua脚本语言,用C++面试。
分享一下这次经验,攒rp,希望下次能拿到offer。
从2020年4月10日开始面 SDE 2,一共面了7轮,以为这次拿到offer,但还是败北了。这里分享下我自己的失败经验,希望下次能够成功拿到offer。
这次面试的是sharepoint组,这个组和o365在面试中有很大的不同。o365基本上每轮面试都会面算法,但是sharepoint会面那种系统设计类似的题目。不知道是不是因为疫情的原因,只能视频面试,才选择开放性题目,还是本来两组就不同。第一轮 4月10日
第一轮是基础的面,只有通过了这一轮面试,才会有后续的。所以这里就是一轮定生死的。在这里我很幸运遇上了一个很耐心的面试官,所以虽然在面试中表现的没有那么完美,还是通过了。
这一轮的题目是算法题目。写一个类,里面有record(int t)和avarage()两个方法。调用record可以记录下当前时间点的负载均衡数,调用avarage要返回过去5分钟内的负载均衡数的平均数。
之前以为用循环数组就好了,但是其实用链表就能够完成。
struct node{
int num;
int timestamp;
};
通过第一轮之后,就要在一天内连续面5轮。前4轮的面试官不知道其他人是否通过,最后一个应该是boss,可以看到前4轮面试官给的feedback。基本上猜测前4轮要至少要2个hire,第5轮才会有;否则即使给你安排了,还是会取消掉。
第二~五轮 4月14日
第二轮
苏州微软的女生面试的,应该也是SDE 2。刚开始面试的时候就说有两道题目,希望能够把两道都做完。然后根据你说的语言,给你发工程文件过来。我选择c++,但是我用的是mac,没有vs,所以工程文件发过来,我也没办法打开运行。只能用sublime 打开,直接盲改代码。这可能会让她觉得很不舒服的,所以第一轮算表现的比较差的。
题目是之前已经完成了pathjoin parentPath c childPath test 返回 c:/test,要求你能够完成pathjoin parentPath c childPath test1 test2 => c:/test1/test2 多个childPath的路径拼接
然后就让你自己读代码,有5~6个函数。然后去写函数能够兼容多个childpath的情况。写完之后要求写一些test case。
受到了自己没有vs的影响,已经很紧张了。加上自己这种形式,第一次遇到,所以表现的还是很差的。一道题目都没有完成。猜测这一轮应该是no hire。
第三轮
第三轮是一个系统设计的题目。让你去设计一个图片分享的网站,说出自己设计的思路,要包含的过程。以及如何去测试,需要测试哪些方面等。
第一次遇到这种系统设计的题目。还是很懵逼的,所以我遇到这个问题的时候,反问了面试官很多问题。来探索到底什么才是他想要听到的答案。
在前端,我按照页面进行阐述。每个页面中要有什么功能,要去注意一些什么恶意攻击,要怎么去测试;
在后端,我就按照要建哪些数据库说的。
这轮应该答的还不错,不然我应该不能有后面第5轮的面试;
第四轮
可能第三轮和第四轮的面试官是认识的,所以第四轮的题目是接着第三轮还没回到好的问题继续问的。然后让我说说了什么样的产品才是我认为的好产品。我也巴巴说了很多,
这一轮结果应该也不错;
第五轮
这一轮是一个外国人面的,全程英语。但是问的问题还是一些开放性的题目,因为sharepoint组后端在苏州,前端在加拿大。所以就抛出了三个问题,如何解决两地远距离上的技术上的挑战,沟通上的挑战以及社会形式不同的挑战。主要讲的还是技术上的挑战。
我的观点就是要有成熟的接口文档,要形成文字保存下来。要敏捷开发,多沟通,多测试。这题目还是非常开放的,所以答案不一。
这一轮,应该是weak hire。可能因为英语表达不太好,后来hr也跟我反馈了这一点;
第六轮
是跟在us总部的年纪稍大的面试官聊的。这个面试还是很nice的,先开了视频认识了一下对方,然后开始面试。面试主要是英文,但在一些重要点上,他会用中文解释一下。首先问了我对之前几轮的看法,我最初的时候听成对现在整个it行业的看法,所以就答非所问。后面他就纠正了我。我一轮一轮的说了我自己的看法;后面问我对自己的职业规划是怎么样的,然后跟我介绍了一些苏州sharepoint的情况。最后问我有没有想问的。我问了一个35岁程序员该怎么走出困境。他回答我在微软没有这一说的
这一轮表现还好,应该是hire/weak hire;
第七轮
之前我以为面完上面6轮,就差不多。但是后面hr通知我还要加面一轮,我上网查了一下,有些人说是AA面,就是你之后进组的顶头上司面试。并且这一轮是有一票否决权的。我不知道我这一轮是不是AA面,面试官是一个senior sde manager。可能如果你在之前的面试中都拿到hire,就没有这一面了吧。
这一轮我可以看到他的桌面,叫我口诉代码,然后他帮我写。刚开始问我怎么去学习一门新的语言,因为微软中用的是C#。
后面开始了一道算法题目,给我一个数组,然后新建一个链表。我第一次尝试的时候,竟然失败了。我自我感觉是非常扣分的,这可能是导致我最后失败的点。因为他不会允许这么简单的错误发生。
在后面是去判断这个链表有没有环,这个用快慢指针就可以解决了。后面又叫我写一些test case,然后看了看代码的cover rate。
第二天hr回信说他们找到了更加合适的候选人,所以后面的面试取消。后来问了hr feedback,说我可能工作年限在整个竞争对手中比较少,面试中有一个bug,所以就没有选择我。
不管怎么样,这一次面试经历还是挺宝贵的,等6个月之后(微软虽然说没有冷冻期,但是一般的hr还是会看你上次的面试反馈,礼貌性的建议你再刷刷题,加强一下基础知识)再战微软。
全部评论
(10) 回帖