2022亚马逊SDE暑期实习提前批笔试+面试
2021.12亚马逊暑期实习提前批开始(我是2023届) 笔试题目是英文的,面试全中文。
笔试
2021.12.6笔试
1、给两个数组和一个整数:
- 第一个数组answered,answered[i] 表示第i门课已经回答了answered[i]个问题
- 第二个数组needed,needed[i]表示第i门课总共需要回答needed[i]个问题才能通过这门课
- 整数q,表示剩余时间还能回答q个问题
要求计算最多能通过几门课?
比如:answered=[2,4],needed=[4,5],q=1。 表示第一门课需要回答4个问题才能通过,第二门课需要回答5个问题才能通过。 现在第一门课已经回答了2个问题,第二门课已经回答了4个问题。 剩余的时间还能回答一个问题。 所以,这一个问题用来回答第二门课的话,可以通过一门课。
直接贪心解决。
2、给定一个字符串,可以在任何位置把它切分成两个子串,前面的子串叫prefix,后面的子串叫suffix。 计算所有suffix和原始字符串的公共前缀的长度。
比如原始字符串是ababaa, 它的后缀字符串suffix可以是ababaa、babaa、abaa、baa、aa、a。 与原始字符串的公共前缀的长度分别是6、0、3、1、1。 所以加起来答案等于11。
双指针找一下两个字符串的公共前缀即可。
一面
笔试后一周多收到的面试通知,hr约了一周后两个小时的时间,一面和二面连着。 2021.12.24 一面(leader面)
先自我介绍,问了十几分钟简历的项目,让挑一个自己觉得印象深的介绍一下背景和技术实现。 问项目里面有没有涉及到线程并发的点。
string a = “123”; String b = a; 字符串b的内存空间?
如果a = “456”,那现在字符串b是多少?
一个方法传入两个参数,一个是string字符串,一个是自定义类Student的对象, 在函数执行完后,传入的参数是否会发生变化,student对象的属性值是否会改变?
单例设计模式的实现方法,是线程安全的吗?
算法题,只说思路不要求写代码: 在一条无限长的直线上随机位置放两个机器人,机器人受同样的程序控制,每个机器人只有四种行为,向左走n步、向右走n步、插旗子、查看当前位置是否有对方的旗子。该程序如何设计才能让两个机器人相遇。
思路:
- 每秒向右走一步,每走一步插一个旗子
- 判断地上是否有旗子,如果没有,执行步骤1,如果有,执行步骤3
- 每秒向右走N步(N>=2)
- 判断地上是否有旗子,如果没有,执行步骤5,如果有,执行步骤3
- 此时说明机器人超过了另一个机器人,向左回头或者停下来都可以
二面
一面结束后,二面的面试官直接进入会议中开始二面。
二面就是做了两道题:
- 一个字符串,把字符串里面的ab都换成字符c,把b都换成字符ef,要求在原数组进行修改,为了防止下标越界,保证字符串中的ab比b多。
- 有两个递增、等长的数组,求中位数。
结果
2021.12月底 oc,2022.1 offer,2022.8月底谈薪
#亚马逊实习##亚马逊中国##亚马逊2023秋招求职进度交流#