微软实习面试经验(校内)
微软是第一家访问我们校园进行 2020 年暑期实习的公司。共有 5 轮:
a) 编码轮
b) 群飞
c) 技术面试一
d) 技术面试 II
e) 人力资源回合
以下是所有5轮的详细说明。
第1轮:
共有3道编码题,简单、简单、中等。总共提供了 90 分钟。
问题一:
Check for balanced parentheses in an expression
问题2:
有 n 间房屋,每间房屋之间有两座小山。两个山丘的高度以array1 和array2 的形式存储在数组中。我们需要找到房屋对的总数,使得在从房屋 1 到房屋 2 的过程中,数组 1 的最高峰等于数组 2 的最小山峰。
我们必须完成函数并返回对数。
问题 3:
城市中有n个邮局,两个连续邮局之间的距离存储在数组中。邮递员需要将邮件从邮局A送到B。他一次不能超过K公里,他需要在任何邮局之间停下来。
有 m 个查询作为输入,返回邮递员是否可以投递邮件。
在 180 名学生中,有 38 名学生入围,进入下一轮。
第 2 轮:
这一轮是笔纸轮。我们有两个问题,我们必须在纸上写下答案。
- 为全球零售应用程序设计一个搜索引擎,写出 a) 假设 b) 系统考虑 c) 设计组件。
2. 编写优化代码:
https://practice.geeksforgeeks.org/problems/decode-the-pattern/0
共有14名学生入围下一轮。
尖端:
代码必须整洁干净,带有适当的缩进和注释。变量名称应该是相关的。
代码应该被优化,具有最小的空间复杂度。
第三轮(技术面试一):
这一轮纯粹是基于我们的技术和实践知识。面试官让我实现二叉搜索树(插入、删除和搜索操作) 。他询问了BST在现实生活中的实际应用。
Binary Search Tree | Set 1 (Search and Insertion)
他进一步向我询问了小组飞行中提出的系统设计问题。然后他开始问我一些我从未听说过的问题,比如关于谷歌地图的细节、网站缩放等。我无法完全回答这些问题,但他清除了我的回合。
TIPS:如果你不知道任何问题的答案,你可以向面试官寻求帮助。他们很有帮助。即使对问题没有任何线索,也要努力解决它。
我的经验是,给出正确答案并不重要,但你回答问题的方式更重要。
第四轮(技术面试二):
他问我的第一个问题是使用临时堆栈对堆栈进行排序。
Sort a stack using a temporary stack
想要一个时间复杂度最小且行数最少的代码(10-15 行函数)。
他进一步向我询问了静态和动态内存分配以及完全面向对象语言和面向对象语言之间的区别。
在 14 名学生中,有 7 名学生入围了 HR 轮次。
第 5 轮(人力资源轮):
采访是在 Skype 上进行的。
面试官问了有关强项和弱项的问题。他问我,我如何用最新技术更新自己,我读过哪些最新技术以及它是如何工作的。为什么选择计算机科学与工程。
然后他继续我的项目。他问我在项目过程中遇到了哪些问题,还有哪些功能需要在项目中实现。
本轮持续约 20-25 分钟
在7名学生中,有6名学生被选为实习生,我就是其中之一🙂
如何准备:
我强烈推荐 GeeksforGeeks 进行练习。在参加考试之前,我已经在这个平台上解决了大约 600 个问题。您可以去练习部分,并为各种公司和主题应用标签。
精通数据结构和算法,算法设计和分析以及面向对象编程。