怎么开始的?
我在链接上完成并提交了4个程序:https://amazon.interviewstreet.com/challenges/dashboard/#problems
后来我才知道通过此链接的招聘已经结束。因此, 我联系了亚马逊的一些人力资源人员, 并获得了在线编程测试的新链接。
在线编程回合:(5种方法, 2小时)
1)给出一个包含小写英文字母和空格的句子。它可能包含多个空格。获取每个单词的第一个字母, 然后将结果作为字符串返回。结果不应包含任何空格。完成以下方法:
静态字符串getFirstLetterWord(String text){}
2)给定一个数组。迭代给定次数。然后返回结果元素的总和。
例如:数组为{1, 2, 5, 6}, N = 2
第一次迭代后:{2-1, 5-2, 6-5} = {1, 3, 1}
2nd之后:{3-1, 1-3} = {2, -2}
总和是2 +(-2)= 0
如果数组中仅剩余一个元素, 则在应用迭代后该元素将保持不变。完成方法。
静态int iterateSequence(Vector <
Integer>
a, int N){}
3)在BST中找到第N个最大元素。完成方法。
staticintnLargeBST(节点根, int N){}
鉴于
class Node
{
Node left, right;
int data;
Node(intnewData)
{
left = right = null;
data = https://www.lsbin.com/newData;
}
}
【亚马逊面试经验分析和解读|S9】4)交换链接列表中的相邻节点。更改链接, 而不是数据。完成方法。
例如:1、2、3、4
o / P:2, 1, 4, 3
例如:1、2、3、4、5
op: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
xp:1, 2, 3, 4, 6, 7, 8, 9
例如3
i / p:1、2、9、4、5、10、7、8
o / p:6
xp:1, 2, 4, 5, 7, 8
例如4
i / p:20、3、22、5、50、34、49、91, 110
o / p:6
xp:20, 22, 34, 49, 91, 110
OR
3, 5, 34, 49, 91, 110
完成方法。
静态整数lengthLIS(Vector < Integer> 序列){}
电话面试1:
1)一个M x N矩阵, 先填充0, 再填充1。查找包含最少0的行。例如。
0 0000 1
0 0 1 111
0 00 1 11
答案是2nd行。 (行索引:1)
2)查找给定的两个字符串是否彼此相同。
3)给定大小为N的数组, 将前d个元素移到最后一个元素。
例如{1, 2, 3, 4, 5}, d = 2
- 输出:{3, 4, 5, 1, 2}
1)给定一个BST, 找到包含等于或小于输入值的值的节点。
2)Kadane的一维数组算法。
3)给定一个点P和二维空间中的其他N个点, 请从N个点中找到K个点, 这些点更接近P.
面对面面试1 :(海德拉巴, 日期:2012年11月8日)
1)给定一个包含整数的单链表, 将奇数放在开头, 将偶数放在结尾。奇数值和偶数值的相对顺序应保持原样。
例如34、45、78、10、33、5
- o / p:45、33、5、34、78、10
面对面面试2(与经理):
1)给定大小为N的数组, 大小为W的窗口将以幻灯片S的增量在其上滑动。如果窗口到达末尾, 则应在此停下来。查找一个N, S, W形式的公式, 以便我们可以找到有效窗口的数量。编写程序以在每个窗口中查找最小值并打印。优化它。
例如{1, 2, 3, 4, 5}, W = 2, S = 1
第一个窗口:{1, 2}分钟= 1
第二个窗口(以S = 1递增):{2, 3}, 最小值= 2
…
最后一个窗口:{4, 5}, 最小值= 4
数组可能未排序。为了简单起见, 我采用了排序数组。
面对面面试3:
1)用给定的最小值和最大值修剪给定的BST。这意味着删除值小于min或大于max的节点。编写迭代和递归–两种解决方案。
2)给定一个字符串数组, 请找到由同一数组中包含的其他字符串的最大数量组成的字符串。
例如" rat", " cat", " abc", " xyz", " abcxyz", " ratcatabc", " xyzcatratabc"
答案:" xyzcatratabc"
" abcxyz"包含另外2个字符串,
" ratcatabc"还包含另外3个字符串,
" xyzcatratabc"包含另外4个字符串
3)查找sqrt(N)的整数值。不要使用任何库函数或任何数学解。
面对面面试4(与开幕单元负责人):
1)给定一个二维整数数组, 在数组中找到值1, 并将所有这些行和列设置为1, 其中包含值之一为1。
2)假设你在像naukri.com这样的公司工作。你需要收集印度年龄在25至40岁之间的所有软件工程师的电子邮件ID和联系电话。你会怎么做?
3)假设你祖父的年龄在计算机上工作。他对计算机一无所知。他抱怨说它运行良好, 但是在过去的两天里, 它变得非常缓慢。你将如何解决?可能是什么原因?
4)
为餐厅设计一个IVR系统, 客户可以在其中预订午餐和/或晚餐的餐桌。提前2或7天预订/任意选择。在收到用户请求后, 请回复他, 你将在5分钟内确认该请求。检查可用性并发送短信确认。如果发送了SMS, 则假定客户是真实的。如果SMS传递不正确, 请丢弃用户请求, 因为它不是真实的。
i)在此过程中, 你如何获取客户的姓名和电子邮件ID?
ii)你可以为回头客做什么?你将如何识别回头客?
iii)如果要求的团队人数大于桌子人数, 你会怎么做?例如。表格大小为6、4和2时, 要求10个人。
祝一切顺利!
谢谢
Hitesh
亚马逊的所有练习题
!
推荐阅读
- 亚马逊面试经验分享|S5
- PHP Ds Sequence filter()函数使用示例
- 算法(如何实现有向无环图(DAG)的拓扑排序())
- 雅虎面试经验分享和解读|S1
- 雅虎面试经验分享和解读|S2
- win8.1激活工具KMSpico的运用图文详细教程
- 一键激活Windows 8与Office 2013的工具Toolkit运用办法详细说明
- 迷你版KMS激活win8.1系统的图文详细教程
- 激活win8系统的3大秘方