亚马逊 2022 年暑期实习正式批笔试+面试经过
2022/3/1 笔试
笔试需要在收到邮件后的 48 小时内完成,分为两部分:
Coding Test (2 problems, 70 mins):关键代码模式,不用自己处理输入输出
Given two strings
s1
ands2
, find the minimum number of characters that are needed to be appended to the end ofs1
so thats2
is a subsequence ofs1
.class Solution { public int solve(String s1, String s2) { if (s1.equals(s2)) { return 0; } // Find the longest prefix of s2 in s1 first, // then the answer is the number of the remaining characters of s2 // that are not in this prefix. int i = 0; for (int j = 0; i < s2.length(); i++) { for (; j < s1.length() && s1.charAt(j) != s2.charAt(i); j++); if (j == s1.length()) { break; } j++; } return s2.length() - i; } }
Given a binary 2D array, which consists of 0 and 1, find the maximum greyness among all the cells. The greyness of a cell is computed by the formula , where , , , and represent the number of 1s in the ith row, the number of 1s in the jth column, the number of 0s in the ith row and the number of 0s in the jth column respectively.
- 这一题比上一题还简单,把题目读懂之后就能写
class Solution { public int maximumGreyness(int[][] mat) { int n = mat.length; int m = mat[0].length; // Count the number of 1s in each row. int[] row = new int[n]; // Count the number of 1s in each column. int[] col = new int[m]; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (mat[i][j] == 1) { row[i]++; col[j]++; } } } // Compute the greyness of each cell and find the max one. int res = Integer.MIN_VALUE; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { res = Math.max(res, (row[i] + col[j]) - ((m - row[i]) + (n - col[j]))); } } return res; } }
- Performance Fit Assessment(就是一些行为测试题)
笔试提交后过了几天,3/7 的时候 HR 打电话约面试时间。
2022/3/11 16:00-17:00 一面
自我介绍
介绍项目,面试官反问一些问题
- 负责了哪些后端的功能模块
- 项目中的技术难点、一些业务流程
- MySQL 的表级锁
- 读取数据的线程和写入数据的线程会发生冲突吗
算法题:347. Top K Frequent Elements
- 写完之后分析时间复杂度
2022/3/11 17:00-18:00 二面
算法题:1143. Longest Common Subsequence
写完之后面试官说没想到我做得这么快,我说因为这都是很经典的题目😂,然后就又出了两个 follow-up,还是经典题:
- 返回 LCS 本身,而不是长度
- 寻找 longest common substring
介绍项目,简单问了一些问题
反问:工作内容、技术栈
- 供应链部门,直到这时我才知道面的是什么部门,因为亚马逊官网上不能根据部门定向投递
- 开发平台为 AWS,主要用 Java,工作中可能会有前端的内容
2022/3/14 OC
HR 问了一下什么时候入职,然后介绍了今年暑期实习的薪资情况等等,聊了大概半小时。
总结
- 面试体验很好,面试官都很 nice,不会让人觉得气氛很紧张
- 感觉自己这次应该比较幸运,从笔试到面试都没有遇到什么刁钻的题目
- 做算法题的时候不光要追求正确解、最优解,也要注意编码风格,二面的面试官一直夸我说我写的代码很好看😂
因为个人的一些喜好,我一直都比较倾向于去外企工作,所以很高兴能有亚马逊的 offer,目前已经和 HR 回复说确定接 offer 了~~ 祝大家都能早日拿到心仪的 offer,加油!
#2022春招暑期实习##实习##笔经##亚马逊#