📜  亚马逊面试经历 | SDE-1(校外,1年经验)(1)

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

亚马逊面试经历 | SDE-1(校外,1年经验)

本文主要介绍我在亚马逊的SDE-1面试过程及问题。

面试流程

一共分为五轮面试,分别是:

  1. HR面试
  2. 技术面试
  3. 技术面试
  4. 技术面试
  5. Bar Raiser 面试

其中,第二、三、四轮是技术面试,分别由3位不同的面试官负责。

HR面试

在HR面试中,主要是试用期、薪资、福利等方面的谈判。此外,也会简单了解一下我的求职背景和个人情况。

技术面试

技术面试分为三轮,涵盖了算法、数据结构、系统设计等多个方面。每轮都有不同的面试官和不同的面试题目。

面试题目

下面是我在技术面试中遇到的问题:

  1. 给定一个整数数组,求数组中是否存在两个数之和等于target。
  2. 设计一个算法,判断一个字符串是否由另一个字符串旋转得到。
  3. 实现一个LRU缓存机制。
  4. 设计一个图片管理系统,支持上传、下载、删除图片等功能。

解题思路

  1. 使用哈希表,时间复杂度为O(n)。
  2. 将字符串复制一遍拼在一起,判断旋转后的字符串是否包含原字符串。
  3. 使用双向链表和哈希表,双向链表用于维护LRU顺序,哈希表用于O(1)查询。
  4. 使用分布式文件系统,如HDFS,将图片分片存储,存储元信息,使用数字签名防止篡改。
Bar Raiser面试

最后一轮是Bar Raiser面试,主要是评估我的领导能力、沟通能力、代码质量以及价值观。

面试总结

亚马逊的面试相对来说比较难,需要准备充分。面试题目主要涉及算法、数据结构、系统设计等多个方面,需要有深入的理解和熟练的操作能力。此外,还需要具备良好的沟通能力和团队协作能力。

总之,通过亚马逊的面试,我深刻地体会到了自己的不足之处,并不断努力提升自己的技能和能力。