Crack your next coding interview with these topics
Tags: tutorial, algorithms, java
Published: 2021-03-02 12:48:56

The interview is the first interaction of the candidates with the company. The company should put its best foot forward so that even unsuccessful candidates will have good things to say about the company. When it comes to the coding interview, one has to ready with projects and excellent problem-solving skills. This article can help help you ace the interview. It contains some most commonly asked and must-do practice problems for you.
One must practice and solve a lot of Data structures and algorithms questions. 
Here goes the list of questions that are mostly asked in interviews:
## Array:
* Subarray with given sum and some other examples
* Missing number and variants
* Kadane's algorithm
* Trapping the rainwater (**Google Interview**)
* Stock buy and sell
* Chocolate distribution problem

## String:
* Permutations and combinations of a given string 
* Anagram
* Implementation of atoi
* Longest common prefix

## Linked List:
* Reverse a linked list
* Detect & remove a loop
* Nth node from the end and its variants
* Merge 2 sorted Linked List
* Pairwise swapping
* Intersection point in the linked list

## Stack and Queue:
* Parenthesis checking and its variants
* Next greater and smaller element
* Maximum subarray of size k
* Celebrity problem 
* Stock Span problem 

## Tree:
* Diameter of Binary tree
* Number of leaf nodes
* Height is balanced or not
* Check for BST
* Maximum path sum

## Hashing:
* Sort elements by frequency
* Zero sum subarray
* Largest subarray with sum zero
* Common elements
* Smallest window in a string containing all the characters of another string
* Check duplicates
* Check occurrences

## Graph:
* Dijkstra's algorithm
* DFS & BFS
* Topological sort
* Find whether a path exists
* Minimum cost path
* Floyd-Warshall
* Alien Dictionary
* Snake and Ladder problem 

## Greedy:
* Huffman decoding
* N meetings in one room
* Coin piles
* Maximise Toys 
* Minimum spanning tree
* Shop in a candy store

## Dynamic programming:
* Knapsack problem and variants
* Minimum operations
* Minimum number of coins
* Longest common substring
* Minimum number of jumps
* Path in a matrix
* Minimum sum partition
* Count the number of ways to cover a distance 

## Divide and Conquer:
* Quicksort
* Merge sort
* Kth element in 2 sorted array
* Sum of the middle element of 2 sorted array
* Search in a sorted array

## Backtracking:
* N-Queen problem 
* Solve the sudoku
* Rat in a maze problem
* Generate an IP address

These are the frequently asked DS and algorithms and their questions. There are other topics and questions which are also asked during interviews.
## Topics are as follows:
* Doubly Linked List
* Circular Linked List
* Bit manipulation
* Heap
* Recursion
* Searching
* Sorting 
* Hashing
* Matrix
* Mathematics

It is really difficult to put down everything in one article. And very long content makes any article boring. 

# Some important concepts which one needs to study 
* Number Theory 
* Mathematics
* Puzzles
* Sliding window technique (**Very prominent and an essential topic**)
* Prefix Sum
* Bit and its manipulation techniques

Data structures and algorithms are fun if you practice and play with them. Once you gain mastery then they become your companion in the coding journey and make it like heaven. 

# Here we come to the resources part
### Some of the important sites for practicing DSA for interviews:
* [Leet Code](https://leetcode.com/problemset/top-interview-questions/)
* [Geeks for Geeks 1](https://www.geeksforgeeks.org/must-do-coding-questions-for-companies-like-amazon-microsoft-adobe/?ref=leftbar)
* [Geeks for Geeks 2](https://www.geeksforgeeks.org/practice-for-cracking-any-coding-interview/)
* [Interview bit](https://www.interviewbit.com/)


These are the best sites for practicing data structures and algorithms.
That's it for this post.