Amazon SDE-1 | Bangalore | April, 2022 | Selected

amazon logo
amazon
SDE-1BangaloreOffer
April 15, 20223 reads

Summary

I recently interviewed for an SDE-1 position at Amazon in Bangalore, undergoing several technical rounds and a Bar Raiser interview. I successfully cleared all rounds and received an offer in April 2022.

Full Experience

Technical Interview Round 1 (January 2022)

My first technical interview round focused primarily on Data Structures & Algorithms. I was asked to solve two well-known LeetCode problems: finding an element in a rotated sorted array and determining the lowest common ancestor in a binary tree. This round did not include any Amazon Leadership Principle (LP) questions.

Technical Interview Round 2 (January 2022)

The second technical round continued with coding challenges, alongside a behavioral question. The coding problems involved finding the median of two sorted arrays and designing a data structure that supports insert, delete, search, and getRandom operations in average O(1) time. For the behavioral segment, I was prompted to discuss a challenging problem I had solved in a previous project, detailing my approach and the resolution.

Bar Raiser Round (April 2022)

The Bar Raiser round was a comprehensive assessment combining Leadership Principle questions and a complex LeetCode problem. The LP questions probed into experiences where I had to work under a tight deadline and situations where I took a calculated risk, focusing on my decision-making process and learning outcomes. The coding problem posed was Word Ladder.

After successfully navigating through these challenging rounds, I was thrilled to receive an offer for the SDE-1 position.

Interview Questions (8)

Q1
Search in Rotated Sorted Array
Data Structures & AlgorithmsMedium

Given a sorted array that has been rotated at some pivot unknown to you beforehand, search for a given target value. If the target is found, return its index, otherwise return -1. You may assume no duplicate elements exist in the array. Your algorithm's runtime complexity must be in the order of O(log n).

Q2
Lowest Common Ancestor of a Binary Tree
Data Structures & AlgorithmsMedium

Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. According to the definition of LCA on Wikipedia: “The lowest common ancestor is defined between two nodes p and q as the lowest node in T that has both p and q as descendants (where we allow a node to be a descendant of itself).”

Q3
Median of Two Sorted Arrays
Data Structures & AlgorithmsHard

Given two sorted arrays nums1 and nums2 of size m and n respectively, return the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).

Q4
Insert Delete GetRandom O(1)
Data Structures & AlgorithmsMedium

Implement the RandomizedSet class: RandomizedSet() Initializes the RandomizedSet object. bool insert(int val) Inserts an item val into the set if not present. Returns true if the item was not present, false otherwise. bool remove(int val) Removes an item val from the set if present. Returns true if the item was present, false otherwise. int getRandom() Returns a random element from the current set of elements (uniform probability). Implement insert, remove, and getRandom operations such that each takes O(1) average time complexity.

Q5
Discuss a Project Problem
Behavioral

Tell me about a challenging problem you encountered in one of your projects and how you approached solving it. What was the outcome?

Q6
Working Under Tight Deadlines
Behavioral

Tell me about a time you had to work under a tight deadline. How did you manage your time and priorities? What was the outcome?

Q7
Taking Calculated Risks
Behavioral

Describe a situation where you had to take a calculated risk. What factors did you consider? What was the outcome, and what did you learn?

Q8
Word Ladder
Data Structures & AlgorithmsHard

A transformation sequence from word beginWord to word endWord using a dictionary wordList is a sequence of words beginWord -> s1 -> s2 -> ... -> sk -> endWord such that: Every adjacent pair of words differs by a single letter. Every si for 1 <= i <= k is in wordList. beginWord does not need to be in wordList. Given two words, beginWord and endWord, and a dictionary wordList, return the number of words in the shortest transformation sequence from beginWord to endWord, or 0 if no such sequence exists.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!