📜  微软面试经历|校外 SDE 实习

📅  最后修改于: 2021-11-16 07:51:45             🧑  作者: Mango

我通过 2019 年的一项测试申请了 Microsoft,我们的大学 TPO 通知我作为软件开发工程师实习。所有申请的候选人都被邀请在 mettle 平台上进行在线编码测试。
在线编码回合:-

在 90 分钟的时间内给出了三个问题来解决。所有的问题都是同等重要的。

  • 问题 1:检查表达式中是否有平衡括号并显示括号计数。
    https://www.geeksforgeeks.org/check-for-balanced-parentheses-in-an-expression/
  • 问题 2:在单独的行中为每个测试用例打印连续子数组的最大和。
    我是用 Kadane 的算法做的
    https://www.geeksforgeeks.org/largest-sum-contiguous-subarray/
  • 问题 3:编写一个没有内置函数的函数来反转字符串。
    https://www.geeksforgeeks.org/program-reverse-string-iterative-recursive/

我能够完全完成所有 3 个问题。
破解这一轮的关键是尽量写出最优解。

大约 2 周后,在 Skype 上安排了下一轮比赛。所有能够在编码回合中完成至少 2 个问题的学生都被邀请。
它持续了大约 50-55 分钟。面试官先做了自我介绍,告诉了我那轮的流程。
有3个问题。

  • 问题 1:可以在等腰直角三角形内放入的最大 2×2 正方形数。
    https://www.geeksforgeeks.org/maximum-number-2×2-squares-can-fit-inside-right-isosceles-triangle/
  • 问题 2:递归反转链表
    https://www.geeksforgeeks.org/recursively-reversing-a-linked-list-a-simple-implementation/
  • 问题 3:打印电话号码中所有可能的单词
    https://www.geeksforgeeks.org/find-possible-words-phone-digits/他问我递归方法。

这一轮对我来说完全基于递归。我能够回答 2 个问题。然后,最后,他问我是否有任何与此相关的问题。最后他也解开了我的疑惑。

所有通过本轮考试的学生都被邀请到 Microsoft Office 进行进一步的面试过程。

组飞轮:-

大约 30-35 名学生出现在小组中——飞来飞去。这是一个笔纸测试。我们提供了许多基于数学的问题,并在 60 分钟内解决了一个关于数组的问题。

我们必须编写从输入到输出的整个程序。他们还期待一个优化的解决方案。您可以使用任何语言。

注意: –尽量编写干净的代码并使用有意义的变量和函数名称。

近20名学生被选入下一轮。

这是最后一轮。

我的采访是由一位资深人士进行的。他让我自我介绍。面试官先看了我的简历。然后他让我解释我的一个项目。他让我为它制作 ER 图以及它的数据库中的规范化。
他问了我最喜欢的科目。我说操作系统,然后他问了我一些相关的问题。之后,他问我有什么问题要问他。我问了几个问题,就结束了。

面试持续了大约 25 分钟。

最终结果在 2 小时内宣布,我没有被选中。 19名学生被选中。

整个面试过程从上午 9 点左右进行到下午 4 点左右。