Open In App

Must Do Coding Questions for Product Based Companies

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

As the placement season is back, GeeksforGeeks is here to help you crack the interview. We have selected some most commonly asked and MUST DO practice problems to crack Product-based Company Interviews.

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.

Must-Do-Coding-Questions-for-Product-Based-Companies

Note: Now you can track your progress and learn from video editorials of these questions Must Do Interview Preparation Course.

Topic:

 

Math

Question Article Practice
Missing Number in Array Link Link
Trailing Zeros in Factorial Link Link
A Simple Fraction Link Link
Nth Natural Number Link Link
Smallest Positive Integer that can not be represented as Sum Link Link

Arrays

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

Question Article Practice
Rotate Array Link Link
Majority Element Link Link
Plus one Link Link
Array of alternative +ve and -ve no.s Link Link
Product Array puzzle Link Link
Frequencies of Limited Range Array Elements Link Link
Large Factorial Link Link
Jump Game Link Link
Maximum number of 1’s Link Link
Stock Buy and Sell Link Link
Longest Consecutive Subsequence Link Link
Maximum value of difference of a pair of elements and their Index Link Link
Maximum index Link Link
K-th element of two sorted Arrays Link Link
Trapping Rain Water Link Link
3 sum closest Link Link
Maximum circular Subarray Sum Link Link
Merge without Extra Space Link Link

Searching

Question Article Practice
Search insert position of K in a sorted array Link Link
Collecting Wood Link Link
Left most and right most index Link Link
Bitonic Point  Link Link
Search an element in sorted and rotated array Link Link
Square root of a number Link Link
Find missing in second array Link Link
Painter’s Partition Problem Link Link
Median of 2 sorted arrays of Different sizes Link Link
Allocate minimum number of pages Link Link

Sorting

Question Article Practice
Wave array Link Link
Count the number of possible triangles Link Link
Triplets with sum with given range Link Link
Count Inversions Link Link
Relative Sorting Link Link
Minimum Platforms Link Link
Maximum Index Link Link

Matrix

A matrix represents a collection of numbers arranged in an order of rows and columns. It is necessary to enclose the elements of a matrix in parentheses or brackets.

Question Article Practice
Sort a 2D vector diagonally Link Link
Spiral Matrix Link Link
Boolean matrix Link Link
Rotate matrix by 90 degrees Link Link
Search in a row-column sorted Matrix Link Link
Row with maximum 1s Link Link

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’.

Question Article Practice
Reverse words in a given string Link Link
Longest Common Prefix Link Link
Roman Number to Integer Link Link
Next higher palindrome number using the same set of digits Link Link
Length of longest prefix suffix Link Link
Smallest window in string containing all characters Link Link
Validate an IP address Link Link
Implement Atoi Link Link
Look and say Pattern Link Link
Longest K unique characters substring Link Link

Hashing

Question Article Practice
Key Pair Link Link
Top K Frequent Elements in Array Link Link
Intersection of two arrays Link Link
Array Pair Sum Divisibility Problem Link Link
Triplet Sum in Array Link Link
Length of the longest substring Link Link
Is Sudoku Valid Link Link
Print Anagrams Together  Link Link
Subarrays with sum K Link Link
Longest subarray with sum divisible by K Link Link

Bit Masking

Question Article Practice
Reverse bits Link Link
Number of set bits Link Link
Sum of two integers Link Link
Check whether K-th bit is set or not Link Link
Longest Consecutive 1’s Link Link
Find the element that appears once Link Link
Gray code Link Link
Maximum AND Link Link
Maximum subset XOR Link Link
Bit Difference Link Link

Linked List

A linked list is a linear data structure, in which the elements are not stored at contiguous memory locations.

Question Article Practice
Merge Two Sorted Linked Lists Link Link
Reverse a Linked List Link Link
Delete a Node without Head Pointer Link Link
Add two Numbers represented by linked lists Link Link
Finding middle element in a linked list Link Link
Check if linked list is palindrome Link Link
Rearrange a linked list Link Link
Detect and Remove a loop In Linked List Link Link
Merge Sort for Linked List Link Link
Intersection of Linked List Link Link
Rotate Linked List by K places Link Link
Flattening a Linked List Link Link
Reverse a linked list in groups of given size Link Link
Partition a linked list around a given value Link Link
Clone a linked list with next and random pointers Link Link

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.

Question Article Practice
Parenthesis Checker Link Link
Infix to Postfix Link Link
Restrictive Candy Crush Link Link
Next Larger Element  Link Link
Stock span problem Link Link
The Celebrity Problem Link Link
Maximum Rectangular Area in a Histogram  Link Link
Longest Valid Parentheses Link Link
Maximum of minimum for every window size Link Link
Remove K digits Link Link
132 Geeky Buildings Link Link

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.

Question Article Practice
Maximum of all subarrays of size K Link Link
Circular tour (Sliding Window) Link Link

Heap

A Heap is a special Tree-based data structure in which the tree is a complete binary tree.

Question Article Practice
Rearrange Characters Link Link
Minimum Cost of ropes Link Link
Kth largest element of stream Link Link
Merge k sorted arrays Link Link
Median of stream Link Link

Binary Tree

A tree whose elements have at most 2 children is called a binary tree. Since each element in a binary tree can have only 2 children, we typically name them the left and right child.

Question Article Practice
Symmetric Tree Link Link
Zigzag Tree Traversal Link Link
Checked for Balanced tree Link Link
Height of Binary Tree Link Link
Diameter of Binary tree Link Link
Determine if two trees are identical Link Link
Minimum depth of binary tree Link Link
Check if subtree Link Link
Inorder Traversal (iterative) Link Link
Preorder Traversal (iterative) Link Link
Postorder Traversal(iterative) Link Link
Vertical Traversal of a Binary Tree Link Link
Construct Binary Tree from Preorder and Inorder Traversal Link Link
Connect nodes at same level Link Link
Lowest Common Ancestor of a Binary Tree Link Link
Boundary Traversal Link Link
Sum tree Link Link
Binary Tree to Doubly Linked List Link Link
Maximum sum path between two leaf nodes Link Link
Burning Tree Link Link

