Commonly asked interview questions on sorting algorithms. Power booster for your interview preparation!

Internship at OpenGenus

Get FREE domain for 1st year and build your brand new site

We always think that giving interview is hard,but with right approach and preperation nothing is impossible. The magic doesn't happen in a day, you should PRACTICE and WORK enough. We all are on the journey of finding better opportunity and this article get's you covered of few aspects!

We are going to walk through the commonly asked questions in technical interview. In this article we will focus on sorting algorithms.

Areas to take a close look into:

  1. Time complexity.
  2. Space complexity.
  3. Data structures used in each algorithm.
  4. Psuedocode
  5. When to use which algorithm

This is just an overview of in which areas questions will be asked. Take the fun quiz and** practice ahead** !!

If you had to knock out an algorithm among those listed below, which one would it be?

Quick Sort
All the algorithms are equal
Bubble Sort
Insertion Sort
Implementation of quick sort is not stable as the relative order of items are not preserved

Which algorithm would you prefer when the input is uniformely distributed?

Radix Sort
Count Sort
Bucket Sort
None of the Above
Implementation of quick sort is not stable as the relative order of items are not preserved

If you had to choose Bubble sort for a reason why it would it be?

The logic of bubble sort is simple
Checks whether array is already sorted.
Both of the Above.
Bubble sort is not the appropriate one.
Bubble Sort is the simplest algorithm of all which checks whether the collection is sorted or not.

MinHeap is built as a part of Heap Sort Algorithm, which makes it more efficient.

The above statement is?

True
False
Can't be classified
Depends on the input array
MaxHeap is used in Heap Sort not MinHeap!

What is the best case complexity of the Selection Sort?

O(n^2)
O(nlogn)
O(n^3)
O(n)
Go though the puedocode and the best,worst,average case complexities.

What is the disadvantages of merge sort?

high space complexity
Poor performance
Requires extra space =N
There's no disadvantage I can think of
Merge sort is not preferred because it uses extra space approximately equal to N

How do you identify in-place algorithms?

If the time complexity is high
If the time complexity is low
If the algorithm takes least memory
If the algorithm does not need extra memory.
If the algorithm does not need extra memory and produces output in the same memory of input data.

According to you what is the exact logic used by the radix sort?

Compares adjacent elements
Sorts each digit from least to most significant digit.
Using divide and conquer technique
divides it into subarrays and then sort it
Radix sort uses another sorting technique which basically sorts the digits each of the elements of the collection/array. The sorting goes from least siggnificant to most significant digit.

The worst case time complexities of shell sort and heap sort are:

O(n^2),O(nlogn) resp.
O(n^2),O(n^2) resp.
O(n^3),O(n^2) resp.
O(nlogn),O(n^2) resp.
The worst case time complexities of shell sort and heap sort are:O(n^2),O(nlogn) resp.Feel free to look into other opengenus articles to study more about sorting algorithms

You have an array which is already sorted. But, if you want to make sure, then which algorithms will do your task?

Merge Sort
Shell Sort
Radix sort
Insertion sort
Best case efficiency of insertion sort is O(n), which happens when the array is sorted!

Which of the following two algorithms have same average case complexity?

1. Merge Sort,2. Selection Sort,3. Insertion Sort,4. Quick Sort,5. Bubble Sort ,6. Shell sort

1,2,3 only
2,3 and 5,6 only
4,6 only
2,3 and 4,5 only
Selection sort,insertion sort,shell sort,buuble sort have average time complexity of O(n^2).

Why do you use heap for sorting(like in heapsort)?

Heap is more flexible
Allocation and deallocation of memory takes time.
Less cost and efficient.
Working with traffics is difficult.
Heap is pretty much flexible when compared to stack. This fact makes heapsort much easier.

Descriptive Questions can be:

  1. About the logic used in the algorithm.
  2. Application of the algorithm, when given an array/collection to sort it.
  3. How would you implement the algorithm without using the particular data structure(typical question on some algorithms)

We just took a look at a dozen of questions as a part of practice. But, this is not enough!. Learn, practice, solve!
Bonus Tip !

  • Before going to the interview ,we keep on worrying about the technical stuff we don't know. But the primary need to face the interview is the good mindset.If you are nervous and not confident then, even if we know each and every thing we won't be able to convey it to the interviewer. Believe in yourself and be confident.
  • Don't loose hope if you get rejected.Sometimes,things don't get together.But it doesn't mean that you should stop integrating it.NEVER GIVE UP. Remember you are ment for higher things!!

There are some cool resources in OpenGenus, which you might end up enjoy reading it! Fire up the links below :)

Resources

  1. Comparison b/w Different Advanced Sorting algorithms. Level up your interview!
  2. Comparison b/w Different Advanced Sorting algorithms. Level up your interview preparation!
  3. Get your hands dirty in "C Programming language" by practicing interview questions.

Best wishes for your endeavours of life.