我在亚马逊的朋友推荐我做这份工作。人力资源部与我联系, 经过长时间的延迟(1个月), 我安排了一次电话面试。
第一轮:(电话面试)– 1小时
共享了一个屏幕(记事本), 我将在其中编写代码并进行其他粗略的工作。我当时正在和他通话。
- 给定n个楼梯, 我们一次可以走2到3步。有多少种方法可以爬楼梯?问题很简单。我很快就能回答。计算到达第n个楼梯的方法
- 给定一个数组, 其相邻数字的绝对值之差为1。给出了一个数字, 我们必须对其进行搜索(他们不希望平凡的线性搜索O(n))。我能够很快找出算法。
- 给定时间hh:mm格式。我们找到了大时针和分针之间的角度。我花了一些时间找出公式, 然后在屏幕上向面试官展示了公式的推导。
- 这是一个与测试有关的问题。亚马逊网站(某些特定功能)前一天运行良好, 但由于某些原因, 该功能运行缓慢, 客户抱怨不已。我不得不告诉我如何调试它。
面试官对我的编码技巧印象深刻, 但对我的测试技巧印象不那么深(我猜:P)。无论如何, 我接到了下回合的电话。曾经有四他们在海得拉巴本身。亚马逊照顾了所有的旅行和住宿(真棒:D)
第二轮:(软件开发经理1):45分钟
提出类似的问题:
- 关于我自己并通过我的简历
- 为什么我准备好进行测试(因为我的简历显示了开发人员的个人资料)
- 一年的工作以及如何解决它面临着最大的挑战。
- 测试问题:给定一个带有文本框的网页, 我们可以在其中编写要显示的html组件并将其显示在屏幕上。我必须对此进行测试, 还必须为其中一个测试用例编写代码。
- 我在很短的时间内就学会并应用了一些新工具/技术。
第三回合(软件开发经理2):1小时
提出类似的问题:
- 关于我自己并通过我的简历
- 为什么我准备进行测试(因为我的简历显示了开发人员的个人资料)
- 关于我的项目, 我在其中的角色。那个面试官正在深入研究其中使用的工具/技术。无论如何我都能很好地解释。
- 测试问题:测试一个API(来自我的一个项目(测试案例))。
- 测试地图是否正常运行。
第三回合:(软件开发工程师):1小时
编码问题(自动对焦钉):
- 将二叉搜索树转换为大和树。询问递归和迭代解决方案。
- 以螺旋顺序打印矩阵。
- 给定两个数组。一个用于任务(流程), 每个元素都描述了运行任务所需的核心数量。第二个数组是一个CPU数组, 其中每个元素都描述了其中的内核数量, 我们必须知道可以分配多少个最大任务数。示例:任务:[3, 5, 7], 核心:[1, 3, 5]。在这里, 只能将任务0和1分配给CPU 1和2。因此, 答案= 2。
第4轮:(质量保证工程师):1小时
- 设计一个框架来测试Amazon的Cart服务。我们可以添加, 删除和更新购物车中的元素。
- 编写单元测试用例以测试Amazon中的添加地址页面。
- 我将向开发人员提供什么建议作为SDET, 以及我将采取哪些预防措施。
好吧, 猜猜是什么, 我未被选中担任这个角色。我的编码技能给他们留下了深刻的印象, 而我的测试技能给他们留下了深刻的印象。很公平 !
给有志者的提示:
学习极好(大多数是数据结构部分, 在Algo中主要是DP部分)。经历亚马逊的其他面试经历。
对于测试, 我没有太多想法。