Must Do Coding Questions for Product Based Companies
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.
Note: Now you can track your progress and learn from video editorials of these questions Must Do Interview Preparation Course.
|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|
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
|Search insert position of K in a sorted array||Link||Link|
|Left most and right most index||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|
|Count the number of possible triangles||Link||Link|
|Triplets with sum with given range||Link||Link|
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.
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
|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|
|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|
|Maximum subset XOR||Link||Link|
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
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
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.
A Heap is a special Tree-based data structure inch the tree is a complete binary tree.
|Minimum Cost of ropes||Link||Link|
|Kth largest element of stream||Link||Link|
|Merge k sorted arrays||Link||Link|
|Median of stream||Link||Link|
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 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.
|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|
|Preorder Traversal and BST||Link||Link|
|Merge two BST’s||Link||Link|
|Fixing two nodes of a BST||Link||Link|
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 is an efficient information retrieval data structure. Using Trie, search complexities can be brought to optimal limit (key length).
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.
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
The process in which a function calls itself directly or indirectly is called recursion and the corresponding function is called as recursive function.
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
|Minimum Spanning Tree||Link||Link|
|Implementing Dijkstra Algorithm||Link||Link|
|Bellman Ford Algorithm||Link||Link|
|Stack using two queues||Link||Link|
|Queue using stack||Link||Link|
|Binary Heap Operations||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.
- If you are looking for Most Asked CS Subjects Interview Questions or theory questions then refer to the following link – Most asked Computer Science Subjects Interview Questions in Amazon, Microsoft, Flipkart
- We have also prepared a list of top company-wise coding questions. Refer to the following link – Must Do Coding Questions Company-wise
- If you are looking for a complete guide for your Competitive Programming Journey then refer to the following link – Competitive Programming – A Complete Guide.
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.
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.