📜  微软采访 |第 23 集

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

微软采访 |第 23 集

笔试:第一轮是cocubes平台的在线测试(不适合编码)。该测试基于 C、C++ 和 DS。本轮入围的学生将被选入下一轮,即编码轮。编码轮有两个问题:

  1. 在井字游戏中,两名玩家正在玩,其中玩家 0 表示为 0,玩家 1 表示为 1。给定玩家移动的链接列表,确定谁是获胜者以及他需要多少移动为了获胜。
    Struct Move {
       int p;    //Player number
       int x;    //x and y pos in the tic-tac-toi
       int y;
      struct Move *next;
    };

    解决方案:GeeksforGeeks 链接

  2. 给定一个数组 if in a position let a[i][j] =1 然后打印它的所有行和列 1。在过去的计算中将位置 1 设为 1 后,不应考虑位置 1。
    注意:在这个问题中,要求不要使用任何额外的空间。
    sample(input):
    (i) 00100            (ii)10
        00000                01
    output:
    (i) 11111            (ii)11
        00100                11

团体飞行/活动:

  1. 检查二叉树是否平衡。
  2. 从字符串中删除重复项。

面试第一轮:

  1. 面试官让我优化上一轮问题2的代码(不是复杂度,而是汇编指令的数量,执行每条指令的时间)
  2. 一些基于LL的简单问题。抱歉我想不起来🙁
  3. 使用位运算识别两个的幂

面试第二轮:

  1. 具有以下字段的节点
    a) data
      b) next_ptr
      c) prev_ptr

    可用于表示双向链表、二叉树或无。给定一个随机指针,识别它是否形成 DLL、二叉树或无。我指出必须给出二叉树根节点,然后他要求我假设相同。

第三轮面试:

  1. 2 个数字,每个数字由链表表示,编写一个函数,给出这些数字的差异。
  2. 考虑一个网页,它有一个大的单一图像和另一个页面,其中前一个图像分为 6 个部分,哪一个加载得更快?
    现在提出一个减少加载时间的解决方案。(这个问题没有界限,我提出了一个解决方案,包括视觉,网络和多媒体的概念。面试官印象非常深刻,并立即告诉我我将拥有下一轮)

面试第四轮:

  1. 复制带有下一个和仲裁指针的链表..
    我告诉他我知道这个问题,然后他问我方法和测试用例,然后转到下一个问题。
  2. 给定两个排序数组。第二个数组有足够的额外空间来容纳第一个数组中的元素。给出通过合并两个数组而不使用额外空间获得的排序数组。
  3. 考虑一棵二叉树,它的根节点和目标节点被提供给您。给出目标的下一个兄弟。(让目标在第k层,那么你需要给出在第k层的直接节点)
  4. 其他问题是基于数组、链表和二叉树(这些的混合)。

所有的面试官都非常酷,乐于助人等等……他们理解我们的紧张情绪,并试图让我们尽可能地感到舒服。在我们从食堂到面试室的小路上,第一个面试官甚至把手搭在了我的肩膀上。

是的,被雇用了!!!感谢GFG。

许多许多祝贺作者。如果您喜欢 GeeksforGeeks 并愿意做出贡献,您还可以撰写文章并将您的文章邮寄至 review-team@geeksforgeeks.org。在 GeeksforGeeks 主页上查看您的文章并帮助其他 Geeks。

微软的所有练习题