📜  亚马逊专访 |第 38 组 (SDE-I)

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

亚马逊专访 |第 38 组 (SDE-I)

1) (电话第一轮)
一种。以螺旋顺序打印矩阵(代码)
Soln:使用递归解决它。每个递归调用都应该打印边界元素。在每次递归调用中,移动原点并传递矩阵的新大小。
湾。给定一对大括号 {}。验证它。 (代码)
Soln:使用两个变量(即 open_count 和 close_count)并继续进行。
C。如果我们有多种类型的牙套怎么办? (方法)
Soln:使用堆栈。

2) (电话第二轮)
一种。给定歌曲列表。你会如何洗牌? (代码)
Soln:给出了从幼稚到最优的各种方法。最佳的类似于整数数组的改组。
湾。给出单词列表。一起打印所有字谜。 (代码)
Soln:使用 Hashmap,键为“sort(str[i])”,值为 List,即 anagrams。

3) 3:内部 1
有各种各样的衣服(比如衬衫)。品种基于图案、尺寸、颜色等参数。
一种。您的输入格式是什么,以便它可以存储所有参数的所有值?
列表<列表<字符串>>。每个 List 表示特定参数的值
湾。为相同要求的衬衫设计一个类。
C。您必须返回可以根据输入参数的各种组合形成的所有不同类型的衬衫。 (代码)
d。假设你有所有类型的衬衫可用。现在有各种查询,例如:
一世。显示颜色为“红色”的所有类型的衬衫,
ii.显示尺寸为“小”和图案“格子”等的所有类型的衬衫。
那么您将如何存储 I/P 以便有效地满足这一要求呢?

4) 内部 2
一种。给定一棵二叉树。假设每个节点表示某个 x,y 坐标。根节点表示 (0,0)。编写代码显示所有节点的坐标。
情况(i):树是完整的,没有节点的 x 坐标重叠。 (即所有节点都将沿 x 轴扩展,因此没有节点重叠)。 (代码)

o(0,0)
           /           \
     o(-1,-1)           o(1,-1)
    /       \          /       \
o(-2,-2)  o(-1,-2)   o(0,-2)  o(1,-2)

在这里我们可以看到许多节点在 x 坐标上重叠。

情况(ii):树不完整,没有节点的 x 坐标重叠。 (方法)
情况(iii):树不完整,节点的x坐标可以重叠。 (方法)

湾。设计一个 DS 来执行
插入
搜索
删除
随机获取
全部在 O(1) 中。
Soln:专注于 Delete 和 get_Random。进一步分析,我只需要修改 get_Random。只需稍作调整即可达到目的。

5) 内部 3
一种。给定整数数组。假设总数元素是偶数。我们需要判断这个数组是否可以成对分组,使得每对的总和可以被 K 整除。
例如:0,2,4,8,12,20,18,4 和 k=4
所以 (0,8), (2,18), (4,20), (4,12) 是这样一个集合,其中每对的总和可以被 k 整除。 (代码)

湾。有一根竖杆。各种半径的圆盘插入其中。当我们尝试取出任何光盘时,首先必须取出上面的所有光盘。取出光盘并放回原处计为一步。
考虑到这一点,这些不同半径的圆盘可以按排序顺序存储在杆中的最小步骤数是多少。
只需要最少的步骤。 “如何分类”不是必需的。 (方法)

C。给定整数数组。找到 ar[i],ar[j] 使得 j>i 并且 ar[j]-ar[i] 最大。著名的问题。 (代码)

6)(半技术-招聘经理)
一种。正常的人力资源问题。为什么亚马逊胜过你以前的公司,一些你想要改进的领域,定义梦想的工作,以及讨论中的类似其他问题。
根据反馈:我对“为什么亚马逊胜过上一个公司”的回答在这里并不清楚。

湾。给定两个大小为 m 和 m+n 的 int 数组,按排序顺序排列。将其合并到位。著名的问题。 (代码)

C。给定字符串。
Qusn:查找出现最大次数的字符。
索恩:简单的一个。取一个大小为 256 的辅助数组并保持每个字符的频率。扫描辅助数组并获取所需的字符。 O(k+n),这里 k=256。
Counter Qusn:为什么是 O(k+n)?为什么不能只有 O(n)?
Soln:在保持每个频率的时候,比较得到最大频率字符也。无需再次旅行辅助阵列。在)
Counter Qusn:如果内存大小只有 100 字节怎么办?
Soln:详细的一个。
Counter Qusn:假设更新每个字符的频率需要1秒,那么大概需要N秒。我们如何改进它?
Soln:使用多线程进行并行编程。
反qusn:会不会有什么问题?
Soln:如果一个获得锁,另一个需要锁的将进入等待。这会增加额外的时间,因此可能需要超过 N 秒。
Counter Qusn:如何改进?
Soln:详细的一个。
还有更多这样的反问。

7)(亚马逊西雅图。半人力资源。思维过程分析- BAR RAISER)
一种。又是同样的问题。为什么亚马逊胜过以前的公司?
这次我准备好了🙂
湾。来自亚马逊印度网站的 1 个 +ve 点和 1 个 -ve 点。
C。为此做好了准备,并且已经在网站上进行了一些预分析。
更多这样的人力资源问题。
d。思维过程分析:
假设要为 IT 官方目的建造一座新建筑。 75层。你是建设者。这座大楼将出租给 diff 公司。
一世。您将在该建筑物中添加多少部电梯?
ii.每部电梯将停在哪一层?
注意:在每个步骤中,我必须在分析后确定所需的数据,然后只提供相同的数据。
Soln (i):(因为它完全基于思维过程,所以从你这边反问是个好点)
1. 电梯的数量是由许多因素决定的。主要因素是电梯的高度和在该建筑物中工作的人数。
2. 我知道建筑物的高度。为了计算人数,我问了每层楼的大小。每层100平方米。
3. 每层都有隔间和其他房间和通道。假设 70% 的总面积由隔间使用。
4. 每个隔间将有 4 人。经过计算,每层楼有 40 名员工。所以整栋大楼有3000名员工。
5.接下来的分析是:在大多数IT公司中,进/出时间是灵活的。一般时间是黑白 9:00-11:00,外出时间是黑白 5:00-7:00。
6. 我们有 2 小时的窗口供所有员工使用电梯。所以电梯的数量也取决于这个因素。
7. 经过计算,大约有 9 次升降机(他认为这是一个很好的数字)。
Soln (ii):现在的问题是每部电梯将停在哪一层。
8. 由于我们不知道这栋楼里随时会有多少公司,所以建议在楼层数的基础上为员工提供平等的机会。而不是基于公司。
9. 最好的办法是尽量减少数量。每部电梯的停靠点。
10. 这可以通过给每部电梯设置相同的停靠楼层数来实现。
11. 可以简单地计算为 75/9= 9(四舍五入)。
12. 因此,第 1 部电梯将有楼层按钮 b/w 1-9,第 2 部电梯将有 b/w 10-18,依此类推。
13. 这种方法(他认为)最适合当前情况。
14. 请记住,每个楼层都应该有平等的机会,我们不知道会有多少公司在那里。

提示:Geeksforgeeks、Careercup、破解编码面试(书籍)+++++。

几天后终于拿到offer。 🙂非常满意。

亚马逊的所有练习题