📜  微软面试经历

📅  最后修改于: 2021-11-18 01:57:07             🧑  作者: Mango

第 0 轮(Codility 轮):

  1. 给定大小为 1..N 的桶,找出装满 K 升水所需的最少桶数。
  2. 给定一个字符串,找到它需要拆分的最小子串数,以便每个子串中不会有任何重复的字符。

第1轮:

  1. 关于当前工作的一些问题。
  2. 找出数组中K个最常用的元素(用hashmap+maxHeap做的,问有没有数据结构,然后他建议treeMap做)
  3. 仅使用 0s、1s、2s 对数组进行排序(解释了计数器方法,要求在没有任何额外空间的情况下进行排序,告诉一些类似于使用 2 个分区的快速排序的方法)
    https://practice.geeksforgeeks.org/problems/sort-an-array-of-0s-1s-and-2s4231/1
  4. 计算二维矩阵中的岛屿数。 (告诉方法,他问它是否有一些遍历。然后他问它是 bfs 还是 dfs)
    https://practice.geeksforgeeks.org/problems/find-the-number-of-islands/1

第二轮:

  1. 表达式求值 2a[3b] = 2a [bbb] -> abbb abbb
  2. 建议带有给定前缀的单词。(解释基于 Trie 的方法)
  3. Bfs 与 dfs

第 3 轮:

  1. 为一个非常安全的建筑设计一个智能电梯系统,它有多个约束,比如楼层和电梯的 max_capacity,如果添加新电梯或新大厅或新楼层,它应该很容易扩展。 (创建的类:电梯、电梯大堂、楼层、楼层监视器、用户、建筑物。以一种在新电梯/建筑物或新电梯大堂或新楼层到来时易于扩展的方式编写它)

第 4 轮(技术 – 管理):

  1. 前几轮表现如何? (解释了我在前几轮中出错的地方)
  2. 他对MS&Azure团队的工作文化做了说明。
  3. 您如何确保您的服务在实时发送后不会出现任何问题?
  4. 您将如何测试您的功能?
  5. 设计一个阻止不安全网站浏览的系统。服务器的高级、网络协议、低级类设计。他还询问了 deleteword 和 checkisSafe 字同步如何。

结果:优惠推出。