微软面试体验|第102集(IDC校园)

大约150名学生参加了测试。

null

第一轮(75分钟):

HackerRank上托管的在线编码回合。问了三个编码问题。

  1. 给定一个整数链表,编写一个函数修改链表,使修改后的链表中所有奇数出现在所有偶数之前。偶数和奇数的相对顺序应该保持不变 https://www.geeksforgeeks.org/segregate-even-and-odd-elements-in-a-linked-list/
  2. 给定一个浮点数,不使用内置的sqrt()函数计算其平方根。
  3. 给定一个模式字符串和一个测试字符串,实现RegEx子字符串匹配。如果模式前面有^,它将与起始位置匹配。同样,如果前面有$,它将匹配结束位置。如果不存在这样的标记,它将检查模式是否是测试的子串。
    Ex : ^coal
    coaltar
    Result : True
    tar$
    coaltar
    Result : True
    abcd
    efgh
    Result : False
    

25名学生被选入下一轮。 第二轮(纸质编码轮):

  1. 按顺时针方向打印二叉树的边界遍历。(注意:检查给定树的左、右遍历中的叶节点。) https://www.geeksforgeeks.org/boundary-traversal-of-binary-tree/
  2. 将正方形图像顺时针旋转90度。尽可能地优化。类似问题: https://www.geeksforgeeks.org/inplace-rotate-square-matrix-by-90-degrees/

8名学生被选入下一轮。

第三轮- 个人面试1

  1. 讨论了论文编码回合中提出的第一个问题,即二叉树的边界遍历。
  2. 如何 合并两个BST .问我能实施的所有方法。然后让我用O(logn)来做,其中n是节点的总数。
  3. 要求我编写代码,查找数组中出现次数大于n/2次的编号。然后让我证明编写的算法,基本上,他是在问我是如何编写代码的,为什么它能工作。 7名学生被选入下一轮。

第四轮-个人面试2

  1. 要求我在BOOKMYSHOW中实施座位预订流程。通用域名格式。如何处理两个人几乎同时试图进入同一座位的情况。他让我写一个基于类的解决方案,询问不同的函数应该用来解决预订过程中的所有问题。
  2. 是什么 单例类 ?
  3. 如何 求两条线段的交点 .给出了线段的两个端点。
  4. 如何找到1号到n号之间的2号。他给了我一些提示,最后,他对我的方法感到满意
  5. 考虑所有可能的解决方案,实现斐波那契级数。

他们问了几个问题,但我不记得了。 6. 学生们被选进了下一轮。

第三轮个人面试-第五轮

  1. 写函数 无递归二叉树的有序遍历。 那很容易!!
  2. 问了我一个难题。给出一个n*n板,其中一个单元格为黑色。此外,考虑到所有可能的旋转,给出了L形件(相当于给定矩阵的3个单元)。我必须用这些碎片填满整个网格。碎片不能放在黑色单元格上,两个碎片不能重叠,甚至不能部分重叠。我给出了一个答案,我试图将不可接受的单元(黑色单元和已经放置在板上的块)的大小增加到给定板的大小,但他问了我几个我的答案失败的案例。然后我告诉他,我们可以使用回溯法对组合进行彻底搜索,但这会花费太多时间。然后他给了我一个线索,那就是不要增加不可接受细胞的大小,而要尽量减少它。最后,我得出结论,它是基于divide-n-conquer的解决方案,考虑的基本情况是2*2板和1个黑色单元。

4. 学生们被选进了下一轮。

第六轮-个人面试4

他让我实施 LRU缓存 .我给了他所有可能的解决方案。他非常乐于助人。他发现了缺陷并告诉我优化它。我给了他三个解决方案,最后一个是你可以在互联网上找到的。但在此之前,他让我用hashmap交换DLL的两个节点。起初我不知道Lru缓存是什么。哈哈

第七轮-个人面试5

  1. 你的激情是什么?你一生想做什么?人力资源类问题。
  2. 他用英语单词设计了一种新的语言,并将它们存储在一系列字符串中。然后他给了我两个字符串,让我设计strcmp函数。我一下子告诉了他最好的方法,但他试图把我搞糊涂,他成功了。他给了我5分钟时间想出另一个解决方案,并尝试了新的解决方案。最后,我实现了我想到的第一种方法,他对此很满意。
  3. 如何序列化和反序列化n元树 .我告诉他序列化和反序列化二叉树的函数,但没能想出解决给定问题的方法。

3. 学生最终被选为MS-IDC。我就是其中之一P PS:我对OS和DBMS不太熟悉,所以我清楚地告诉了他们,但他们试图间接地询问OS和DBMS的所有基本问题,并告诉我使用C/C++实现它们。

向朋友们提出的问题:

如果你喜欢Geeksforgek,并想贡献自己的力量,你也可以写一篇文章,然后把你的文章发到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写评论

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享