职位:亚马逊SDE1
地点:班加罗尔/海得拉巴
日期: 2020 年 3 月 7 日
在线评估
有两个编码问题:
1. 一个基于标准 BFS 的矩阵
2. 基于优先级队列的东西类似于 k 订单统计
虚拟现场采访:
第1轮:
1.巧克力有牛奶巧克力和黑巧克力两种,这种巧克力有N排。给你一些数字 X(牛奶巧克力)和 Y(黑巧克力),这是你必须完成的巧克力数量。您必须找到可以覆盖的最大行数是多少? (对不起,如果描述不清楚,但在采访中我只得到了这个描述,我会尝试在一些例子的帮助下清除它)。
注意:巧克力的顺序并不重要。
示例 1:MMDD
DD
数字万用表
X=3 Y=4
输出:2
因为我们可以覆盖第 1 行和第 2 行或第 2 行和第 3 行但不是所有行。
示例 2:DD
米
数字万用表
X=1 Y=1
输出:1
因为我们只能覆盖第 2 行。
示例 3:MMDD
DD
数字万用表
X=5 Y=7
输出:3
因为我们可以覆盖所有行。
2. https://www.geeksforgeeks.org/count-subarrays-equal-number-1s-0s/
第二轮:
1. https://www.geeksforgeeks.org/sliding-window-maximum-maximum-of-all-subarrays-of-size-k/
2. 给定一个链表和一个数字 k。您必须按每个单独块的总和值按降序对大小为 k 的组中的链表进行排序。块中的元素不会改变。
例子:
链表:1->3->0->5->1->7->0->2->4->3
k=2
输出:1->7->4->3->0->5->1->3->0->2
解释:
1->3=4
0->5=5
1->7=8
0->2=2
4->3=7
因此,块 1->7 的总和为 8,这是最高的,因此将首先放置。然后分块 4->3,然后是总和 7,依此类推。
第 3 轮:与高级技术项目经理
行为LP
在当前公司类型的问题中的作用。
关于项目的讨论很少。
什么是缓存?
OOPS 问题,如继承、继承面临的问题、菱形问题和虚拟关键字。
设计 LRU 缓存(只讨论了方法,不需要编码)。
编码问题:careercup.com/question?id=5717962873896960
第 4 轮:高级经理
关于项目和当前角色的详细讨论。许多基于LP的行为问题。
什么是缓存?缓存算法的类型。
设计 LRU 缓存。如果多个线程同时尝试在缓存中插入值,则稍微扩展一下您将如何处理。此外,应该知道您使用的任何 STL 容器是如何实现的。有人问我列表是如何在 C++ 中实现的(双链表或单链表没有太多深度)。
更多LP。
一周后,我接到了被选中的电话:)。感谢 GeeksForGeeks!