📜  微软面试经历 | 4.5年经验

📅  最后修改于: 2022-05-13 01:54:17.400000             🧑  作者: Mango

微软面试经历 | 4.5年经验

最近接到微软的电话。 HR 询问了我目前的工作和经验,并为我提供了 Microsoft 招聘程序的更新。该过程包括5轮(1轮编码,3轮技术讨论,1轮管理讨论)。
编码轮:- 本轮包括 2 个关于 codility 平台的问题。问题很简单,一个是调试,一个是你必须编写代码。

这一轮过后,我接到一个电话说微软会有一天的流程,一天四轮面试。

第 1 轮——这一轮包括 2 个问题

  1. 我将获得 24 小时日历的时间段可用性,随机时间段将到来,我必须编写一个 API,如果时间段可用,它将预订时间段,如果时间段不可用,则返回 -1。 API 应如下所示:- int checkAvailability(int start, int end)
    我还必须检查重叠条件,经过一段时间后,数据将被发送到另一个 api,它将在 24 小时内返回可用的时间段。问题的一部分是:- https://www.geeksforgeeks.org/merging-intervals/。定义时间的数据类型(这是对上一题的增强)。
  2. 在二叉树中找到距离叶子 k 的所有节点。 https://www.geeksforgeeks.org/print-nodes-distance-k-leaf-node/

第 2 轮——这一轮从我对项目的讨论开始(15 分钟讨论)。之后,我们继续设计记事本类型的编辑器。该编辑器由以下 API 组成:-

  • a - 插入(插入单词)
  • b -删除(字符串单词)
  • c -copy(int 指针)
  • d -粘贴(整数指针)
  • e -undo(允许 10 次操作)
  • f -redo(允许 10 次操作)

需要设计类图、组合和功能。

第三轮——这一轮包括关于我的项目所涉及的技术的技术讨论。

  • 后来我们转到二叉树,他让我写下水平顺序遍历、倾斜顺序遍历的代码。
  • 之后他要求降低空间复杂度。我已经着手解决它并对其进行编码。请检查问题的链接以供参考。 https://stackoverflow.com/questions/59582406/level-order-tree-traversal-without-using-additional-memory

第 4 轮——这一轮更像是行为+技术轮。我被问到的主要是 HR 问题,还有 2 个关于编码的技术问题。

  1. (最大连续子数组)https://www.geeksforgeeks.org/largest-sum-contiguous-subarray/
  2. 以相反的顺序打印重复元素的出现。输入:- 1 2 3 3 2 1 4 4.,输出:- 4 1 2 3

判决:- 选择。

自信而积极,不要急于解决问题,向面试官索取更多信息,提出有效的问题。要有礼貌。

多练习!祝一切顺利!