📜  微软面试经历 |设置 87(校内)

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

微软面试经历 |设置 87(校内)

15 个基于 c/c++ 输出的 MCQ,还有 1 个Java问题。

编码轮:
1. 将二叉树转换为其和树
(https://www.geeksforgeeks.org/convert-a-given-tree-to-sum-tree/)。
2. 计算没有连续 1 的二进制字符串的数量。
(https://www.geeksforgeeks.org/count-number-binary-strings-without-consecutive-1s/)。

团体飞轮(MSIDC):
1. 根据另一个字符串给出的顺序对一个字符串进行排序。

团体飞行赛(针对 MSIT):
1. 给定一个所有单元格为黑色或白色的矩阵,编写代码找到所有边界单元格为黑色(内部单元格不必为黑色)的最大尺寸子矩阵。
2. 给定一组不同日期的股票价格,通过最多两次买卖股票来最大化利润。

被选中参加 MSIT F2F 面试:

F2F面试第一轮:
面试从“说说你自己”开始。她彻底检查了我的简历,并要求解释其中一个项目。她问了我对这个项目的贡献、最具挑战性的部分和几个技术问题。
然后她跳起来提问
1. 举例说明数据库规范化的类型(1NF、2NF、3NF、BCNF)。
2.假设给定一个数据库,该数据库有一个包含两列的表,一列是“name”,另一列是“id”。 name 列已填满,id 列为空。编写一个 sql 查询以使用唯一 id 填充 id 列。 (她只对逻辑感兴趣,而不对 sql 语法感兴趣。)
3.给定一个链表和两个整数x和y,遍历x个节点,重复删除下一个y个节点,直到到达终点。并返回结果链表。
4. 列举几个排序算法的时间复杂度和空间复杂度。就时间复杂度而言,这是最好的。
5. 解释归并排序的逻辑和编写代码。
6. 检查二叉树是否平衡。讨论了自平衡二叉树(AVL 树)。
7. 还有一个更简单的编码问题,抱歉我忘记了。
8. 抽象类和接口有什么区别。她非常友善和支持。她的速度非常快,因为她的时间有限,只有 1 小时。

F2F面试第2轮
这更像是人力资源回合而不是技术回合。
1. 说说你自己。
2、你对运动有兴趣吗?哪个运动?
3. 通常你在空闲时间会做哪些技术性和非技术性的事情?
4. 给定一个语句,编写一个程序来检查它是否是回文。
5. 你关注科技新闻吗? IT行业的趋势是什么?
我告诉机器学习,然后他进一步询问机器学习,我对机器学习了解多少,我是否做过任何机器学习项目,然后讨论了我的机器学习项目。 (看来他没有在 ML 的事情上评判我)
6. 给定一个链表,检查它是否有循环,如果有,找出循环的起点和循环的长度。
7. 面试完了,有什么问题吗?我问了很多问题,讨论了关于工作文化、晋升、是否可以切换到 IDC 等。这个讨论太长了(大约 20 分钟),我的问题给他留下了深刻的印象。

他是一位非常有经验的人,他在编写代码时帮助我并在所有讨论中支持我。

我要感谢 geeksforgeeks,因为我大部分都是从这里准备的。

微软的所有练习题!