首先是一面: 在收到邮件后的一周内,收到了答题平台的邀请,一共有三道题,两道动态规划,一道类似于模拟的字符串处理 得分是500/750
在两周后 进行二面, 首先问了一些java的语言语法特性,然后问了工厂设计模式与适配器设计模式以及应用的地方,然后根据这个出了一个OOD design的题目,问清楚specification后,进行了一个简单doordash的编码设计, 接下来问了一些关于QPS的计算
Amazonjava软件开发面试题
java OOD design : Doordash
给定一个机票集合,如何选出最短的航班
实现一个LFU缓存
一共三轮,每轮一小时,前两轮背靠背,休息一小时,到第三轮。每一轮面试官都不一样,有印度人,国人以及美国人。面试风格会有不同。
面试官问的面试题:Amazonsoftware engineer面试题
第一轮
BQ:
Meet an obstacle and how you solve it. What’s the impact. Out of responsibility. OOD:
设计一个游戏,两个人玩, 每个人一开始安排好自己的舰船位置,然后后面每一轮互相射
击,直到有一个人所有的舰船位置都被射到
bq 讲了半个小时,然后 OOD 讲得很详细,最后一小时到了,没时间问问题。
第二轮
BQ
Criticized feedback
Simplify a complex work
Coding:
Unique Paths 一开始用 recursive function + cache 写,面试官让候选人分析复杂度,候选人说由于 cache
了结果,所以对于一个不同的 position 每次只会调用函数一次,所以一共调用了 MN 次,而
每个函数内部除了递归之外只有常数操作,所以一共的复杂度就是 MN。可能是候选人的解
释面试官没明白或者解释的不清楚,面试官不是很满意。于是又用迭代的方法写了一遍,用
了个二位矩阵做 DP。然后又讲了一遍时间复杂度和空间复杂度,然后面试官问了一个 follow
up, 问是否可以优化空间复杂度,不要用另外的矩阵存结果,直接在原来的 grid 上本地操
作。反问了问题,对新人最大的挑战是什么
第三轮 manager
BQ:
Out of responsibility. Impact of it. Learn new things during work. Coding:
Number of Islands
讲了复杂度,时间空间都是 MN
反问问题,像面试官这样的 manager 对新人的期待是什么
一面:最长字符串匹配,分别看了有重复字符串和无重复字符串的匹配。
二面:题目:给定一个整形数组,数组是无重复随机无序的,要求打印出所有元素左边第一个大于该元素的值。
三面:
第一道题是leetcode原题:Minimum Window Substring。不是特别难,但是面试官会不断和面试者交流 有什么想法之类的。
第二道题,调整一棵二叉树,调整后,要求所有节点的右子树的最大值大于左子树的最大值。
AmazonJAVA开发工程师面试题
1.(系统设计)
设计一个微博系统,用户之间可以互相关注,
如果 A关注了B,B关注了C
那么 A间接关注了C且 A与C之间的度为1
然后系统有一个功能 输入俩用户 输出他俩之间的 度
如何设计系统 包括数据库,最短路算法都陈述一遍即可
2.(算法题)leetcode原题 Longest Increasing Path in a Matrix
a very usual question,just try to solve it recursively
其实还问了我TCP中的’滑动窗口’,我说那不是大二学的嘛这都4年多了中间也没看过早就忘了~~然后就拉倒了人家没问
software engineer面试经验(boston) - Amazon
2020-06-09 | 猎头
software engineer面试经验(西雅图) - Amazon
2022-03-30 | 内部推荐
2019-05-08 | 校园招聘
2016-03-09 | 网上申请
最后更新时间:2022-03-30