📜  亚马逊面试经历 | 219(校内)

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

亚马逊面试经历 | 219(校内)

亚马逊来到我们学院。以下是我的面试经历。一共进行了5轮。

第一轮(1.5小时)-
它由两个部分组成
-> Mcq(20 个问题)
-> 两个编码问题
1) 给定两个字符串Str1 和 Str2,查找 Str2 的任何字谜是否是字符串Str1 的子串(不区分大小写),否则返回 True,否则返回 False。
测试用例:如果 Str1 = Amazon 和 Str2 = omaz,输出:True

2) 给定 n 个非负整数,表示每个条的宽度为 1 的建筑物,计算下雨后它能够捕获多少水
例如,
给定 [0,1,0,2,1,0,1,3,2,1,2,1],返回 6。

第二轮(2小时)
1.自我介绍。

2.作为面试官正在研究机器学习的东西,对机器学习项目的简短讨论。

3.一棵树存储在一个数组中,使得存储在索引 I 处的值是节点 I 的父节点。首先想到的是 nlog(n) 方法。他说要编码(coded it),然后他坚持要优化最坏情况时间复杂度O(n)的解决方案,然后我们讨论他同意逻辑的DP解决方案并要求对其进行编码(编码)。

3.在节点A和B的二叉搜索树中找到最低的共同祖先。他问我是否已经看到这个问题我回答是肯定的,所以他让我快速编码,我编码。但他问如果节点 A 或 B 或两者都不存在怎么办,我说这段代码不起作用但我们可以先检查节点 A 和 B 都存在然后我们可以使用这段代码,他确信 n 移到下一个代码。

5.求二叉树的任意两个节点之间的最大距离,最多有一个弯曲。我们就这个问题讨论了很多,然后他要求对我们讨论的方法进行编码,在编码时我发现这是错误的,我告诉他这种方法行不通。最后他说把这个问题留到下一个。(只有我无法解决的问题)

6.在 LL 中查找循环。

7.find 一个段落中单词的频率我最初建议一个哈希而不是尝试他对答案感到满意。

8.再次对项目进行简短讨论。

第 3 轮(设计问题)(1.5 小时)
1.) 如果单词拼写错误,建议自动更正。
i) 只有一个字符被 cht 等错误字符替换,然后建议可以是 cat。
ii) 所写的词是其他词的前缀。
用过的特里。

2.) 固定数量的客户请求服务(限 5-10 人)。如果服务在时间 n 失败。找出每个客户在服务失败前 10 分钟提出请求的频率。我建议了一个由队列和地图组成的 DS。
3.)给定一组类及其依赖项,如果这个给定的集合可以构建(编译)有或没有错误,则返回。
A类:BC
B类:D
C类:EF
D类
E类:A
F类:G
G类:A
返回错误,因为 A、C、E 类相互依赖。
我说的问题与他同意 n 要求编码的图表中的查找循环相同。)编码)
第四轮(主题轮)(2小时)

1.)之前面试的答题卡会传递到下一次面试,因为我的第三次面试官没有我的第二次面试答题卡,他问我关于上次面试中问我的问题。

2.)考虑在服务器上为客户 c1 运行的服务,但客户 c1 在 s 秒后超时,原因是客户再次触发相同的请求,因此服务器正在运行重复查询,因此它超载,解决这个故障。我如何设法给出一个解决方案,他说这与他自己为解决这个故障而实施的解决方案非常相似。
3.)给定一棵树,找到通过将节点的数据从根节点附加到叶节点而形成的所有数字的总和。在树的一次遍历中。
例如:

1
  /  \
 2    3
Return 12+13=25 

我使用参考变量来解决它来存储最终解决方案,并将一个变量作为值传递以存储到当前节点*10,因此将当前节点的数据添加到该变量以获得形成的数字,如果当前节点是叶子然后添加它作为引用传递给变量。
4.)关于调度算法和类型的任何想法。
5.) 给定一个由 0 和 1 组成的矩阵,求由 0 组成的正方形的最大尺寸。
1 1 1 1
1 0 0 0
1 0 0 1
0 0 0 0
返回 2。
通过将所有零翻转为一并将一翻转为零来编码它,而不是类似于 GFG 上给出的问题。

6.)什么是互斥锁?

7.) 给定外星语言的字典顺序的单词,找到该语言中字符的顺序。
我说我已经看到了这个问题,它是拓扑排序的,他继续下一个问题。

8.) 多生产者单消费者问题。

9.) 找出数字数组的所有可能解释。我提出了一个解决方案,我被要求对其进行编码我对其进行了编码,但他指出了包含 10,20,2010 之类的零的测试用例的错误,因此我处理了零的情况。

第 5 轮(45 分钟)
1.)我被要求讲述我在第一轮中没有讨论过的项目(他们在我面试之前讨论过,或者巧合)。

2.)我有一个关于网络爬虫的项目,所以有人问我你将对这个项目做哪些改变来扩展它。

3.)另一个项目是一个类似于鸭子射击(视频游戏)的android游戏,被要求说出两者之间的区别。

4.)我被要求告诉如何从文件中复制最后 10 行,他不断询问其他方法(我回答了大约 10 种不同的方法)。

5.)在不使用+或-运算符的情况下加减两个数字。我被要求对其进行编码。我使用xor和二进制来解决它,然后他要求证明这种方法有效。

7.) 将 777 转换为二进制。

亚马逊的所有练习题!