📜  微软 SDE-1 面试体验(1)

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

微软 SDE-1 面试体验

近日本人有幸参加了微软 SDE-1 的面试,以下为我的面试体验。

面试流程

微软的SDE-1面试流程如下:

  1. 电话面试
  2. 线上编程测试
  3. 线上技术面试(两轮)
  4. 在线行为面试
电话面试

我先接到一通电话面试,第一道题是一个简单的字符串题。假设有一个字符串,要求针对每个字符出现的次数,按照字符的出现次序返回字符和出现次数。如输入 "abca" 则输出:

a 2
b 1
c 1

然后面试官又让我写两个 SQL 查询,分别是查找每个科目平均分最高的学生和查找每个科目的平均分。这个部分我比较熟,顺手写了两个 SQL 语句。

线上编程测试

如果你的电话面试通过了,你就可以参加在线编程测试了。这个测试题是一个比较简单的二叉树算法问题。我发现最好还是在本地写好代码,再复制粘贴进测试框里,不然大概率会出意外。

线上技术面试

如果你的在线编程测试通过了,你就可以参加两轮在线技术面试了。这两轮面试涉及到 OOD、算法和数据结构等专业技能。你需要写代码,但也需要对其进行解释。

第一轮我被要求设计一个停车场模型,其中要包括车辆的进出、缴费以及执行的具体顺序等。我设计的停车场能够容纳不同大小的车辆,并能够自动分配合适的车位,以及进行车辆的维修保养等操作。

第二轮我的面试官让我解决一个复杂的算法问题,就是设计一个最小生成树。我的解决方法被面试官实时展映出来,这部分除了代码解释之外,我还要清楚地解析我的解决方案,并展现出一定的沟通交流能力。

在线行为面试

最后是一轮在线行为面试。你需要通过视频回答问题。我获得的问题包括自己最大的技术挑战以及如何依靠软件开发帮助别人等等。

总结

微软的 SDE-1 面试需要综合使用语言和算法技能,重点考虑代码能力和沟通交流能力。如果你需要为这个面试做准备,我建议熟练掌握 OOD、算法和数据结构,并特别关注与面试官进行有效沟通的技能和经验。