📜  微软 SDE-I 面试经验(1 年以上经验)

📅  最后修改于: 2021-11-23 07:42:48             🧑  作者: Mango

招聘 Azure 网络团队

第 1 轮(1 小时) :这是在使用 SDE-II 的 Microsoft 团队中进行的编码轮。在这一轮中,我在下面提到了两个编码问题和几个 cs 基本问题。

  1. https://www.geeksforgeeks.org/find-maximum-path-sum-two-leaves-binary-tree/。跟进同样的问题,也找到路径。
  2. https://www.geeksforgeeks.org/length-longest-palindrome-list-linked-list-using-o1-extra-space/

CS基本问题:

  1. 什么是颠簸?
  2. 什么是信号量和互斥量?
  3. 什么是页面错误?
  4. 什么是进程和线程以及它们的区别?

他们主要关注您的思考方法以及您如何解决给定的问题以及预期的最佳解决方案。回答 CS 基础知识是一个加分点。

第 2 轮(1 小时) :这也是在使用 SDE-II 的 Microsoft 团队中进行的编码轮。在这一轮中,还询问了我在下面提到的两个编码问题和一些 cs 基础知识。

  1. https://www.geeksforgeeks.org/find-number-of-islands/
  2. https://www.geeksforgeeks.org/a-product-array-puzzle/

CS基本问题:

  1. 两个无限循环可以在单核机器上并行运行吗?
  2. 如何检测应用程序中的内存泄漏?

第 3 轮(1 小时) :这也是一个应该发生的编码轮,但我的前两轮进展顺利,所以他们跳过了这一轮,直接将其发送给招聘经理轮。

招聘经理回合(1 小时):这是招聘经理回合,这是最后一轮。

  1. 当被问及我在以前的组织中所做的工作时,我的回答大致相同。
  2. 设计一个缓存系统主要集中在低级设计,但也很少问关于高级设计的问题

结果:两天后我给 HR 打电话,我被选中了。

我解决编码问题的方法:对于每个问题,

  1. 首先,我已经完成了问题并交叉检查了我是否正确理解了问题如果我发现任何脱节然后我问了面试官并得到了澄清。
  2. 在思考逻辑时,我曾经大声思考,以便他知道我在想什么。
  3. 一旦我得到了用于检查给定输入的逻辑。
  4. 然后我曾经和面试官讨论过同样的问题,一旦他对逻辑感到满意,他就会要求编写相同的代码。