微软IDC面试经历 |设置 150(全日制校外)
我通过微软推荐计划申请了校外。最初,入围名单是根据简历完成的。
第1轮:
第一轮是co-cubes平台的在线编码轮。 75 分钟内有 3 个问题要完成。问题是:
- 给定一个大小为 n 的整数数组。假设零为无效数字,所有其他为有效数字。转换数组,如果下一个有效数字与当前数字相同,则将其值加倍并将下一个数字替换为 0。修改后,重新排列数组,使所有 0 都移到末尾。 [2 分]
例如:[2, 2, 0, 4, 0, 8]
=> [4, 4, 8, 0, 0, 0] - 给定一个数组 arr[],找到最大值 j – i 使得 arr[ j ] > arr[ i ] [3 分]
- 编写一个函数,接受二叉树的根作为其参数,并返回所有处于最低级别(即最接近叶节点)的叶节点的总和。 [5分]
入围的学生被称为海得拉巴进行面试。
第二轮:(组飞轮)
- 给定一个单词序列和一个限制 n(单行上的最大字符数),您需要在该行放置中断或结束,以便不超过限制 n,并且完整的单词出现在单行中,即一个单词确实不分成两行。
例子:
其旗舰硬件产品为Xbox电玩等。n=16输出:
Its flagship hardware product are the Xbox video game etc.
44 人中有 15 人入围下一轮。
第 3 轮:(技术 F2F)
- 面试官让我介绍自己和我对技术感兴趣的领域。我说机器学习,然后我们讨论了机器学习算法。
- 链表和数组的归并排序。
- 反转一个链表。迭代和递归的方法。他们之间的比较。
- 关于我的实习经历的问题。
- 能力问题:你被蒙上眼睛,桌上有 10 个硬币放在你面前。您可以触摸硬币,但不能凭感觉判断它们在哪个方向。你被告知有 5 个硬币正面朝上,5 个硬币反面朝上,但不知道哪个是哪个。你如何制作两堆硬币,每堆硬币的正面数量相同?您可以多次翻转硬币。
- 讨论我的小项目。
15 人中有 9 人入围下一轮。
第 4 轮:(技术 F2F)
- 股票买入卖出以最大化利润。
- 使用段树的给定范围的总和。
- 如何执行代码测试。编写所有测试用例,包括上述两个代码的边界测试用例。
- OOPS 概念:
i) 封装
ii) 覆盖和重载示例
iii)抽象和继承的实际实现。 - 能力倾向问题:房间里有 100 人,天花板上有一个灯泡。一个人可以看到剩下的 99 个人,但看不到他自己。有些人脸上贴着贴纸。本人可以查看其余 99 个人,但不知道他的脸上是否有贴纸。灯泡在固定的时间间隔后打开和关闭。如果一个人知道他的脸上有贴纸,他必须搬出房间。在某个时间点,人们会知道他的脸上是否有贴纸。如何?
最后,他对我的回答很满意,问我有没有问题。我问了他一些关于角色和微软提供的工作的问题。
9 人中有 7 人入围下一轮。
第 5 轮:(技术 + 人力资源)
- 在实习期间讨论小项目和在摩根大通所做的工作。
- 河内塔问题。
- 我的小项目及其用例的系统图。
- 为什么选择微软?我们为什么应该录用你?
- Microsoft 可以对其一种产品进行一项更改。
- 你为什么选择计算机科学?其他基本人力资源问题。终于面试结束了。所有候选人都被选中并获得了全职工作机会。
建议:如果没有得到答案,不要紧张。继续思考和提问,并尝试与面试官互动。不要马上走开,问一些问题作为回报。如果你被击中,他们会给你提示。
微软的所有练习题!