📜  亚马逊面试经历 |第 396 组(用于 SDE-2)(1)

📅  最后修改于: 2023-12-03 15:21:43.592000             🧑  作者: Mango

亚马逊面试经历 | 第 396 组(用于 SDE-2)

背景

亚马逊于近期邀请本人参加软件开发工程师二级职位(SDE-2)的面试。下面是我的面试经历。

面试环节
一面
  1. 自我介绍,介绍项目经验。
  2. 问题:如何确保分布式系统中数据一致性?
  3. 问题:如何判断一个二叉树是对称的?
  4. 设计题: 设计 LRUCache 的实现。
二面
  1. 自我介绍,介绍项目经验。
  2. 问题:如何解决代码中的“死锁”问题?
  3. 设计题: 设计一个跟踪日志实时更新的系统。
三面
  1. 自我介绍,介绍项目经验。
  2. 问题:如何确保数据的安全性?
  3. 问题:如何保证多个线程同时并发时代码的正确性?
  4. 设计题: 设计一个分布式存储系统。
四面
  1. 自我介绍,介绍项目经验。
  2. 问题:如何判断并优化系统的瓶颈?
  3. 问题:你最近使用过哪些新技术?
  4. 设计题: 设计一个支持并发访问,可扩展性极高的消息队列系统。
总结

亚马逊的面试过程通常会包含算法、编程题、设计题等多个环节。需要应聘者对基础算法、操作系统、数据库、网络等各种知识都有所掌握。同时在设计题中,应聘者需要考虑到系统的可扩展性、高并发、安全性等因素。