这篇文章是关于发生在我的大学校园 – VIT 大学,Vellore 的 Microsoft 暑期实习 2019 招聘过程。
第一轮:组飞轮
第一轮是集体飞行,我们被要求用任何首选语言为给定的 2 个问题编写代码(笔和纸):
- 在二进制表示中具有相同数量 1 的立即最大和立即最小的数字:https://www.geeksforgeeks.org/closest-next-smaller-greater-numbers-number-set-bits/
- 3个数组的交集: https : //www.geeksforgeeks.org/find-common-elements-three-sorted-arrays/
第二个问题的给定链接是指使用排序数组,但我们总是可以对输入数组进行排序,因为我们只需要打印所有 3 个数组中的重复元素。
除了代码,他们还希望我们提及每个程序的时间和空间复杂性,并且我们必须在代码旁边编写 3-4 个示例测试用例,这可以帮助他们更好地评估它。总的来说,我们有大约 45-50 分钟的时间进行小组飞行。
第 2 轮:技术轮 – 1
对我来说,这一轮持续了大约 1 小时到 1.25 小时。我被要求根据一些限制条件编写洗车管理软件的逻辑,例如:
- 使用优先队列来根据对某些客户的特殊偏好和预订时间对预订进行排序。
- 每 11 次服务前来的顾客将获得一次免费洗涤。
- 成为常客的客户将获得更高的优先级。规律性可以基于 – 上个月的 3 次访问。
语言的选择又落在了我的身上。我选择了Python来完成任务。主要目的是继续与面试官讨论我的想法,并获得有关可以做的任何改进的建议。
除此之外,我还被问到了以下问题:
- 数据库管理系统:
- “规范化”在数据库管理中有什么用?
- 其基本思想是减少数据库中的冗余,提高其可扩展性。我被问到:“为什么我们更喜欢标准化,而存储介质可以以低廉的价格获得?”。有人可能会争辩说,规范化还可以在不产生任何异常的情况下保持数据的一致性,并且可以轻松理解整个数据库。
- “规范化”在数据库管理中有什么用?
- 核心C编程:
- C中的占位符是什么?
- C 程序可以在不包含“stdlib”库的情况下运行吗?
第 3 轮:技术轮 – 2
在这一轮中,完全关注数据结构和算法。我被要求写:
- 各种类型的二叉树数据结构。 https://www.geeksforgeeks.org/binary-tree-set-3-types-of-binary-tree/
- 给定树的先序遍历代码。 https://www.geeksforgeeks.org/tree-traversals-inorder-preorder-and-postorder/
- 什么是哈希表以及如何处理冲突? https://www.geeksforgeeks.org/hashing-set-1-introduction/
除了 DSA,我还被问到有关网络和通信的问题,例如:
- 什么是 DNS?
- 在浏览器中输入 URL 时,解释浏览器处理请求并获得给定搜索查询的结果的详细过程。
面试时间大概是 35-40 分钟。
第 4 轮:技术 – 人力资源轮
最后一轮是由 HR 进行的,他主要关注我做过的项目。我解释了我在大学前两年所做的每个项目背后的基本思想。他喜欢一个或多个项目是因为我为解决手头的问题而带来的那种创新。
除了项目,我还被问到我的兴趣和其他开放式问题,让他们更多地了解我。这一轮大约有 25-30 分钟的时间。
我很高兴成为被选中参加即将到来的微软暑期实习(2019 年)的 5 名学生之一。
我的建议:回答你所知道的。如果您不知道答案,我会建议您接受它,而不是随机虚张声势。他们主要关注你简历中提到的技能,所以要保持简单和直接。