📜  微软面试经历 |第 104 集(IDC 校园内)

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

微软面试经历 |第 104 集(IDC 校园内)

微软 (IDC) 来到我的校园招聘 FTE 和暑期实习生。选拔程序包括在线编码轮、小组飞行轮和 2-3 轮面试。

第 1 轮(在线编码轮):

    这一轮是 co-cubes 门户中的在线编码轮。三道题共25分(5+10+10)。本轮比赛时间为 1 小时 30 分钟。
  1. 给定数字 n 和 k,如果数字 n 为“1”,则将数字 n 的第 k 位更改为“0”,否则返回数字 n 本身
    Example:
    For n=13 (1101) & k=2, return 13
    For n=13 (1101) & k=3, return 9 (1001)
  2. 返回表示为字符串的两个二进制数之和
    Example:
    For n1=111 & n2=10011, return 11010
  3. 返回二叉树中最低层的所有叶节点的总和。如果不存在树,则返回 -1
    例子:
    二叉树
    对于上面的二叉树,返回 100 (40+60)
    首轮结束后,有5人直接被选入面试,其中约12人被选入集体飞轮。由于所有问题都很简单,因此选择基于代码的效率。

第 2 轮(团体飞轮):

  1. 给定一个数字 n,用单词打印这个数字。
    Example: For n=125, print One hundred and twenty five.

技术面试一:

  1. 我被问到与小组飞行中相同的问题。 (因为我是直接被选中面试的,所以我的面试是在团飞的同时进行的)
    首先讨论了方法,在面试官对我的方法感到满意后,我被要求编写相同的代码。
    然后他让我写下相同问题的测试用例。我想出了所有可能的测试用例。然后我意识到我没有编写包含所有这些测试用例的代码,并问面试官我是否必须更正我的代码,他说这不是必需的。
  2. 有一个系统可以接收一串数字。当每个新数字到达时,找到我们目前拥有的一组数字的中位数。我给出了一个使用 AVL 树的解决方案并为此编写了代码。我还被要求评估我的解决方案。

技术面试2:

  1. 给定一个 BST 和一个数 n,在树中找到两个总和为 n 的数。这是在原地完成的,即没有任何额外的空间。
    我想出了一个蛮力解决方案和另外两个使用额外空间的解决方案。我被要求为其中一个编写代码。
  2. 在 facebook 中,给定一个人 p,找到直到第 k 级的连接数。 p 的朋友形成 1 级,p 的朋友的朋友形成 2 级,依此类推。
    讨论了要使用的数据结构和算法,并为我的方法编写代码。

最后一次采访:

    这一轮被称为 AA(As-Appropriate)轮,面试官在其中寻找独特性,
    技术知识和软技能。
  1. 整个面试都是关于我在简历中提到的小项目。对其他方法和可以提高搜索效率的存储进行了深入讨论。
  2. 一般的人力资源问题,例如“为什么选择微软?”被问到。

    最终选出了其中的2个。在所有的采访中,更多的不是正确的解决方案,而是解决方案的方法和独特性。

我感谢 geeksforgeeks.org 为我的实习准备工作提供了大力支持。

微软的所有练习题!