📜  微软面试专职面试经验

📅  最后修改于: 2022-05-13 01:58:12.298000             🧑  作者: Mango

微软面试专职面试经验

微软访问我们的校园进行全职和实习。

第 1 轮(在线测试):这是在 cocubes 上进行的 90 分钟编码轮。问了三个问题

(2 分):https://www.geeksforgeeks.org/round-the-given-number-to-nearest-multiple-of-10/

(3 分):借助给定的后序遍历构造二叉搜索树。

(5 分):https://www.geeksforgeeks.org/delete-n-nodes-after-m-nodes-of-a-linked-list/

提示: - 用冷静的头脑解决问题。考试时不要给自己压力,因为你必须在 90 分钟内完成 3 道编码问题。如果您无法在第一次尝试中完成任何问题,请不要在任何问题上花费太多时间。

如果您有时间,我建议您再次编写代码,而不是花 10 分钟以上的时间寻找错误。

微软优先考虑女孩和指针。男孩的截止分数是 7/10,而一些分数为 5/10 和良好指针的女孩也入围了。

第二轮(组考):77名考生入围组考。与他们传统的第二轮比赛不同,即集体飞行。第二轮是小组测试。所有学生都被要求在一小时内在纸上写出两个问题的代码。这些问题以 30 分钟的间隔给出。与组飞轮不同,您只需编写代码。

问题一:https://www.geeksforgeeks.org/connect-nodes-at-same-level/

(而不是 nextRight 我们必须链接 nextLeft)

问题 2:https://www.geeksforgeeks.org/cutting-a-rod-dp-13/

(即使是测试用例也是一样的😉)

尖端:

  1. 你的代码必须整洁干净。
  2. 使用适当的缩进。
  3. 使用尽可能多的评论。
  4. 干运行你的代码
  5. 写下你的方法的时间和空间复杂度。
  6. 您的方法必须易于理解。

相信我,他们只根据以上几点评估候选人。本轮评选出16名候选人。

第 3 轮(技术第 1 轮):

面试官对我做了简短的介绍。之后,他让我解释我的一个机器学习项目。 15分钟后。在讨论中,他问了我一个编码问题:

给定一个二叉搜索树,一个值 M 和另一个整数 K。我们必须从二叉搜索树中找到 K 个这样的节点数据,它与 M 的差异最小。

我告诉他一种使用最大堆的方法。他让我编写该方法的代码。我让他给我一些时间,以便我可以找到一种更有效的方法,同时考虑到树是相同的 BST。但我无法纠正更好的方法,我只是告诉他我的直觉。后来他让我只使用堆来编写解决方案。他看了看我的代码并让我去。

所有其他面试官都向候选人提出了两三个编码问题,所以我不确定我在面试中的表现。

尖端:

  1. 在面试中,达成最终解决方案并不重要。他们只是想看看你如何解决问题。
  2. 注意边界条件,
  3. 尝试利用问题中给出的每一个细节。
  4. 尝试理解问题。
  5. 你必须大声思考

第 4 轮(技术第 2 轮):

12 名候选人进入 TR 2 。

第二次 TR 是我三个面试中最好的一次。面试官非常互动。他问我对我的第一次面试是否满意。那一轮问了哪个问题?如果我对我的方法感到满意,我会在第一轮中放弃。我回答说我现在可以给出更好的方法。但在检查了第一批面试官的反馈后,他让我停下来开始研究一个新问题。

问题:https://www.geeksforgeeks.org/longest-subarray-sum-divisible-k/

虽然,我已经多次做过这个问题,但由于紧张,我无法回忆起解决方案。我尝试使用基本的编程逻辑来解决这个问题。面试官也在路上指导我。在面试官的帮助下,我能够写出一个有效的方法。

他印象深刻,对我和我的简历非常满意。当我问我是否有任何可以改进的地方时,他说我走在了完全正确的轨道上。

面试最后40分钟,他让我等第三轮。

第 5 轮(技术第 3 轮):

第三轮由微软的一名高级技术成员进行。她关注的是候选人的态度以及他们的技术方面。只有10名候选人进入了第三轮。有些人在 TR 2 之后进行了额外的审查以进入 TR 3。

面试从基本介绍开始。她问我最喜欢的科目。我回答了 DS 和 ADA。她问我这样做的原因。后来,她问了我一些来自 OS ie 的问题。

什么是内存管理?

什么是缓存?缓存有什么用。

请求分页。他们的使用。

虽然我的回答不是重点。但我以某种方式能够解释这个概念。她看起来不太满意。然后她问了一个编码问题,即。 https://www.geeksforgeeks.org/the-celebrity-problem/

我给了她有效的方法,并向她很好地解释了。她让我写代码然后解释它。

和我的面试一样结束。它持续30分钟。我是第二个进入第三轮的人。

尖端:

  1. 在编写代码时注意边界条件和干净的代码
  2. 如果你能解释你在纸上写的每一件事会更好
  3. 你必须努力工作或表现出自己是一个人。
  4. 他们需要技术爱好者。因此,请确保您只这样展示自己。

6名候选人在第三轮后被选中。我是其中之一。因此,MANIT 在 2018-19 学年在微软获得了 9 (6 + 3(PPO) ) 个选择。 🙂