我希望所有阅读本文的人都平安健康。过去的一年真的很坎坷,但好事总有出路。所以,我在这里分享我在微软暑期实习计划的选择过程中的经验。好吧,封锁使公司无法访问我们的校园,但我们的安置委员会非常努力地使一切成为可能,无论是虚拟的。符合该流程的条件是最低 CG 为 7.5,并且没有 UR 主题或积压。
现在让我们谈谈实际过程。
它由4轮组成。
ROUND 1(编码测试):第一轮是在线编码测试。
编码环境非常好,易于使用。您将获得一个包含所有编程语言的下拉菜单供您选择。现在您有两个编码问题和 90 分钟。其中之一非常简单,需要 15-20 分钟才能解决,因为您非常精通用于编码的语言,所以要明智。我有Python天赋,所以我选择了它。另一个问题可能在很多方面都很复杂。它可能看起来很简单,但需要花费大量时间进行编码。这也可能是一个棘手的问题。我不太记得我的问题,但我记得它们背后的基本思想。
问题:
- 实现一个以二进制数作为输入的函数,并返回输入的按位异或值作为函数的输出。
- 我基本上必须使用堆栈来实现对后序表达式的评估。
需要注意的事项:-
- 好好练习。每天从标有公司名称的面试角回答 5 道编码问题,并始终致力于从每个问题中学到一些东西。
- 确保您拥有一种可以让您更轻松地编写代码的编程语言。
- 考试受到高度监考,所以不要浪费时间思考如何作弊。反正也帮不上忙。
- 如果时间不够,请不要惊慌。只要确保您至少有一个没有错误且没有失败测试用例的问题。
第 2、3、4 轮:
在短短一天内完成所有面试的想法给我留下了深刻的印象。我们早些时候被告知此事,并被警告要保持警惕,并期待获得我们采访的会议链接。
第 2 轮:在我的第 2 轮中,我只被问到关于 OOPS、DBMS 和 DSA 概念的理论问题。我记得的有:-
- 你是怎么理解重载的?
- 多态和方法重载有什么区别?
- 面向对象编程有什么不同?
- BST的时间复杂度是多少?
第 3 轮(编码):第 3 轮再次是编码轮。唯一的区别是我有我的面试官在打电话,我必须分享我的屏幕,这样他才能在我编码时评判我。我对这个问题记得很清楚,因为老实说我很高兴解决它。
- 我被要求从头开始实现一个堆栈及其所有函数,如 peek()、pop()、push() 等。然后我被要求修改一些函数。例如,返回堆栈顶部的 peek()函数现在应该返回堆栈中存在的最大值。面试官帮了大忙。起初我对如何开始有点困惑,他的提示帮助我弄清楚了这一点。我们就这个问题进行了长达一个小时的讨论,寻找实现不同方式的新方法。不断的思想交流使编码变得有趣。
第 4 轮(HR):这是最后一轮。这是一轮人力资源回合。
- 我的面试官告诉我的第一件事是,他希望面试是两个人之间的正常对话,而不是技术性的。好吧,我确实有一些问题要问,但现在我不得不再想几个。他首先问了我一些关于我在简历中提到的项目的问题。现在轮到我了,所以我问他微软研发中心目前正在进行的项目。这持续了大约一个小时,我们来到了回合和过程的结尾。
需要注意的事项:-
- 不要回避询问、谈论或解释您的想法,无论是理论回合还是编码回合,还是人力资源回合。
- 你打算在这里实习,对工作、项目、公司等有疑问是很正常的。如果有帮助,请列出所有这些问题。永远不要回答,“对不起,我没有问题”。在这之后,你所有的时间和练习都白费了。
- 自信点。问疑问。
总结一下,继续练习。即使您对软件开发以外的领域感兴趣,也不要停止编码。每天至少解决 5 个问题确实很有帮助,然后您可以在面试日结束时专注于理论部分。掌握 DBMS、OOPS、COA 和 DSA 的概念就足以为理论问题做好准备。有了这个,祝你好运,保持安全。