Open In App

Amazon SDE Sheet: Interview Questions and Answers

Last Updated : 09 Feb, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

Amazon SDE sheet is the collection of the most important topics or the most frequently asked question in Amazon Software Development Engineer Interviews. Here we have collected all the interview questions and answers to land a job on Amazon

Amazon SDE Sheet

Amazon is an American multinational technology company that focuses on e-commerce, cloud computing, digital streaming, and artificial intelligence. To get employed by amazon is a dream for many. One must have clear Data Structure concepts, good communication skills, and analytical thinking and should be able to solve real-world problems to crack top companies like Amazon. Steps to follow to get a chance at amazon are:

  • Online Application
  • Online test: (60 mins) 2 coding questions of medium difficulty level. The Amazon online test (20 questions) is based on OOPs, DBMS, operating systems, data structures, and algorithms.
  • Technical Interview 1: Project discussions, coding questions based on DS algorithms, and quizzes. It basically tests real-world problem-solving skills.
  • Technical Interview 2: Questions of relatively higher difficulty level (mostly DS and algorithms based)
  • Bar raiser round: Behavioral questions and project discussions. Some technical questions are followed by an assessment of leadership quality and cultural fit.

Roadmap to Amazon SDE

 
 

Recommended Practice

For one to land a job at Amazon, he/she must have clear concepts of DSA and good practice of questions on sorting, array, string, Linked List, searching, sorting, stack, queue, tree, graph recursion backtracking dynamic programming, etc. Here through this Amazon SDE sheet, we are providing most of the coding questions which frequently pop up in amazon interviews topic-wise. This collection of interview questions will help you prepare better for your interview.

Computer Fundamentals: There are three focused computer subjects, on the basis of those subjects MCQs will be there, we have designed top MCQs for that, so you can easily test your knowledge on those subjects.

Language Based Questions: They can be asked language-based questions, to check your grasp of the language you used for the coding round.

 

 

 

Data Structure & Algorithms

Array: An array is a collection of items stored at contiguous memory locations. The idea is to store multiple items of the same type together.

Articles Practice
Largest Sum Contiguous Subarray

Solve

Search in a row-wise and column-wise sorted matrix

Solve

Print a given matrix in spiral form

Solve

Program for array rotation

Solve

Trapping Rain Water

Solve

Count pairs with given sum

Solve

Find the subarray with least average

Solve

Convert array into Zig-Zag fashion

Solve

Find duplicates in an array

Solve

Find a triplet that sum to a given value

Solve

String: Strings are defined as an array of characters. The difference between a character array and a string is the string is terminated with a special character ‘\0’.

Articles Practice
Validate an IP Address

Solve

Multiply Strings

Solve

Implement Atoi

Solve

Check if the string is rotated by two places

Solve

Permutations of a given string

Solve

Longest Repeating Subsequence

Solve

Roman Number to Integer

Solve

Length of the longest substring

Solve

String formation from substring

Solve

Check whether two strings are an anagram of each other

Solve

Look-and-Say Sequence

Solve

Remove minimum number of characters so that two strings become anagram

Solve

Find the smallest window in a string containing all characters of another string

Solve

Length of the longest substring without repeating characters

Solve

Linked List: Linked List is the data structure that can overcome all the limitations of an array. A Linked list is a linear data structure, in which the elements are not stored at contiguous memory locations, it allocates memory dynamically.

Articles Practice
Reverse a linked list

Solve

Segregate even and odd nodes in a Linked List

Solve

Detect loop in a linked list

Solve

Delete all occurrences of a given key in a linked list

Solve

Remove loop in Linked List

Solve

Nth node from the end of linked list

Solve

Merge K sorted linked lists

Solve

Flatten a binary tree into linked list

Solve

Add two numbers represented by linked lists

Solve

Function to check if a singly linked list is palindrome

Solve

Clone a linked list with next and random pointer

Solve

Delete without head pointer

Solve

Given a linked list of 0s, 1s and 2s, sort it

Solve

