📜  微软面试经历| Set 114(SDE2 2.5 年经验)

📅  最后修改于: 2021-09-23 05:50:10             🧑  作者: Mango

第一轮 :- (1 小时)

  1. 有一个图表,其中每个节点代表一个城市,并且包含特定的编号。人。一场比赛正在进行,每场比赛都在一个城市进行。全城人齐聚一堂观看比赛。如果比赛在城市 y 为每个 x 进行,交通部门想要管理有多少人穿过城市 x。城市 x 和 y 可以是任何城市。
    代码和边缘情况
    Soln :- DFS 优化 O(n)
  2. Torch 问题:有一个桥和N 没有。人们需要 (a1,a2,-an) 时间才能过桥,并且有 K 个火炬,并且在任何时候 x 没有人可以通过桥,最多需要 x 人才能过桥。穿越它所需的最短时间。
    设计算法并写下代码
    解决方案:- 排序数组将 x 分钟从一端传递到另一端。将其中的 min 带到一侧,将 x 最大值发送到另一侧,再次从另一侧带来第二个 min,再次发送 x max 以循环方式跟随它 如果所有 x min 再次到达一端,则将 x min 发送到另一侧。 DS 使用 Dequeue。

第二轮:-(1小时)

  1. 在 log(y) 中计算 x^y 的程序。
    重点是他希望我写下所有测试用例并验证我的代码的所有边缘情况。
  2. 设计巴士预订系统:- 每排有 x 个座位。如果客户想要 K 个座位,如果您有 K 个连续的座位可用,请预订。否则给任何一排的座位。
    专注于 DS 和代码
    解决方案:- 创建邻接列表,例如哪一行中有 1 个可用的座位。 2个座位可用在哪排等等,并为每个预约电话做操作

第三轮:-(1.5小时)

  1. 更改字符串的字符来代替另一个字符集。您可以将字符串的长度增加一次。
    ab->bc
    cd->ki
    专注于代码和边缘案例
  2. 一个数组增加到一个数字,然后减少找到主元数。
    所有边缘情况和程序。您的程序应该处理所有边缘情况。
    我建议它是否包含重复或者如果整个数组很大,它就不能放入内存及其解决方案中。
    他们想看看正在处理的边缘情况。
  3. 电子商务架构与我过去的经验有关。我拿了记号笔并在白板上解释了它。它会给你更多的优势。

第四轮:-(1小时)

  1. 字符串匹配问题一个字符串包含字符。代码 & 边缘情况 & 递归图。所有测试用例并对其进行验证。
  2. 子数组的最大长度包含增加然后减少。代码和边缘案例

第 5 轮:- 工程经理(45 分钟)

  1. 设计一个爬虫从n个系统中获取代码并合并
    大声说你在想什么..
  2. 类设计、操作、实体
    解决方案:像 Github 一样带有版本 & 冲突 & 备份 & 作业
    工程经理对我的可扩展设计方法印象深刻

第 6 轮:- 招聘经理(1 小时)

  1. 有 n 个页面,当用户访问页面 x 时,它正在写入日志文件。向每个用户推荐一个来自他过去经验的页面。
    解决方案:将页面视为一个节点,权重是他从页面 x 到页面 y 访问的次数。维护用户和邻接表的映射并进行操作。
    代码和边缘案例 & 最重要的是,他们试图创造一些敌对的环境来判断你在多大程度上适合任何环境 & 但是如果你解决它,他们会非常友好。

    提示:如果您有任何困惑,请提出问题。

感谢 GeeksForGeeks。整个过程耗时1个月左右。

微软的所有练习题!