标题 | 微软面试经历分享 |
范文 | 微软面试经历分享 第二位面试官是一位资历稍浅的工程师,一上来就需要你做英文的自我介绍,你说什么不重要,重要的是看你的英文口语表达能力,别太蹩脚就行了。接下来还是会看你的简历,如果对你做过的东西都不是太了解的话,可能会让你直接做题,题目不会太难,你需要先讲讲自己的解决思路,然后写code,仍然是考察你的code能力,假如有循环,要注意上下界,假如有递归,要注意退出情况。这里他要求写一个函数,去除数组中重复的元素。在你写好之后,他会着重看你的边界是否存在问题。之后会将这个问题进行发散,很可能会往海量数据上引,让你提解决方案,然后对每种解决方案让你评估其复杂度,比如有100T个数,让你去除其中所有重复的数等等。给我的感觉是,一定要有你自己的想法,展现自己的思维能力,就是拿到一个问题之后你通常会如何思考和寻求解决方案,这是非常关键的,是否能达到最终的最优解决方案这倒不一定很重要。所以,思维要活跃和发散一点。接下来会继续给你做另一个题目,主要是考察你的raw intelligence,比如可以将其转化为数学问题,进行数学推导,然后就可以通过编程解决问题了。这里他问给定任意一个正整数,是否可以表达成若干个连续的正整数之和,如果可以请编程求解。这个问题记得在《编程之美》上看过。在和面试官讨论找平方根的过程中,我指出了一个细节,可以让程序至少省了一半的时间,这个细节连面试官都貌似没想到,所以从他眼中散发的光芒中我看得出他很满意。 假如通过了前面两轮面试,就会进入第三轮,其实和前两轮差不多,只是不同的面试官其面试风格不一样吧。不过给我感觉,他们都很nice,毕竟大家都是从学生过来的,不会故意为难你的。不会的地方坦诚自己不会,OK,没问题,毕竟每个人都有自己侧重的地方,不可能面面俱到的。重要的是展现你的能力,你的思维能力,学习能力,表达能力等。 终面通知来得挺突然的,晚上天黑了才来通知,蛋疼的是腾讯的面试通知也来了,都安排在第二天中午,基本上没法准备,不过有了前两次的教训,我专门对海量数据的处理方面好好地研究了一下,不敢说很透彻,但至少又获得了许多解决问题的新思路,这在之后的终面中证明是很有效的。 终面,首先还是问你项目的问题,可能会问他比较熟悉的项目,然后会提一个类似的问题,让你分析可能导致该问题的原因,让你谈谈自己的解决思路。这里他问假如取款机突然响应很慢,你觉得为什么会这样?请你提出解决方案。接下来会让你做题,会有一个应用场景,让你大致写一下伪代码。一定要确认自己明白无误地理解题目的意思,面试就好在这,可以当面和面试官互动。这里他问了一个网页的抓取和分类的问题,有点像网络爬虫,需要递归地扫描所有URL并进行分类,并且还要防止有环路。之后仍然会将该问题往海量数据上引,套路还是一样,内存不够了,硬盘不够了,仅限于单机等等。如果暂时没有思路也不要紧,可以让他给你些提示。思维可以发散一点,不一定总要死盯着某种算法,有时候会难以突破瓶颈的,不如换一种思路试试,说不定会有所突破呢,我就是如此,突然灵光一闪,就想到了解决方案,看得出面试官挺满意的。其实没什么高深的,关键还是在于自己平时的积累。接下来呢就谈了一下我的专业,我不是学计算机的,所以就谈一谈我的专业主要是干嘛的,其实还是考察表达能力吧,然后问一下你做过的自己专业的一些项目,都挺轻松的,最后就是看你还有没有问题了。 比较蛋疼的是,不论是腾讯还是微软的面试官,都不止一次地问我既然你喜欢计算机,为什么本科选择电子,硕士也选择电子?年轻时小盆友不懂事也罢,为什么都研究僧了还继续不懂事呢?尤其是腾讯面试,一轮三面,包括HR,这个问题都问了一遍。看来,所有的人都觉得我脑子有问题吧。 最后总结一下,感觉微软挺重算法的,不知是否跟我搞服务器有关,面试官都很喜欢问海量数据处理方面的问题,还有个人的思维能力也是相当重要的,毕竟这个东西是个长期培养的过程,不是短期培训就能搞起来的,我挺喜欢与工程师交流的,不论是技术还是人生,总觉得很畅快,我就喜欢这种感觉。 谈谈接下来的打算吧,过去一年主要精力都放在engineer上了,算法还是不够扎实,这次以去实习为契机,好好狠抓算法,现在看来,算法才是王道啊。 |
随便看 |
|
范文大全网提供教案、简历、作文、工作总结等各类优秀范文及写作素材,是综合性免费范文平台。