Binary Search Tree

Binary Search Tree is a node-based binary tree data structure which has the following properties:

  • The left subtree of a node contains only nodes with keys lesser than the node’s key.
  • The right subtree of a node contains only nodes with keys greater than the node’s key.
  • The left and right subtree each must also be a binary search tree.
Question Article Practice
Check for BST Link Link
Array to BST Link Link
Inorder Successor in BST Link Link
Kth Largest Element in a BST Link Link
Remove BST keys outside the given range Link Link
Pair with given target in BST Link Link
Unique BSTs Link Link
Preorder Traversal and BST Link Link
Merge two BST’s Link Link
Fixing two nodes of a BST Link Link

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.

Question Article Practice
Number of Islands Link Link
COVID Spread Link Link
Prerequisite tasks Link Link
Strongly Connected Component Link Link
Minimum swaps to sort Link Link
Shortest path Link Link
Circle of Strings Link Link
Snake and Ladder Problem  Link Link
Detect cycle in an undirected graph Link Link
Detect cycle in a directed graph Link Link
Check for Bipartite graph Link Link
Unit Area of Largest region of 1s Link Link
Alien Dictionary Link Link
Word Ladder Link Link

Trie

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

Question Article Practice
Minimum XOR value pair Link Link
Word Boggle – II Link Link
Most frequent word in an array of strings Link Link
Minimum XOR value pair Link Link

Greedy

Greedy is an algorithmic paradigm that builds up a solution piece by piece, always choosing the next piece that offers the most obvious and immediate benefit.

Question Article Practice
N meetings in one room Link Link
Coin Piles Link Link
Maximize Toys Link Link
Largest number with given sum Link Link
Minimize the heights Link Link
Fractional Knapsack Link Link
Job Sequencing Link Link
Police and Thieves Link Link
Water the Plants Link Link

DP

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.

Question Article Practice
Count ways to reach the n’th stair Link Link
Get Minimum Squares Link Link
Nth Fibonacci Number Link Link
0 – 1 Knapsack Problem Link Link
Number of Coins Link Link
Edit distance Link Link
Maximize The Cut Segments Link Link
Box Stacking Link Link
Longest Increasing Subsequence Link Link
Longest Palindromic Substring Link Link
Longest Common Substring Link Link
Longest Common Subsequence Link Link
Wildcard Pattern Matching Link Link
Total Decoding Messages Link Link
Max length chain Link Link
Maximum sum increasing subsequence Link Link
Minimum number of jumps Link Link
Subset Sum Problem Link Link
Maximum path sum in matrix Link Link
Player with max score Link Link
Shortest Common Supersequence Link Link
Palindrome Partitioning Link Link
Form a Palindrome Link Link
Boolean Parenthesization Link Link
Matrix Chain Link Link
Maximum Profit Link Link
Minimum Cost Path Link Link
Partition Equal Subset Sum Link Link

Recursion

The process in which a function calls itself directly or indirectly is called recursion and the corresponding function is called as recursive function.

Question Article Practice
Number of Paths Link Link
Pascals Triangle Link Link
Josephus problem Link Link
Tower of Hanoi Link Link
Special Keyboard Link Link
Flood Fill Algorithm Link Link

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 of time (by time, here, is referred to the time elapsed till reaching any level of the search tree).

Question Article Practice
Permutations  Link Link
Letter Combinations of a Phone Number Link Link
Generate Parentheses Link Link
Word Boggle – 1 Link Link
Rat in a Maze Problem Link Link
Largest number in K swaps Link Link
Combination Sum Link Link
Palindrome Partitioning Link Link
N-Queen Problem Link Link
Solve the Sudoku Link Link

Algorithms

Question Article Practice
Bubble Sort Link Link
Insertion Sort Link Link
Selection Sort Link Link
Merge Sort Link Link
Quick Sort Link Link
Heap Sort Link Link
Count Sort Link Link
Kadane Algorithm Link Link
Minimum Spanning Tree Link Link
Implementing Dijkstra Algorithm Link Link
Floyd Warshall Link Link
Bellman Ford Algorithm Link Link
Rabin-Karp Algorithm Link Link
KMP algorithm Link Link
Z Algorithm Link Link
Huffman Encoding Link Link

Design

Question Article Practice
Stack using two queues Link Link
Queue using stack Link Link
Ternary Search Link Link
Binary Heap Operations Link Link
LRU cache Link Link
Trie | (Insert and Search) Link Link

You may also check our latest online course series to learn DS & Algo is named DSA, which covers everything about Data Structures from Basic to Advanced.

Note:

GeeksforGeeks Courses

Must Do Coding Questions – Self Paced Course

Luck favours the prepared, start practising now! This Must Do Coding Questions – Self Paced will help you become a top coder by practising the Must Do Coding Questions curated by the leading industry experts. Prepare and practice for your next coding interview with over 250+ practice problems on topics like Arrays, Searching, Sorting, Linked List, Matrix, String, Graphs, and much more.

Complete Interview Preparation

We often ask ourselves, why are we not able to crack our interviews? Where are we lacking exactly? How do we do it? If you are also having these questions, then don’t worry. We are here to help you with your interview preparation. Beginning with learning concepts like OOP, DSA, and Aptitude to working on projects with resume building. Everything at one place. Don’t wait and get yourself enrolled in our Complete Interview Preparation now.



Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads