📜  微软 SDE 实习面试经验(2020 年校园内)(1)

📅  最后修改于: 2023-12-03 15:39:34.340000             🧑  作者: Mango

微软 SDE 实习面试经验(2020 年校园内)

背景

在2020年,我作为一名计算机专业的本科生,在微软校园招聘中申请了SDE实习岗位。经过一系列的筛选和笔试,我最终通过了面试,并成功获得了实习的机会。在这篇文章中,我将分享我的面试经验,希望能够帮助正在寻找实习机会的程序员们更好地准备面试。

面试流程
1. 简历和笔试

微软校园招聘的第一步是提交简历。如果简历被筛选中,你会收到一封笔试邀请邮件。笔试包括编程题,数学题和逻辑题。需要注意的是,笔试的时间非常有限,需在规定时间内完成所有题目。所以在准备笔试时,要尽可能地提高自己的编码速度。

2. 初试

如果你顺利通过了笔试,就会得到微软的面试邀请。初试通常由两轮60分钟的技术面试组成。在这个阶段,有可能会被问到算法和数据结构方面的问题,也有可能会被要求现场编写一些代码。

3. 复试

如果你通过了初试,就会受到微软招聘团队的邀请,参加复试。复试和初试一样,也包括两轮60分钟的技术面试。复试的难度通常会高于初试,所以需要在准备复试时仔细复习算法和数据结构的相关知识。复试结束后,招聘团队会对你进行面试综合评估,并根据评估结果决定是否给你发出录取通知。

面试问题例子

以下是我在面试中遇到的问题的一些例子。

问题1

描述自动补全算法与实现。如何衡量排序算法的性能,并且介绍至少三种排序算法,说说它们优缺点?

问题2

介绍一个期望时间复杂度为O(n)的算法来找出未排序数组中的两个数字之和等于给定值的所有组合。

问题3

给定一个长度为n的数组和一个整数m,找出所有值的绝对值为m的元素对。元素对(i,j)与(j,i)被认为是相同的,可以通过一种短小的时间复杂度来找到这些元素对。

问题4

描述一下二叉树的构建过程,以及如何在二叉树上进行深度优先搜索。具体实现中如何作为递归或迭代来进行?

问题5

描述一下在两个排序的数组中查找中位数的算法,要求时间复杂度为O(log (m+n))。

面试技巧

在面试过程中,除了准备好您的知识储备,还需要使用以下几个技巧。

精通你的简历

编写一份简历是面试前的一个最主要任务。在面试中,面试官通常会问一些和你的项目和实习经验有关的问题。因此,一定要熟悉你的简历,并且会用你的经验和成就来回答面试官的问题。

快速计算和估算

速度是你在面试中取得成功的关键因素之一。一些问题需要进行计算,但是有时候您不应该依靠计算器。因此,在面试之前,要提前练习一些快速计算和估算的技巧,这有助于您节省宝贵的时间,提高效率。

明确思路

面试中,面试官不仅会看你的技术水平,还会看你的解题思路。因此,你需要对每个问题有一个清晰的思路,从而帮助你更快地完成问题解决方案,并且展现你的技能。

保持镇定

在微软的面试中,可能会出现一些比较棘手的问题。但是,无论多么困难,一定要保持镇定,并思考如何解决问题。如果你太慌乱了,可能会忘记某些重要的或者显而易见的知识点。

总结

微软SDE实习面试是一个非常具有挑战性的过程,但也是一个很好的机会,让你向技术大师展示自己的技术水平和能力。通过这篇文章,我希望你对微软SDE实习面试有了更全面的了解,并且可以应对面试中的各种挑战。祝愿每一位想要通过微软实习的程序员朋友们最终成功。