📜  亚马逊专访 |设置 9

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

亚马逊专访 |设置 9

怎么开始的?

我在链接中完成并提交了 4 个程序:https://amazon.interviewstreet.com/challenges/dashboard/#problems

后来才知道这个链接的招聘已经结束了。于是我联系了亚马逊的几个 HR,得到了一个新的在线编程测试链接。


在线编程回合:(5种方法,2小时)

1)给出一个包含小写英文字母和空格的句子。它可能包含多个空格。获取每个单词的首字母并将结果作为字符串返回。结果不应包含任何空格。完成以下方法:

静态字符串 getFirstLetterWord(字符串文本) { }

2)给定一个数组。迭代它给定的次数。然后返回结果元素的总和。

例如:数组是 { 1,2,5,6},N=2

第一次迭代后:{2-1, 5-2, 6-5}={1,3,1}

第二次之后:{3-1, 1-3}={2,-2}

总和为 2 + (-2) = 0

如果数组中只剩下一个元素,则在应用迭代后该元素保持不变。完成方法。

静态 int iterateSequence(Vector a, int N) { }

3)在 BST 中找到第 N 个最大的元素。完成方法。

staticintnLargeBST(节点根,int N){}

鉴于

class Node
{
    Node left, right;
    int data;
    Node(intnewData)
    {
        left = right = null;
        data = newData;
    }
}

4)交换链表中的相邻节点。更改链接,而不是数据。完成方法。

例如:1、2、3、4

o/P:2、1、4、3

例如:1,2,3,4,5

操作:2、1、4、3、5

class Node {
  Node next;
  int val;
}

static Node swapAdjacentNodes(Node head) {} 

5)找出最长递增子序列的长度。

例如1。
i/p: 1, 2, 3
o/p: 3
解释:序列是递增的

例2
i/p: 4,5,6,7,8,1,2,1,2,3,5,4,6,7,8,9,0,6,7
o/p: 8
经验值:1,2,3,4,6,7,8,9

例如3
i/p: 1,2,9,4,5,10,7,8
o/p: 6
经验值:1,2,4,5,7,8

例4
i/p: 20, 3,22, 5,50, 34, 49, 91,110
o/p:6
经验值:20,22,34,49,91,110
或者
3,5,34,49,91,110

完成方法。

静态 int 长度LIS(Vector 序列) {}


电话面试一:

1) AM x N 矩阵,用 0 填充,后跟 1。找到包含最少 0 的行。例如

0 0000 1

0 0 1 111

0 00 1 11

答案是第 2。 (行索引:1)

2)查找给定的两个字符串是否是彼此的字谜。

3)给定一个大小为 N 的数组,将前 d 个元素移到最后一个。

例如 {1, 2, 3, 4, 5}, d=2

  • 输出:{3, 4, 5, 1, 2}


电话采访2:

1)给定一个BST,找到包含等于(或最低大于)输入值的值的节点。

2) Kadane 的一维数组算法。

3)给定二维空间中的一个点P和其他N个点,从N个点中找出离P较近的K个点。


面谈一:(海得拉巴,日期:2012 年 11 月 8 日)

1)给定一个包含整数的单链表,在开头带上奇数,在结尾带上偶数。奇数值和偶数值的相对顺序应保持原样。

例如 34、45、78、10、33、5

  • o/p:45、33、5、34、78、10

2)给定 N 组整数,删除一些组,使剩余的所有组彼此不相交。找到最优解,使最后剩余的集合数最大。


面对面访谈 2(与经理):

1)给定一个大小为 N 的数组,一个大小为 W 的窗口以幻灯片 S 的增量滑过它。如果窗口到达末尾,我们应该停在那里。找到一个 N, S, W 形式的公式,以便我们可以找到有效窗口的数量。编写一个程序,找出每个窗口中的最小值并打印出来。优化它。

例如 {1,2,3,4,5},W=2,S=1
第一个窗口:{1,2} min=1
第二个窗口(增加 S=1):{2,3},min=2

最后一个窗口:{4,5},min=4
数组可能未排序。为简单起见,我采用了排序数组。


面谈3:

1)通过给定的最小值和最大值修剪给定的 BST。这意味着删除值小于最小值或大于最大值的节点。编写迭代和递归——两种解决方案。

2)给定一个字符串数组,找到由同一数组中包含的最大数量的其他字符串组成的字符串。

例如“老鼠”、“猫”、“abc”、“xyz”、“abcxyz”、“ratcatabc”、“xyzcatabc”
答案:“xyzcatratabc”
“abcxyz” 包含 2 个其他字符串,
“ratcatabc”包含其他 3 个字符串,
“xyzcatratabc”包含 4 个其他字符串

3)求 sqrt(N) 的整数值。不要使用任何库函数或任何数学解决方案。


面谈4(与开户单位经理):

1)给定一个二维整数数组,在数组中找到值 1,并将所有这些行和列设置为 1,其中包含一个值为 1。

2)假设您在 naukri.com 等公司工作。您需要收集印度所有年龄在 25 到 40 岁之间的软件工程师的电子邮件 ID 和联系电话。你会怎么做?

3)假设一个和你祖父年龄相仿的人在电脑上工作。他对电脑知之甚少。他抱怨说它工作正常,但在过去的 2 天里,它变得非常缓慢。你将如何解决?可能是什么原因?

4)为餐厅设计一个 IVR 系统,顾客可以在其中预订午餐和/或晚餐的餐桌。提前预订 2 或 7 天/如您所愿。在用户提出请求后,回复他说您将在 5 分钟内确认请求。检查可用性并发送短信确认。如果 SMS 已发送,则假定该客户是真实的。如果 SMS 未正确传递,则丢弃用户请求,因为它不是真实的。
i) 在此过程中,您如何获取客户的姓名和电子邮件 ID?
ii) 你能为回头客做什么?您将如何识别回头客?
iii) 如果要求团队人数大于餐桌人数,您会怎么做?例如,当桌子大小为 6、4 和 2 时,要求 10 人。

祝一切顺利!

亚马逊的所有练习题!