微软采访 |设置 21
嗨,我的微软经验的简要文档如下:
团体活动:
- 面试前一天晚上,我们进行了小组活动。我们被要求自己解决一个问题,而另一个我们必须与分配给您的 Microsoft 导师讨论解决的问题。
- 在有序循环单链表中插入一个元素。指向 LL 的任何节点的指针将作为输入给出
- 给出了一个矩阵 m*n。如果单元格包含 0(零),则将该行和列设为零。
我们不得不与微软导师讨论第二季度。讨论很重要,他们会指出缺陷并要求您优化算法。
面试第一轮:
- 要求我在不使用额外空间的情况下解决第二季度的小组活动。
- 给定一个数字数组,从这些数字中形成两个数字,使得这两个数字的总和最小
- 给定一个数字数组,找出最小距离并打印所有具有最小距离的对
面试第二轮:
- 给定两个字符串S1 和 S2,检查 S1 是否是 S2 的移位版本
- 编写 KMP/Rabin-Karp 进行子串匹配
- 给定一个指向循环链表的指针,删除该节点
第三轮面试:
- 给定一组不同长度和宽度的矩形,找出你可以用它们形成的最大高度堆栈,如果矩形 R1 在矩形 R2 的顶部,那么长度(R1)<=长度(R2)和宽度(R1)< =宽度(R2)
- 给定大括号的数量(打开+关闭),找出你可以用它们形成的有效组合的数量。
微软的所有练习题!