📜  亚马逊面试经历|第 149 组(校内实习)

📅  最后修改于: 2021-11-15 08:26:53             🧑  作者: Mango

第 1 轮(在线):
它有 20 个 MCQ 和 2 个编码问题,持续 90 分钟。问题来自操作系统、数据结构、Aptitude 等。大多数问题与 www.geeksquiz.com 上的完全相同。

在 MCQ 中,每个错误答案的评分为 – 0.25,正确答案的评分为 +1。编码问题每题 10 分。

编码问题:
一季度。查找字符串的第一个非重复字符。
Q2。您将获得一个如下图所示的电话键盘,其中每个字符对应于同一框中提到的一个数字。

手机键盘

给你 n 个字符串,你必须找到它们的十进制表示。您必须按降序打印字符串和相应的十进制表示。例如,如果给你“amazon”,那么它对应的十进制符号将是 262966。如果多个字符串具有相同的十进制符号,那么你必须按照输入的顺序打印它们。给定的字符串仅由小写字母组成。

Test Case 1:
5
Amazon
Microsoft
Facebook
Aa
Bb

Output:
642767638  microsoft
32232665  facebook
262966  amazon
22 aa
22 bb


第二轮(面对面):

一季度。给定一个链表,编写一个函数来反转每 k 个节点。

Example:
Inputs:  1->2->3->4->5->6->7->8 and k = 3 
Output:  3->2->1->6->5->4->8->7 

Inputs:   1->2->3->4->5->6->7->80 and k = 5
Output:  5->4->3->2->1->8->7->6

Q2。给定一个整数数组 arr[],找出任意两个元素之间的最大差值,使得较大的元素出现在 arr[] 中较小的数字之后。也打印两个元素的索引。

示例:如果数组为 [2, 3, 10, 6, 4, 8, 1] 则返回值应为 8(10 和 2 之间的差值)。如果数组是 [ 7, 9, 5, 6, 3, 2 ] 则返回值应该是 2(7 和 9 之间的差异)。

第三轮(面对面):

有简要介绍。然后他从我的简历中问了一些问题。他让我讲述一个我最喜欢并成功完成后感到自豪的项目。他有兴趣了解该项目的实施细节。
之后有2个编码问题:
一季度。给定一个字符串,找出没有重复字符的最长子字符串。例如,“ABDEFGABEF”没有重复字符的最长子串是“BDEFGA”和“DEFGAB”。
Q2。给定一天不同用户对网站页面访问的日志文件。

日志文件中的条目是这样的:
用户 1 访问了第 4 页
用户 3 访问了页面 2
用户 7 访问了页面 9
.
.
.

设计一个高效的数据结构,支持如下查询:
哪个页面一天正好有 2 个用户访问过?
哪个页面一天只有一个用户恰好访问了 2 次?
“用户 3”访问了哪个页面?一天超过5次?

在第二轮和第三轮,我们不得不在纸上写代码。
整体面试体验还是不错的。他们想要最优化的解决方案,并给出了朝那个方向思考的提示。
我终于被选中了🙂
提示:
  1. 首先解释方法,然后开始编码。
  2. 尝试在纸上编码时与面试官互动。他们不想在面试时感到无聊。
  3. 如有疑问,尽快澄清。
  4. 永远不要忽视面试官给出的提示。
  5. 100%诚实。
亚马逊的所有练习题!