Amazon SDE-1 FTE/6 个月实习经验 – AmazeWow 2021
在线编码测试:该测试由 28 个 MCQ 组成,主要关注 C/C++ 输出、数据结构、OOPS 概念。
还问了两个编码问题:
- 给定一个 X + Y =Z 形式的方程,其中 X、Y、Z 之一缺失,找到缺失变量的值。
- 计数紊乱(排列使得没有元素出现在其原始位置)
完成编码测试后,我进行了虚拟面试。
第一轮:这是一轮编码。提出了三个编码问题。
- 求给定高速缓存大小“n”的页面错误数,页面替换算法为 LRU。
我使用Python中的双向队列解决了这个问题。面试官被这种方法说服了。
2. 给定一个非常大的数字“n”。找出频率第二高的 k 位数。
前任:
n=12341234567856785678 k=4
Output:1234
3. 给定不同的时间段,找出安排交付所需的最小块数。
前任:
Time slots: [1,3], [2,4], [16,20]
Output: 2
这是合并区间问题的一种变体。面试官要求我在 O(n) 时间内完成。
第二轮:这也是一轮编码。问了两个编码问题。
- 给定一个字典,其中值是键的连接。查找A是否可以向B发送连接请求。如果两个人之间的连接数最多为'k',则一个人只能发送连接请求。
Input: {1:[2,3,4], 4:[5,6],6:[7,8]} k=1 A=1 B=8
Output: NO
我最初决定使用 DFS 方法,但面试官指出我不必计算路径,只需计算节点数。所以我应用了 BFS 并跟踪了水平。如果在我找到节点之前级别超过 k,我打印 No else Yes。
2. 找出爬“n”个楼梯的方法数。
第三轮:这一轮也是技术轮。提出了一个编码问题和多个基于概念的问题。
- 给定一个数字“n”,构造所有可能的结构不同的二叉树(不是 BST)
被问到的其他问题是:
- 信号量和互斥量的区别
- 讨论死锁条件、死锁预防和恢复
- 正常化
- 将给定的表转换为 2NF,然后转换为 3NF 和 BCNF。
第四轮(提高标准):这一轮是行为+技术问题的混合体。
它始于对我的实习项目的讨论。然后问了以下问题。
- 告诉我一个你自己学到东西的时间。你为什么学它?
- 告诉我你和队友发生冲突的时候,你是如何处理的。
- 告诉我你被某事卡住的时候。你是怎么处理的呢?
还问了一些关于团队合作的其他问题
一个编码问题:
- 给定一个模块的依赖列表,打印该模块的构建顺序。
Input: A-> B,C,D | B-> C,F | C->E Print build order of A
Output: E C F D B A (Multiple correct answers were possible)
我讨论了 DFS 方法并被要求对其进行编码。面试官对我的做法很满意。
等了两个星期后,我得到了我的结果。我获得了 FTE + 6 个月的实习机会。
注意:在处理编码问题时,请大声思考。首先与面试官讨论你的方法,并考虑提供的建议。考虑一下代码的时间和空间复杂性,并与面试官讨论。最重要的是,在整个面试过程中保持冷静和沉着,因为这会对你有很大帮助。 🙂