Intersection of Two Linked Lists

Solve

Searching: Searching Algorithms are designed to check for an element or retrieve an element from any data structure where it is stored.

Articles Practice
Search an element in a sorted and rotated array

Solve

Square root of an integer

Solve

First and last occurrences of x

Solve

Find a peak element

Solve

Find the smallest positive number missing from an unsorted array

Solve

Allocate minimum number of pages

Solve

Counting elements in two arrays

Solve

Median of two sorted arrays of different sizes

Solve

Sorting: A Sorting Algorithm is used to rearrange a given array or list of elements according to a comparison operator on the elements. The comparison operator is used to decide the new order of elements in the respective data structure.

Articles Practice
k largest(or smallest) elements in an array

Solve

Sort an array of 0s, 1s, and 2s

Solve

Count Inversions in an array

Solve

Merge Without Extra Space

Solve

Minimum Platforms

Solve

Quick Sort

Solve

Heap Sort

Solve

Merge k Sorted Arrays

Solve

Overlapping Intervals

Solve

Stack: A stack is a linear data structure in which elements can be inserted and deleted only from one side of the list, called the top. A stack follows the LIFO (Last In First Out) principle.

Articles Practice
Check for Balanced Brackets in an expression (well-formedness) using Stack

Solve

Sort a stack using recursion

Solve

The Celebrity Problem

Solve

Next Greater Element

Solve

Queue using two Stacks

Solve

Queue: A queue is a linear data structure in which elements can be inserted only from one side of the list called rear, and the elements can be deleted only from the other side called the front. The queue data structure follows the FIFO (First In First Out) principle.

Articles Practice
Stack using two queues

Solve

Connect n ropes with minimum cost

Solve

Minimum time required to rot all oranges

Solve

First negative integer in every window of size k

Solve

Reversing a Queue

Solve

Tree: A tree is non-linear and a hierarchical data structure consisting of a collection of nodes such that each node of the tree stores a value, a list of references to nodes (the “children”).

Articles Practice
Inorder Traversal

Solve

Preorder Traversal

Solve

Kth largest element in BST

Solve

Left View of Binary Tree

Solve

Right View of Binary Tree

Solve

Check for BST

Solve

Diameter of a Binary Tree

Solve

Boundary Traversal of binary tree

Solve

Height of Binary Tree

Solve

Lowest Common Ancestor in a Binary Tree

Solve

Binary Tree to DLL

Solve

Root to leaf path sum

Solve

Reverse Level Order Traversal

Solve

Construct Tree from Inorder & Preorder

Solve

ZigZag Tree Traversal

Solve

Kth largest element in BST

Solve

Serialize and Deserialize a Binary Tree

Solve

Graph: A Graph is a non-linear data structure consisting of nodes and edges. The nodes are sometimes also referred to as vertices and the edges are lines or arcs that connect any two nodes in the graph.

Articles Practice
BFS of Graph

Solve

DFS of Graph

Solve

Find the number of islands

Solve

Topological sort

Solve

Steps by Knight

Solve

Strongly Connected Components (Kosaraju’s Algo)

Solve

Alien Dictionary

Solve

Dijkstra Algorithm

Solve

Detect Cycle in a Directed Graph

Solve

Detect cycle in an undirected graph

Solve

Trie: Trie is an efficient information retrieval data structure. Using Trie, search complexities can be brought to optimal limit (key length).

Articles Practice
Trie Insert and Search

Solve

Trie Delete

Solve

Print unique rows in a given Binary matrix

Solve

Counting the number of words in a Trie

Solve

Longest Common Prefix using Trie

Solve

Minimum XOR Value Pair

Solve

Palindrome pair in an array of words (or strings)

Solve

Heap and Hash: A Heap is a special Tree-based data structure in which the tree is a complete binary tree. Heap and hash is an efficient implementation of a priority queue. The linear hash function monotonically maps keys to buckets, and each bucket is a heap.

Articles Practice
Minimum Cost of ropes

Solve

k largest elements

