亚马逊的研发岗面试经验总结(一年社招)

亚马逊的研发岗位叫做SDE,我面试的就是这个岗位。

一面:

1 多线程的通信,同步方式。面试官问我 volatile 和 synchronized 的区别。 我从底层原理方面讲了两者的实现方式,主要解释了 synchronized 基于 mutex lock 实现,重 量级锁,需要从用户态切换到内核态。volatile 则是通过插入内存屏障的方式,保证变量读 写的可见性。

2 集合类用过哪些 当时回答的是 ArrayList,linkedlist,hashmap 这类简单的集合类,于是面试官就问了 hashmap 的实现原理,以及和 chm 的比较,不同版本 JDK 的区别。也是比较老生常谈的问题了。

3 JVM 的内存模型 说完内存模型的主要情况,面试官开始问我关于内存泄漏和内存溢出相关的问题,也比较简 单,另外还问了 GC 相关的问题。

4 NIO 和 BIO 的区别 主要就是讲述 BIO 的阻塞式 IO 读写,然后讲一下 NIO 的实现原理,相关类,并且说到 IO 多 路复用的实现方式,底层的 epoll 实现方式等等。

5 算法题:实现一个 LRU 只要求实现超过容量时的缓存淘汰,不用处理缓存超时的问题,所以只要写一个双向链表来 存节点即可。另外,不能直接使用 linkedhashmap 实现,所以直接用 hashmap 作为成员变量, 另外写一个含有容量参数的构造方法即可,也是比较常见的问题了。

6 n 个有序链表合并,怎么实现。 刚开始说的是直接合并,然后优化使用多机进行。后来看了一下,可以用最小堆实现。

二面:

这轮是经理面

1 项目

2 项目的多线程问题

3 项目的架构

4 项目的数据库使用,部署方式,缓存部署方式。

5 项目的实际场景

6 讲一下 JVM 的内存分区

7 秒杀系统架构设计 秒杀系统设计也是一个比较常见的问题了。一般可以分几个方面作答。 首先,前端限制访问时间,以及同一 IP 的访问次数。 然后,第一层的服务做负载均衡,比如使用 nginx,然后服务器做集群。 接着,可以用消息队列做削峰和限流,然后做一层缓存,最后只有少量请求到达数据库。 面试官问 nginx 怎么做高可用,前一层能不能再做负载均衡,我回答的是 nginx 也做集群, 前一层可以用硬件负载均衡或者 dns 服务器做第一层负载均衡。 另外面试官还问了如果有 ddos 攻击怎么办,我刚好想到通过人机验证来避免大量肉鸡的攻 击,于是就说了验证码的方式,面试官也说可以。

8 Redis 的分布式部署 说了 Redis cluster 的部署方式,其实就是分片加哨兵的部署方式,另外 Redis 还可以使用 codis 这类***来做分布式。

9 MySQL 的主从部署,读写分离。 这个就是比较常见的 MySQL 部署方案了,稍微说了一下实现方式就没再问了。

10 cap 定理 讲了一下为什么三者只能选两者,这个问题还是挺绕的。 11 负载均衡怎么做

12 kafka 的作用,持久化,其他问题 kafka 之前看了一些比较好的文章,但是时间一久就忘了,于是我就说了读写性能好,以及 多个副本的部署方式。

13 前端解决一些无效的请求过滤,怎么做

14 有什么 offer,为什么想要换工作,工作不注重稳定性吗?想去哪里工作。

#亚马逊##面经##社招##软件研发工程师#
全部评论
楼主有英文面试吗?同一年工作经验
2 回复 分享
发布于 2021-06-27 10:42
看面经以为是哪个八股大厂
1 回复 分享
发布于 2022-03-27 21:50
....同是一年工作经验。。我是个废物。。。
点赞 回复 分享
发布于 2021-07-09 12:41
哪个组呀。
点赞 回复 分享
发布于 2022-05-13 11:04
请问下 面试是 中文还是英文
点赞 回复 分享
发布于 2021-09-01 21:53
工作不注重稳定性吗?想去哪里工作。  一年走都不稳定了??
点赞 回复 分享
发布于 2021-05-14 14:24
老哥咋样,亚马逊过了么,亚马逊面试是英文么?
点赞 回复 分享
发布于 2021-05-14 00:15

相关推荐

05-14 16:55
广州大学 Java
面试情况25届双非本科,有 ACM 竞赛经历,两段实习(小厂 + 独角兽)。以下为2024年11月到次年5月的春招及其补录面试情况,若对个人秋招经历感兴趣,可查看另一篇置顶文章。通过某区级供水国企汇丰科技:线上行为测评 → Coding 测试 → 线下技术 & HR 面东方财富:一、二轮线上面,三轮线下技术面招银科技:一轮线上技术,二轮、三轮线下技术和HR元戎启行:三轮技术面 + HR 面,一共四面面试挂拼多多:客户端,三轮技术面挂,手撕没撕出来4399:一轮技术面挂微派:一轮技术面挂,手撕没撕出来以下是个人无意向故提前主动终止流程,以免影响其他候选人广州农商银行:线下笔试,一轮面试,...
isjsns:同双非本,最后的总结那块挺赞同的,我们计院的就业数据也就那样,年包二十到四十万的人也有,但少之又少,周围有认识的地信和电子的也有二到四十万的,找的还不错的包括我基本都是春招才找到的,个人是感觉春招机会挺多的,也可能是像楼主一样年初又找了个实习加技术又沉淀了一波的原因,本来秋招结束都想摆了,最后还是熬出来了大家别放弃啊,双非本也有翻身的机会的
点赞 评论 收藏
分享
秋招是应届生求职的关键战役,竞争激烈但机会众多。想要在秋招中脱颖而出,必须提前规划、精准准备。以下是系统化的备战策略,助你高效斩获心仪Offer。   1. 明确目标,精准定位  行业与岗位选择:结合自身专业、兴趣和职业规划,锁定目标行业(如互联网、金融、快消等)及核心岗位(如产品、运营、技术等)。  企业调研:关注目标公司的校招时间、笔试面试风格、企业文化,避免盲目海投。   2. 优化简历,打造个人品牌  一页原则:简历控制在1页内,突出与岗位匹配的经历。   STAR法则:用“情境-任务-行动-结果”结构描述实习/项目经历,量化成果(如“用户增长30%”)。  反复打磨:避免错别字、格式混乱,可借助工具(如超级简历、Grammarly)优化。   3. 笔试刷题,提升应试能力  行测题库:针对互联网/快消等企业的行测题(如数字推理、图形逻辑等)。  专业笔试:技术岗需刷LeetCode、Codeforces;非技术岗需熟悉Case分析框架(如SWOT、4P)。   4. 面试模拟,克服紧张心理  高频问题准备:如“自我介绍”“优缺点”“职业规划”,结合岗位JD定制回答。  群面实战:练习无领导小组讨论,掌握Leader/Timer/Recorder等角色技巧。  模拟面试:找同学或前辈Mock,录制复盘肢体语言和表达逻辑。   5. 信息搜集,抢占先机  校招时间表:关注企业官网、牛客网、应届生BBS,避免错过DDL。  内推机会:通过学长学姐、LinkedIn等渠道争取内推,提高简历通过率。   6. 心态调整,持续迭代  秋招是持久战,被拒很正常。每场面试后记录反馈,优化策略。保持行业动态学习(如36氪、虎嗅),展现求职主动性。  总结:秋招拼的是准备度和执行力。从现在起,每天进步一点,Offer终会水到渠成。
点赞 评论 收藏
分享
评论
6
67
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务