亚马逊面试经历 |第 152 套(Kindle Team SDE-1)
最近我参加了钦奈地区 Kindle 团队的 Amazon SDE 面试。 Kindle 团队已抵达班加罗尔开车。
我已经打了8轮
问题-答案如下
R-1) 笔试 1:
询问了三个代码:
1)查找给定的LinkedList是否为回文
2)查找给定的二叉树是否为二叉搜索树
3)创建正则表达式和字符串匹配程序?和 *,在哪里。 * 表示任何 null 或字符可能会出现 *。和 ?表示一个或多个前一个字符可能出现在字符串中。
例子
输入 :
AM*AZO?N*,亚马逊
AM*AZO?N*、ABAZOO
两者都按照 ?和 *。
在从流程中删除几个候选人后,他们进行了第二轮书面。
R-2 ) 笔试 2:
1) 斯托克价格以数组形式给出。找出我可以在多长时间内买卖股票以获得最大利润。
我们需要先解释一下我们的方法,然后再star写代码。
– 在这一轮之后,大约有 20 名候选人离开了。
R-3) 面对面第一轮:
他们讨论了所有这 4 个问题以及我为什么选择写这个答案,对问题进行了一些修改,看看你是否可以更深入地思考,或者改变了几个条件,他们要求重新设计/重写答案。
R-4) 面对面第 2 轮:
Q1)一个系统的类图(不记得问题)
Q2)在数组中查找Leader(Leader是指高于所有索引高于元素的数字的元素)
解决方法 从后面遍历数组找到这样的元素(简单方法)
Q3) 将 K 个已排序的链表排序为一个(编写 sudeo 代码)
然后他告诉我给出逻辑来解决问题而不使用辅助数组(结果数组)
我使用就地方法,仅在一个链表中搜索和存储节点。
R-5) 面对面第 3 轮:
只问了一个问题:旋转阵列“D”次。
发现不同的策略,他对我的另一种基于数组大小 N 和 D 找到新数组位置的方法印象深刻。
R-6) 面对面第 4 轮:
问题来自不同的主题,例如
-操作系统基础
如果我使用 fork(),就像 fork、子进程创建和输出一样。
什么是死锁,编写示例 C 代码来创建死锁。
什么是互斥锁等。
SQL 基础。
查询中使用的数据结构,
示例查询,例如查找 Manger 的姓名和加入的基础知识
-其他一般问题
谷歌搜索引擎的工作原理。 Query 去哪里他们的服务器,数据存储等
当你点击网站地址时会发生什么。
-设计游戏。
GAME 就像两个玩家在打架(有点像街头霸王)并为此游戏设计类图和方法,我可以认为任何功能主义者(如健康、力量、朋友的帮助等)除了他提到的任何额外的东西。
– 提供 API,此 API 服务于不同的客户端,
现在一个客户有要求改变功能,但其他客户不需要这样的功能,你将如何设计你的系统。
– OOPS 基础的讨论如下
静态,类可以被保护或不被保护,重载和覆盖它们的区别和实现,
讨论的软件模式,如工厂和抽象工厂
单例以及如何实现它。
最后一个问题是,如果我想存储学生数据,以便一些学生学习物理,一些学生学习化学,一些学生同时学习。我还想知道学生的所有详细信息,标记,姓名等。我将以哪种方式实现这个系统,将使用哪种数据结构,以及哪种设计模式。
在这一轮之后,我被告知要回家,招聘经理一轮将在钦奈现场进行,我被告知。
一个月没有安排我的查房。
有一天,我得到了零钱,可以通过电话给项目经理一轮(他们说高级经理将进行现场轮次,然后将进行人力资源轮次)
第 7 轮)招聘经理轮。
电话里他问我第一个问题
Q1)给定的数组是0和1,所有连接的1形成岛。在给定的数组中找到最大尺寸的岛,
我提供了工作代码,然后他让我优化并再次编写代码。
Q2) 设计LRU系统。我已经解释过了
并且还提交了类图和伪工作代码。
又是 20 天我没有接到 HR 的电话,当我过去给他发邮件时,他只是回答说我的候选人资格被搁置,因为高级经理没有空来参加我的下一轮。
今天又接到电话说我被拒绝了。因为招聘经理不相信我的全面方法,
我仍然不知道出了什么问题,因为给 HM 的两个代码都在工作。