📜  微软实习面试经历| 2021 年校内

📅  最后修改于: 2021-11-18 02:23:05             🧑  作者: Mango

第 1 轮:这是在 codility 平台上进行的在线编码测试。

  • 它有两个问题。
  • 一个问题来自字符串,一个问题来自贪婪。

第二轮: 48 名学生入围了面对面的面试。所有的回合主要是基于 DSA。问的问题:

  1. 将 LinkedList 分成 k 个段,并以相反的顺序打印这些段。首先我给了他蛮力方法,然后他告诉我优化代码的空间复杂度,最后编写解决方案。他还让我在几个测试用例上试运行。例如:1-2-3-4 k=2 输出:3-4-1-2

第 3 轮: 2 小时后,我被要求参加下一轮。面试官给了我一个问题:

  1. 有n个城市,这对城市之间有道路。查找两个给定城市之间是否存在路径。这是一个简单的基于图形的问题,我只需要找出源和目标是否位于同一组件中即可。他对我的解决方案很满意,并要求我编写代码。然后他扩展了问题并告诉我找到路径(如果存在)并要求对几个测试用例进行试运行。

第 4 轮: 3 小时后,我被要求进入最后一轮。

  • 采访开始时对我的项目进行了简短的讨论。
  • 然后他给了我一个问题,在 xy 平面中有两个矩形,它们具有给定的尺寸和一个顶点的坐标,如果有重叠,您必须找到重叠矩形的尺寸,我必须解释所有条件何时会出现部分重叠,完全重叠,不重叠,最后编码出解决方案。

我的建议

  • 了解每个 DS 实现的基础知识、复杂性等。
  • 从蛮力开始,然后构建最佳解决方案。
  • 练习编写整个程序,而不仅仅是函数。
  • 继续与面试官互动。大声思考。
  • 在你的简历上有一些好的项目。