# Must Do Coding Questions for Companies like Amazon, Microsoft, Adobe, …

As the placement season is back so are we to help you ace the interview. We have selected some most commonly asked and must do practice problems for you.

You can also take part in our *mock placement contests* which will help you learn different topics and practice at the same time, simulating the feeling of a real placement test environment.

**Note :** Now you can track your progress of these questions **Must Do Interview Preparation Course**.

Preparing for Product-Based Companies ? Check Out **Must Do Coding Questions for Product Based Companies**

**Topic :**

### Arrays

- Subarray with given sum
- Count the triplets
- Kadane’s Algorithm
- Missing number in array
- Merge two sorted arrays
- Rearrange array alternatively
- Number of pairs
- Inversion of Array
- Sort an array of 0s, 1s and 2s
- Equilibrium point
- Leaders in an array
- Minimum Platforms
- Reverse array in groups
- K’th smallest element
- Trapping Rain Water
- Pythagorean Triplet
- Chocolate Distribution Problem
- Stock buy and sell
- Element with left side smaller and right side greater
- Convert array into Zig-Zag fashion
- Last Index of 1
- Spirally traversing a matrix
- Largest Number formed from an Array

**Solved the above?** Go for some more Questions

### String

- Reverse words in a given string
- Permutations of a given string
- Longest Palindrome in a String
- Recursively remove all adjacent duplicates
- Check if string is rotated by two places
- Roman Number to Integer
- Anagram
- Remove Duplicates
- Form a Palindrome
- Longest Distinct Characters in the string
- Implement Atoi
- Implement strstr
- Longest Common Prefix

**Solved the above?** Go for some more Questions

### Linked List

- Finding middle element in a linked list
- Reverse a linked list
- Rotate a Linked List
- Reverse a Linked List in groups of given size
- Intersection point in Y shaped linked lists
- Detect Loop in linked list
- Remove loop in Linked List
- n’th node from end of linked list
- Flattening a Linked List
- Merge two sorted linked lists
- Intersection point of two Linked Lists
- Pairwise swap of a linked list
- Add two numbers represented by linked lists
- Check if Linked List is Palindrome
- Implement Queue using Linked List
- Implement Stack using Linked List
- Given a linked list of 0s, 1s and 2s, sort it
- Delete without head pointer

### Stack and Queue

- Parenthesis Checker
- Next larger element
- Queue using two Stacks
- Stack using two queues
- Get minimum element from stack
- LRU Cache
- Circular tour
- First non-repeating character in a stream
- Rotten Oranges
- Maximum of all subarrays of size k

### Tree

- Print Left View of Binary Tree
- Check for BST
- Print Bottom View of Binary Tree
- Print a Binary Tree in Vertical Order
- Level order traversal in spiral form
- Connect Nodes at Same Level
- Lowest Common Ancestor in a BST
- Convert a given Binary Tree to Doubly Linked List
- Write Code to Determine if Two Trees are Identical or Not
- Given a binary tree, check whether it is a mirror of itself
- Height of Binary Tree
- Maximum Path Sum
- Diameter of a Binary Tree
- Number of leaf nodes
- Check if given Binary Tree is Height Balanced or Not
- Serialize and Deserialize a Binary Tree

**Solved the above?** Go for some more Questions

### Heap

- Find median in a stream
- Heap Sort
- Operations on Binary Min Heap
- Rearrange characters
- Merge K sorted linked lists
- Kth largest element in a stream

### Recursion

### Hashing

- Relative Sorting
- Sorting Elements of an Array by Frequency
- Largest subarray with 0 sum
- Common elements
- Find all four sum numbers
- Swapping pairs make sum equal
- Count distinct elements in every window
- Array Pair Sum Divisibility Problem
- Longest consecutive subsequence
- Array Subset of another array
- Find all pairs with a given sum
- Find first repeated character
- Zero Sum Subarrays
- Minimum indexed character
- Check if two arrays are equal or not
- Uncommon characters
- Smallest window in a string containing all the characters of another string
- First element to occur k times
- Check if frequencies can be equal

### Graph

