📜  微软面试体验2019(实习)

📅  最后修改于: 2021-11-16 14:40:50             🧑  作者: Mango

第1轮:

第一轮是在mettl.com/ 上进行的在线编码/编程测试。来自全国的许多学生参加了这一轮。有 3 道不同难度级别的问题。 3道题或2道题3道题部分解决者直接进入现场面试。很少有问题基于简单的数组操作和字符串操作以及其他动态编程。

第二轮:

我的面试定于 2 月 23 日在昌迪加尔大学进行。来自该国不同地区的人被要求接受采访。第二轮完全基于数据结构和算法。这是一个基于笔纸的编码测试。我们收到了关于链表和数组的 2 个问题,问题是

1. 求长度为 k 的链表的最大和

例如。 i/p:1->2->3->4->5->6 k=5

o/p:20

2.将数组原地旋转k个位置

例如。 i/p [1, 2, 3, 4, 5] k=2

o/p [4, 5, 1, 2, 3]

考生被要求对这些问题给出有效的解决方案。对于这两个问题,预期时间复杂度为 O(n) 和恒定空间复杂度。我用线性时间复杂度有效地解决了第一个问题,用 O(n^2) 的时间复杂度解决了第二个问题。在参加本轮比赛的 45 名候选人中,第 6 名被选入下一轮。幸运的是,我是其中之一

第 3 轮:

这是一轮面试,完全基于数据结构和算法。面试官给了我3个问题,我被要求为这些问题提供一个有效的解决方案。其中一些问题是:

1.二叉树的层序遍历

2.将矩阵旋转90度

3.合并k个长度为k的排序链表

面试官很友好,他试图给我提示我被卡住的问题。我被困在矩阵问题中,他给了我一些提示,我能够成功有效地解决问题。我能够按照面试官的期望为所有3个问题提供有效的解决方案。在这次面试的 6 名候选人中,只有 2 人被选中进入下一轮。幸运的是,我是其中之一

第 4 轮:

这也是一轮面试,完全基于数据结构和算法以及您解决问题的能力。与第三轮相比,这是相当先进的一轮。面试官给了我2个问题,我被要求为这些问题提供一个有效的解决方案。其中一些问题是:

1. 找出数组中的多数元素

2.给定一个数字链表,你需要在链表中添加一个数字

例如。 i/p 9->9->9 数字=1

o/p 1->0->0->0

第一个问题的预期时间和空间复杂度分别为 O(n) 和 O(1)。

第二个问题看起来微不足道,但解决问题时要满足的约束条件却很有趣。约束条件是:

1.你需要在不反转LinkedList的情况下解决问题

2.你需要在不使用堆栈和不使用递归的情况下解决问题。

3.你需要解决空间复杂度和时间复杂度都为O(n)的问题。

我能够解决第一个问题,但无法想出满足给定约束的第二个问题的解决方案。所以,我没有被选中实习。

由于是实习面试,我没有被问到有关系统设计的问题。但在申请 Microsoft 的 SDE 角色时,要为系统设计问题做好准备。

提示:- 在任何面试之前了解自己。
保持冷静并礼貌地回答。

一切都归功于 GeeksForGeeks