📜  微软面试经验(3年经验)

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

团队名称:Azure DevOps

第1轮
给定一个概率分布数组,生成一个函数以返回一个给定概率的字符。
str=[‘a’, ‘b’, ‘c’]
概率分布 =[50, 25, 25]
https://www.geeksforgeeks.org/random-number-generator-in-arbitrary-probability-distribution-fashion/

调用 4 次 =a、a、b、c 时有 4 个输出。创建函数
有硬币存储在树节点中。每个节点应该正好有 1 个硬币。一棵树中的硬币总数=节点数。但是硬币分布不均,必须移动到适当的节点(具有 >1 或 <1 个硬币)。找出所需的移动次数。
https://leetcode.com/articles/distribute-coins-in-binary-tree/

第二轮
1个网站可以链接到许多其他网站。设计一个爬虫服务,可以返回所有可以从该网站递归访问的网站。设计一个分布式系统,所有结果不能存储在 1 个节点中。 [Ans= 解耦存储和计算]

第 3 轮:
最大和子数组:https://www.geeksforgeeks.org/maximum-subarray-sum-using-divide-and-conquer-algorithm/
工厂模式问题
您如何从 API 中获取信息,该 API 生成数据的速度比您可以使用的速度快?

第 4 轮:
OOPS-设计电梯。(X 节车厢,每节车厢最多可容纳 P 名乘客,不受目的地控制)

结果:提供