前一段时间我参加了Microsoft的招聘。整个面试的过程很长,历时两个多月,和许多优秀的竞争者一起厮杀,最终进入了Microsoft。
Online test
时间非常紧,题量很大。时长90分钟,前面半个小时问了一些常见的问题,后面一小时,做了2道算法题。我把两道大题列出来。
1.LintCode - 最长公共子串
题目链接:
http://www.lintcode.com/zh-cn/problem/longest-common-substring/
参考答案:
http://www.jiuzhang.com/solution/longest-common-substring/
2.LintCode - 最大子数组差
题目链接:
http://www.lintcode.com/problem/maximum-subarray-difference/
参考答案:
http://www.jiuzhang.com/solution/maximum-subarray-difference/
群面
这一轮我很紧张,要求45分钟内小组讨论出结果来。
群面题目:
给你一个时间戳是hh:mm:ss的形式,分析分针在时针和秒针小的角之间还是之外
一对一面试
面试共计一个小时。
其中前三道是比较简单的算法实现题。一共花了20分钟。
1.交换两个不同的对象而不用第三个对象
2.分解一个非常大的数的因数
3.生成一个串所有可能的排列组合
接着,给了一个code,让我修改这个code里面的错误,只允许使用一个操作(replace/delete/add a char),这个部分大概花了20分钟。
最后15分钟,面试官让我谈谈对最新技术的看法,问我更喜欢 IDC 还是 MSIT,为什么?
转载于:https://blog.51cto.com/13428907/2045009