📜  微软 FTE 面试体验 |校外 2021

📅  最后修改于: 2021-11-18 01:50:29             🧑  作者: Mango

我收到了一封来自Microsoft 大学招聘团队的电子邮件,要求我申请特定的工作 ID。我是通过 Microsoft Careers Page 申请的。一共进行了六轮。我将分享所有回合的详细解释。这是校外招聘,所以我不知道参加的人和得到offer的人的总数。

第 1 轮(在线轮):2021 年 2 月 6 日

测试在 Mettl 平台上进行。有 3 道编码问题,测试时间为 90 分钟。我完成了所有三个。

本轮结果于 2021 年 2 月 8 日公布。

第 2 轮(黑客马拉松):IST 2021 年 2 月 9 日上午 11:00 至 IST 2021 年 2 月 11 日晚上 10:00 IST

对于接下来的步骤,我们必须提交基于以下任一主题的网站/应用程序的工作原型:

  1. 女性安全应用
  2. 女性健康和健身应用
  3. 求职应用
  4. 家庭应用
  5. 工作专业人员的私人助理

这是个人参与,而不是团队参与。我们被分配了一位导师,他指导我们他们正在寻找什么,并看到我们在整个计划中取得的进展。这个想法的判断基于:

  1. 解的唯一性
  2. 技术成果
  3. 代码质量
  4. 与主题的相关性。

我选择了求职应用程序。我为蓝领工人制作了一个专门的工作门户网站,并在其中添加了一些独特的想法(蓝领工人关于工人领子所做的基本工作的教程)。他们基本上想判断我们的解决方案的创新程度以及我们如何实施它。我们如何在 3 天内计划它以及我们实现了多少计划。我及时完成了我的工作并提交了文档(解释每个部分的演示文稿,演示视频,显示网站流程的流程图)。

第三轮(黑客马拉松面试):2021 年 2 月 16 日:1 小时 – 1.5 小时

这次采访是关于我们提交的原型。面试官在微软工作2年,IT行业总经验6年。我被问到使用的技术堆栈以及为什么使用特定的技术堆栈。我们还讨论了我在开发应用程序时遇到的困难。我通过我作为黑客马拉松的一部分建立的托管网站向他展示了演示。之后,他看到了所有的文件。我在我的黑客马拉松网站上使用了 Reducer。他讨论过。

然后他问我是否曾经作为一个团队工作过,我的回答是肯定的。然后他问我:“在一个或多个队友不工作的团队中工作有什么意义吗?作为团队成员,您采取了哪些措施?”我使用 STAR 方法回答了这个问题。

然后他问我对 DSA 面试准备得如何。我将我的准备工作评为 9/10。他问了我一些 DSA 问题:

  1. 检测链表的中间元素。
  2. 检测链表中的循环。
  3. 散列和碰撞。
  4. 二叉树和二叉搜索树的区别。
  5. 树中的遍历类型。
  6. 二叉树中的 LCA。
  7. 二叉搜索树中的 LCA。
  8. 树的有序继承者。

我被问及解决所有问题的方法,并被要求对其中一些问题进行编码。

这一轮的结果是在 2021 年 2 月 23 日。

第 4 轮:技术面试(2021 年 2 月 25 日:45 分钟)

  1. 面试官在微软工作了4年,总共有10年的IT行业经验。面试官看了我的简历,问了实习情况。然后他让我解释任何一个项目。我告诉他我的 Smart India Hackathon Finale 项目。这个讨论持续了 15 分钟。
  2. 然后他问了我一个问题:写入以重新排列字符中的字符串,以便没有两个相邻的字符相同。
  3. 我首先向他解释了使用 2 到 3 个测试用例的方法。我被要求编码。他问我这个解决方案的空间和时间复杂度。如果我在任何时候遇到困难,面试官会很有帮助并给出提示。我的解决方案使用了优先级队列,所以他问我为什么优先级队列(C++ STL)中有 O(log n) 的开销。我回答告诉他,每次我们在优先队列中插入或删除元素时,它都会使堆堆起来。
  4. 最后,他问我有没有什么问题要问他。我问了他 2-3 个问题。

这一轮的结果是在 2021 年 3 月 11 日。

第 5 轮(设计轮):2021 年 3 月 17 日:30 分钟

这一轮首先简要介绍了我和面试官。面试官是资深人士,在微软工作超过25年。当我提到我在 Web 开发方面的经验时,他问了我一个问题:

  1. 当我们访问任何电子商务网站并查看特定商品时,当我们浏览我们的社交媒体帐户时,类似商品会显示为广告。这是怎么发生的?为其设计一个可扩展的系统。我使用机器学习算法以及这些算法在后台如何工作来回答这个问题。他对我的回答不满意,因为他期待如何使用 cookie 等收集数据。我对此并不深入了解。
  2. 他给了我下一个问题:如果你去 IRCTC 网站订票,它有时会显示超时。这是什么意思?我向他解释了超时发生的原因和方式。他让我设计一个系统来克服这个问题。我回答他说我们会做水平分区。然后他问我们在这方面会遇到什么问题。然后转向一致哈希以及为什么它不是最佳方法。我给出了一个最终的解决方案,我们将使用微服务架构。他似乎很满意,并详细询问微服务架构是什么。

他问我有没有什么问题要问他。在此期间,他告诉我他是一个狂热的读者。我们讨论了到目前为止我们一直在阅读哪些类型的书。他建议我看两本书。

第 6 轮(人力资源讨论):2021 年 3 月 22 日-15 分钟

  1. HR 下午打电话给我安排晚上的会议,我同意了。我有点紧张。我们以我们的一天是如何开始通话的。她自我介绍,然后我自我介绍。然后她问我关于我的家庭背景。然后她问我大学的名字。我告诉她了。她说我们将向他们发送一封电子邮件,介绍我在微软担任全职 SWE 的工作,然后祝贺我(我想从椅子上跳起来跳舞,但暂时我脸上挂着灿烂的笑容)。她讨论了赔偿并告诉了我接下来的过程。

准备和提示:

  1. DSA:GfG 和 Leetcode。在面试之前,我在 geeks for geeks 中阅读了 Microsoft 档案中 6-7 页的面试经历。
  2. 系统设计:Gaurav Sen 视频和 Leetcode 文章。
  3. 对编程语言和数据结构有清晰的理解。了解库函数的内部实现(在我的例子中是 CPP 中的 STL)。
  4. 对自己和你的简历充满信心。

一切都非常好。