📜  亚马逊面试经历 |在校园

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

亚马逊面试经历 |在校园

亚马逊访问了我们的园区 (NIT JALANDJAR),担任软件开发工程师一职(2019 年 8 月 16 日)

流程:1 轮在线编码 + 4 次 F2F 技术面试。

在线编码回合:

这很容易,有 20 多个 MCQ 和 2 个编码问题——
1.你有一个字符串,你必须用前面的字符3 替换每个字符(如 a->d,z ->c,...。)
2.与数组有关,我不记得了,但是很容易实现。

第一轮技术:

1. 告诉我一些关于你自己的事情。
2. 告诉我一些简历上没有的东西。
3. 给定一个整数数组。如果数组 a 和它的否定 -a 都存在于数组中,则打印它。
例如:如果给出 {10, 5, 0, 9, -10, 7, -5},则打印 10, 5。
起初我告诉他线性搜索方法,然后是二进制搜索方法,但是我使用了额外的空间。所以,他告诉我把它减少到 O(1)。我向他解释了我修改后的方法并对其进行了编码。
4.LRU实现
我告诉他一种时间复杂度为 O(帧大小)的方法。他对我的方法不满意。
然后我尝试以不同的方式思考并得出一个解决方案,我使用指针和 unordered_map 将其复杂性降低到 O(1) 并最终对其进行编码。
5.合并k个排序数组

我向他解释并编写了基于 Min Heap 的解决方案。他印象深刻,然后问我复杂性。

第二轮技术:
1.一些SQL查询(与嵌套查询有关)和分片
2. 什么是 BST 以及如何检查给定的二叉树是否是 BST。
我告诉他使用最小和最大范围的后订购方法。然后他问我如果最左边的节点等于 INT_MIN 并且最右边的节点等于 INT_MAX 会发生什么,那么你会怎么做。
3.给定范围的总和
我向他解释了 2 种方法,他希望我为这两种方法编写代码
a) 段树(O(Logn))
b) 平方根分解 (O(sqrt(n)))
4.哪种图遍历方法更好,为什么。
5、二叉树的螺旋遍历,但是遍历的方向应该是从下到上,从右下角开始遍历。我使用了 3 个堆栈并对其进行了编码。之后,他让我尝试一些例子。

第三轮技术:
1.告诉我一些你的爱好和兴趣。
2.给定一个矩阵m。您站在给定的位置 m[x][y] 上,并且有 k 名送货员的位置给定。
如果 m[i][j]=0 表示这条路被挡住了。你可以向 4 个方向移动,现在你必须找到最近的送货员并返回它的位置。
我告诉他一种使用 Backtracking 的方法。他让我降低复杂性,然后我解释并使用 BFS 编写程序。
他让我试运行代码。
3.重轻分解
我解释了他并编写了代码。
链接——https://www.geeksforgeeks.org/heavy-light-decomposition-set-1-introduction/
4. 死锁必要条件举例。
5.一个系统有2个处理器,每个处理器都有一个进程。当进程有2个线程时,完成4个任务需要4毫秒。如果进程有单线程将花费多少时间。
首先,我很困惑,然后他再次向我解释了这个问题。我用适当的理由告诉他答案,但我不确定。
6.他说这是他第一次面试ECE学生。并问我有关微处理器和 RAM 内部架构的问题。

第四轮技术:
1.问我实习项目。
2.我们为什么使用RNN,RNN和CNN有什么区别。
3.基于系统设计的问题。我说它不在我的教学大纲中,因为我的分支是ECE然后他告诉我使用任何数据结构。我使用哈希图和DBMS来存储数据。他让我编写代码.
4.给定一个字符流。打印所有字符,在最后 10 毫秒内不重复。我使用大小为 10 的 dequeue 来实现它。
5.实现Round Robin进程调度。使用Queue数据结构可以轻松完成。
6. 为什么选择亚马逊?
!!!!!!!!!!!!据说我们等待结果。
!!!!!!!!!!!!最后,4 名 CSE 学生和 1 名 ECE 学生(幸运的是我;))被选为 SDE 简介。

尖端:
他们希望每一个问题都能在纸上正确编码。所以,练习吧。
如果您知道解决方案,请告诉蛮力,然后对其进行优化。尽可能多地与面试官讨论。
保持自信并相信自己的直觉。

我要感谢 Geeks for Geeks,这在我准备面试的过程中提供了很大的帮助。