微软采访 | Set 25 (校内实习)
Microsoft IDC 实习选择流程
大家好!我参加了 Microsoft IDC 实习选拔流程。整个过程包括6轮,如下:
第1轮
这一轮在校园内进行,包括 15 个能力问题,其中大部分问题与 C 中的一般编程有关。这一轮在 CoCubes.com 上进行。 46名学生从大约150名学生中入围。
第二轮
- 这一轮也是在校园内进行的,由 CoCubes.com 主办。我们被要求解决在线法官的两个编码问题。问题是:
- 检查一棵树是否是 BST。
- 以最少的更改次数将一个字符串更改为另一个字符串(对不起!我不记得确切的那个了)。
本轮共有22名学生入围。
第三轮(电话)
- 面试官从介绍开始,然后继续从我的简历中提问。你必须准备好你的简历,并仔细阅读。然后在问了我简历中的问题大约 20 分钟后,他问了一个编码问题。问题是:
- 给定一系列数字,打印哪个数字重复了多少次?
我首先使用数组给出了蛮力解决方案。然后他问我们是否有数百万个数字和负数以及将使用哪种数据结构。我说哈希表。他问了一些关于哈希的问题。然后他说如果不关心时间复杂度并想找到就地解决方案,那么另一种方法是什么。我说先排序,然后计数。他似乎印象深刻,我被选中进入第四轮。我院9名学生入围下一轮。下一轮来自全国各地的学生被召集到德里和班加罗尔。我被叫到德里。
第四轮
- 大约有60名学生。他们被分成两组,每组30人。我在后一组 30 人中。我们被要求在纸上解决两个编码问题。问题是:
- 就地压缩字符串。
- 定义 BST。检查一棵树是否为 BST。
我们一共选出了5名学生,我有幸成为其中之一。从前30名学生中选出10名学生。
第 5 轮(个人面试)
- 面试官首先问了一个编码问题:
- 给定一个旋转数组,找到前一个未旋转数组的第一个元素。
- 然后他向操作系统提出了一些问题。
- 然后他问如何从堆栈中实现队列。
我没有幸运地完成这一轮比赛,但这是一次激励人心的经历。 🙁
微软的所有练习题!