Amazon Interview Experience for SDE Internship | Off-campus (Selected)

Ayushma Sharma
3 min readOct 20, 2021

--

I recently received the internship offer from Amazon through Amazon WoW program. I am here to share my experience throughout the hiring process.

Number of Rounds : There were overall 3 rounds conducted for two months internship. 2 Online Assessments and 1 Technical Interview.

Round 1 (Online Assessment) : This round was of 1 hour 30 minutes. There were 9 sections in this test:

  • Hands-on Programming (1 Intermediate Coding Question)
  • Data Structures (5 MCQs)
  • Algorithms (5 MCQs)
  • Linux (5 MCQs)
  • Pseudo Code (5 MCQs)
  • Networking (5 MCQs)
  • Software Testing (5 MCQs)
  • Software Testing Methodologies (5 MCQs)
  • Database Queries (5 MCQs)

Round 2 (Online Assessment) : The first round was eliminatory in nature, those who cleared the first round, appeared for the second one.

The test consisted of two coding questions, some debugging questions and some behavioral questions.

Those who cleared the second round were called for the interviews.

Round 3 (Technical Interview) : The interview was conducted on Amazon Chime platform. There were two interviewers and they asked me two coding questions. This round lasted for around 1 hour.

Given an m x n grid where each cell can have one of three values:

  • 0 representing an empty cell,
  • 1 representing a fresh orange, or
  • 2 representing a rotten orange.

Every minute, any fresh orange that is 4-directionally adjacent to a rotten orange becomes rotten.

Return the minimum number of minutes that must elapse until no cell has a fresh orange. If this is impossible, return -1.

Example:

Input: grid = [[2,1,1],[1,1,0],[0,1,1]]
Output: 4

Given an integer n, return the number of structurally unique BST's (binary search trees) which has exactly n nodes of unique values from 1 to n.

Example:

Input: n = 3
Output: 5

I was able to code both the questions successfully. I gave the BFS approach for the first question. For the second question, I first suggested the recursive approach and coded that, after that I suggested the dynamic programming approach and coded that as well. They told me to do a dry run of the code in both the questions, asked some follow up questions and asked complexities as well. My interview went well and both the interviewers were satisfied with my approach and code.

Result : Selected 😊

Some Tips to give you an edge :

  1. Be very interactive and confident during the interviews. Show your thought process, discuss various approaches and think out loud all the time (so that even when questions are easy they will catch your thinking with greater importance).
  2. When asked a question, first clarify the question, find edge cases and their expected output and ask for constraints.
  3. Do not directly jump to optimized solution. Always suggest a brute force solution first, then optimize it.
  4. Always tell the time and space complexity of your solution.

You can connect with me on LinkedIn and Twitter, or you can drop me a mail at ayushmasharma63@gmail.com

--

--