Solve

Kth element in Matrix

Solve

Find median in a stream

Solve

Kth largest element in a stream

Solve

Rearrange characters

Solve

Nearly sorted

Solve

Nuts and Bolts Problem

Solve

Check if two strings are k-anagrams or not.

Solve

Sort an array according to the other

Solve

Swapping pairs make sum equal

Solve

Smallest distinct window

Solve

Find first repeated character

Solve

BitMagic: Bit stands for binary digit. A bit is the basic unit of information and can only have one of two possible values that is 0 or 1.

Articles Practice
Find the Missing Number

Solve

Power of 2

Solve

Reverse Bits

Solve

Maximum subset XOR

Solve

Check set bits

Solve

Minimum X (xor) A

Solve

Longest Consecutive 1’s

Solve

Number of 1 Bits

Solve

Recursion and Backtracking:

  • Recursion: The process in which a function calls itself directly or indirectly is called recursion and the corresponding function is called a recursive function.
  • Backtracking: Backtracking is an algorithmic technique for solving problems recursively by trying to build a solution incrementally, one piece at a time, removing those solutions that fail to satisfy the constraints of the problem at any point in time (by time, here, is referred to the time elapsed till reaching any level of the search tree).
Articles Practice
Write a program to print all permutations of a given string

Solve

Rat in a Maze Problem – I

Solve

Josephus problem

Solve

Combination Sum

Solve

Partition Equal Subset Sum

Solve

N-Queen Problem

Solve

Shuffle integers

Solve

Hamiltonian Path

Solve

Find the string in grid

Solve

Pascal Triangle

Solve

Solve the Sudoku

Solve

Largest number in K swaps

Solve

Dynamic Programming: Dynamic Programming is mainly an optimization over plain recursion. Wherever we see a recursive solution that has repeated calls for same inputs, we can optimize it using Dynamic Programming.

Articles Practice
0 – 1 Knapsack Problem

Solve

Partition Equal Subset Sum

Solve

Coin Change

Solve

Longest Common Subsequence

Solve

Stock buy and sell

Solve

Interleaved Strings

Solve

Edit Distance

Solve

Stickler Thief

Solve

Longest Common Substring

Solve

Number of Coins

Solve

Egg Dropping Puzzle

Solve

Word Break

Solve

Wildcard Pattern Matching

Solve

Total Decoding Messages

Solve

Jump Game

Solve

Special Keyboard

Solve

Longest Palindromic Subsequence

Solve

After qualifying the Online test you have to face 2 technical interviews, where they asked about Data Structure, algorithms, and different kinds of puzzles. Technical rounds are face-to-face algorithmic rounds in which candidates are presented with 2-4 questions, all from data structures. The most commonly asked DSs are the matrix, binary tree, BST, and Linked list. The second technical round is more difficult and more questions from Trees, BST, and Graph are asked. One should have a clear knowledge of tree-based recursion, and the standard questions based on it are a must.

P.S: After solving all the problems mentioned above you can answer the questions which will be asked in these rounds.

Puzzles

Puzzles are one of the ways to check your problem-solving skills. These are tricky questions that let you think logically. Amazon will test your problem-solving skills through the puzzles as well. Try to solve these 20 Puzzles Commonly Asked During SDE Interviews

Project Discussion

Thoroughly revise all the work you have done till now in your projects. The grilling about projects can sometimes be very deep. Mention only those topics where you think you are fine to be grilled upon. If you don’t have any project they will not ask about it, but better to have some projects, it involves questions like what’s new in your project if you have created a basic clone, or what’s your input followed by questions based on your technology stack.

If you haven’t made a project then take an idea from GFG Projects and start working on it.

Note: If you have a project on AWS then you have to be confident enough to provide sufficient answers of each question,

To let you know in details about Amazon Recruitment Process, we have a article on that too so you can go through this post:
https://www.geeksforgeeks.org/amazon-recruitment-process/



Like Article
Suggest improvement
Next
Share your thoughts in the comments

Similar Reads