- Depth First Traversal
- Breadth First Traversal
- Detect cycle in undirected graph
- Detect cycle in a directed graph
- Topological sort
- Find the number of islands
- Implementing Dijkstra
- Minimum Swaps
- Strongly Connected Components
- Shortest Source to Destination Path
- Find whether path exist
- Minimum Cost Path
- Circle of Strings
- Floyd Warshall
- Alien Dictionary
- Snake and Ladder Problem

### Greedy

- Activity Selection
- N meetings in one room
- Coin Piles
- Maximize Toys
- Page Faults in LRU
- Largest number possible
- Minimize the heights
- Minimize the sum of product
- Huffman Decoding
- Minimum Spanning Tree
- Shop in Candy Store
- Geek collects the balls

### Dynamic Programming

- Minimum Operations
- Max length chain
- Minimum number of Coins
- Longest Common Substring
- Longest Increasing Subsequence
- Longest Common Subsequence
- 0 – 1 Knapsack Problem
- Maximum sum increasing subsequence
- Minimum number of jumps
- Edit Distance
- Coin Change Problem
- Subset Sum Problem
- Box Stacking
- Rod Cutting
- Path in Matrix
- Minimum sum partition
- Count number of ways to cover a distance
- Egg Dropping Puzzle
- Optimal Strategy for a Game
- Shortest Common Supersequence

### Divide and Conquer

- Find the element that appears once in sorted array
- Search in a Rotated Array
- Binary Search
- Sum of Middle Elements of two sorted arrays
- Quick Sort
- Merge Sort
- K-th element of two sorted Arrays

### Backtracking

### Bit Magic

- Find first set bit
- Rightmost different bit
- Check whether K-th bit is set or not
- Toggle bits given range
- Set kth bit
- Power of 2
- Bit Difference
- Rotate Bits
- Swap all odd and even bits
- Count total set bits
- Longest Consecutive 1’s
- Sparse Number
- Alone in a couple
- Maximum subset XOR

### Some More Questions on Arrays

- Find Missing And Repeating
- Maximum Index
- Consecutive 1’s not allowed
- Majority Element
- Two numbers with sum closest to zero
- Nuts and Bolts Problem
- Boolean Matrix Problem
- Smallest Positive missing number
- Jumping Caterpillars

### Some More Questions on Strings

- Most frequent word in an array of strings
- CamelCase Pattern Matching
- String Ignorance
- Smallest window in a string containing all the characters of another string
- Design a tiny URL or URL shortener
- Permutations of a given string
- Non Repeating Character
- Check if strings are rotations of each other or not
- Save Ironman
- Repeated Character
- Remove common characters and concatenate
- Geek and its Colored Strings
- Second most repeated string in a sequence

### Some more Questions on Trees

- Mirror Tree
- Longest consecutive sequence in Binary tree
- Bottom View of Binary Tree
- Lowest Common Ancestor in a Binary Tree
- Binary to DLL

**Important Links :**

- Difficulty-wise ordered Coding questions for Interview and Competitive Programming
- Aptitude questions asked in round 1 : Placements Course designed for this purpose.
- MCQs asked from different computer science subjects : Subject-Wise Quizzes
- Interview theory and coding questions of all companies : Company wise all practice questions.
- Interview experiences of all companies : Interview corner.

**GeeksforGeeks Courses:**

## Language Foundation Courses [C Programming / C++ / JAVA / Python ]

Learn any programming language from scratch and understand all its fundamentals concepts for a strong programming foundation in the easiest possible manner with help of GeeksforGeeks Language Foundation Courses – C Programming | Java Foundation | Python Foundation | C++ Foundation

Complete Interview PreparationGet fulfilled all your interview preparation needs at a single place with the

Complete Interview Preparation Coursethat provides you all the required stuff to prepare for any product-based, service-based, or start-up company at the most affordable prices.

DSA Self PacedStart learning Data Structures and Algorithms to prepare for the interviews of top IT giants like Microsoft, Amazon, Adobe, etc. with

DSA Self-Paced Coursewhere you will get to learn and master DSA from basic to advanced level and that too at your own pace and convenience.

If you like GeeksforGeeks and would like to contribute, you can also write an article and mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above