微软实习面试经验 |校园 2021
微软于 2021 年 8 月访问了我们的校园,担任暑期实习生。允许的分支是: CSE、IT、ECE 和 EE 。
最终,18 名学生获得了录取通知书。
在线评估:在线测试由两个问题组成,需要在 90 分钟内解决。
使用的网站: Codility,您应该知道,在这个平台上,没有关于您的解决方案是否正确的消息。您只需简单地运行各种测试用例以确保解决方案是正确的。因此,在最终提交之前,应该考虑问题的所有极端情况。
- 给定一个 1-6 范围内的数字数组,您必须在数组中合并添加 K 个元素 [在 1-6 范围内],使得添加元素后数组的平均值变为 F,我们需要返回一个包含 K 个元素的数组如果不可能,我们需要返回一个空数组。
- 给定字符串“a”、“b”和/或“?”可以换吗?与 a 或 b。任务是全部替换?这样字符串中就不会出现三个连续的 a 或 b 。假设这样的字符串将始终存在,我们需要返回修改后的字符串。
解决了这两个问题的人被列入面试名单
面试轮次:面试轮次在 MS 团队中进行,编码是在他们的codility平台上完成的。
第一轮:我一参加面试,面试官就进行了自我介绍。然后他直接向我提供了问题已经写好的代码链接。
问题:
- 与这个问题相同的问题,我们还必须找出最大岛屿的面积。 https://leetcode.com/problems/number-of-islands/。我详细解释了有关解决方案的所有内容,最后他对此感到非常满意。
- 什么是 MongoDB? (在我的简历中有基于此的项目)。
最后他问我有没有什么问题要问他。这一轮持续了大约50分钟。
在这一轮之后,我很快就被要求参加第 2 轮。
第二轮:我一参加面试,面试官就自我介绍了。然后他问了我一些不经意的问题,比如我过得怎么样,大学生活怎么样等等。然后他问我,因为我是 EE 的,所以他问我是否学过任何 CSE 科目,或者我是否准备好相同。我回答说我只在第三学期教过 DSA。所以,他最后说OK,他只从DSA部分询问。
问题:
- 他从我的简历中命名了其中一个项目,并让我向他解释。关于这一点,他没有提出任何交叉问题。
- 我得到了两棵二叉树,我必须返回它们是否都是镜像。在这个问题中,我必须创建 Node 类并生成自己的二叉树,以便检查镜像树的代码。
这一轮持续了大约55分钟。
这轮比赛结束后不久,我被要求参加第 3 轮比赛。
第三轮:面试官在我加入会议时自我介绍,然后他解释了面试的议程,我们将在接下来的 50-60 分钟内做什么。
- 他正在浏览我的简历,然后让我告诉他一些简历中没有提到的关于我的事情。根据我的回答,他反问了我。
- 然后他让我解释我的任何一个项目。在此他还问了我几个问题,例如,我在项目期间遇到了哪些困难,我是如何解决的,为什么这个项目与众不同,我在这个项目中做了什么超出要求的事情,我的项目中的贡献,为什么只有这个项目?等等
- 然后他问我在过去的大流行病中做了什么。
- 最后,他告诉我,现在他将给我一个编码问题。他还说,这个问题只是为了看看我的思考过程和正确解决方案的方法。所以,他最终可能会或可能不会要求我编码。
问题:我得到了一个字符串数组S ,其中包含牛津词典中的所有有效单词。另外,我得到了一组字母字符C 。所以,我必须返回一个所有字符串的列表,这些字符串仅由集合 C 中给出的字符组成。我必须以尽可能小的时间复杂度来解决它。
所以,在这之后我们就这个问题进行了长时间的讨论,我提出了我的各种方法,他也给了我中途的提示。最后,他让我编写我的一种方法。然后他对我说,我的面试结束了,我可以走了。
本轮比赛持续了大约 70 分钟。
判决:选择。