Here is the collection of TOP 25 frequently asked questions based on experience (mine and friends) of interviews in multiple companies.

1) Lowest common Ancestor (https://www.geeksforgeeks.org/lowest-common-ancestor-binary-tree-set-1/)

2) A unsorted array of integers is given; you need to find the max product formed by multiplying three numbers. (You cannot sort the array, watch out when there are negative numbers)

3) Left View of a tree (https://www.geeksforgeeks.org/print-left-view-binary-tree/)

4) Reversing of Arrays (https://www.geeksforgeeks.org/write-a-program-to-reverse-an-array/)

5) Cache Line, Cache internal concept, RR scheduling

6) Print the middle of a given linked list (https://www.geeksforgeeks.org/write-a-c-function-to-print-the-middle-of-the-linked-list/)

7) Pair wise swap of elements in linked list (https://www.geeksforgeeks.org/pairwise-swap-elements-of-a-given-linked-list/)

8) HashMap internals (http://javarevisited.blogspot.in/2011/02/how-hashmap-works-in-java.html)

9) Double checking Singleton (http://javarevisited.blogspot.in/2014/05/double-checked-locking-on-singleton-in-java.html)

10) Factory Pattern (http://javarevisited.blogspot.in/2011/12/factory-design-pattern-java-example.html)

11) Print a given matrix in spiral form (https://www.geeksforgeeks.org/print-a-given-matrix-in-spiral-form/)

12) DFS on Graph and its representation (https://www.geeksforgeeks.org/graph-and-its-representations/, http://ideone.com/TA4ldc)

13) Object-Oriented concept, Polymorphism, Method overloading, method overriding, Difference between abstraction and encapsulation, Aggregation and Composition

14) Print nth last node in the linked list

15) Delete a given node in Linked List under given constraints (https://www.geeksforgeeks.org/delete-a-given-node-in-linked-list-under-given-constraints/)

16) Implement Stack using Queues(https://www.geeksforgeeks.org/implement-stack-using-queue/)

17) Find if two rectangles overlap (https://www.geeksforgeeks.org/find-two-rectangles-overlap/)

18) Multithreading concepts

19) Given an array of integers, update the index with the multiplication of previous and next integers.

e.g. Input: 2 , 3, 4, 5, 6 Output: 2*3, 2*4, 3*5, 4*6, 5*6

20) Difference of creating threads in Java using Thread and Runnable

21) How hashset is implemented in Java internally.

22) DeadLock example code (Producer & Consumer Code)

23) Find the number which is not repeated in Array of integers, others are present for two times.

e.g. Input : 23, 34,56,21,21,56,78,23, 34 Output: 23 Hint: USE XOR

24) Serialization and related concepts.

25) Comparators in TreeSet

Thanks to geeksforgeeks team for providing a nice platform. You guys are the best.

This article is contributed by **Rishi Verma**. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.