Movatterモバイル変換


[0]ホーム

URL:


Skip to content
DEV Community
Log in Create account

DEV Community

javinpaul
javinpaul

Posted on • Edited on

     

50+ Data Structure and Algorithms Problems from Coding Interviews

Disclosure: This post includes affiliate links; I may receive compensation if you purchase products or services from the different links provided in this article.

data structure and algorithms interview questions

There are a lot of computer science graduates and programmers applying for programming, coding, and software development roles at startups like Uber and Netflix; big organizations likeAmazon,Microsoft, andGoogle; and service-based companies like Infosys or Luxsoft, but many of them have no idea of what kind of programming interview questions to expect when you're applying for a job with these companies.

In this article, I'll share somefrequently asked programming interview questions from different Job interviews for programmers at different levels of experience,from people who have just graduated from college to programmers with one to two years of experience.

Coding interviews are comprised mainly ofdata structure and algorithm-based questions as well as some of the logical questions such as, How do you swap two integers without using a temporary variable?

I think it's helpful to divide coding interview questions into different topic areas.

The topic areas I've seen most often in interviews arearray,linked list,string,binary tree, as well as questions from algorithms like string algorithm, sorting algorithms likequicksortorradix sort, and other miscellaneous ones), and that's what you will find in this article.

It'snot guaranteed that you will be asked these coding or data structure and algorithmic questions, but they will give you enough of an idea of the kinds of questions you can expect in a real programming job interview.

Once you have gone through these questions, you should feel confident enough to attend any telephonic or face-to-face interviews.

Btw, there is no point in attempting these questions if you don't have sufficient knowledge ofessential Data Structure and Algorithms or you have not touched them for ages.

In that case, you should take a good introductory course likeData Structures and Algorithms: Deep Dive Using Java to refresh your DS and algorithms skills.

best online courses to learn Data Structure and Algorithms


Top 50 Algorithms and Coding Interview Questions

Without any further ado, here is my list of some of themost frequently asked coding interview questions from programming job interviews:

1. Array Coding Interview Questions

An array is the most fundamental data structure, which stores elements at a contiguous memory location. It is also one of the darling topics of interviewers and you will hear a lot of questions about an array in anycoding interview, like reversing an array, sorting the array, or searching elements on the array.

The key benefit of an array data structure is that it offers fast O(1) search if you know the index, butadding and removing an element from an array is slow because you cannot change the size of the array once it's created.

In order to create a shorter or longer array, you need to create a new array and copy all elements from old to new.

The key to solving array-based questions is having a good knowledge ofarray data structure as well as basic programming constructors such as loop, recursion, and fundamental operators.

Here are some tips to solve array based coding problems:

  1. array index starts at zero
  2. You can use loops to iterate over array
  3. array elements are stored in contiguous memory location so you can also access them using pointer arithmetic
  4. Array provides O(1) performance for search using index
  5. Adding or removing elements are slower in array due to re-sizing

Here are some of the popular array-based coding interview questions for your practice:

  1. How do you find the missing number in a given integer array of 1 to 100? (solution)
  2. How do you find the duplicate number on a given integer array?(solution)
  3. How do you find the largest and smallest number in an unsorted integer array? (solution)
  4. How do you find all pairs of an integer array whose sum is equal to a given number?(solution)
  5. How do you find duplicate numbers in an array if it contains multiple duplicates?(solution)
  6. How are duplicates removed from a given array in Java? (solution)
  7. How is an integer array sorted in place using the quicksort algorithm? (solution)
  8. How do you remove duplicates from an array in place? (solution)
  9. How do you reverse an array in place in Java? (solution)
  10. How are duplicates removed from an array without using any library? (solution)

These questions will not only help you to develop your problem-solving skills but also improve your knowledge of the array data structure.

If you need more advanced questions based upon array then you can see also seeThe Coding Interview Bootcamp: Algorithms + Data Structures, a Bootcamp style course on algorithms, especially designed for interview preparation to get a job on technical giants like Google, Microsoft, Apple, Facebook, etc.

array coding problems for technical interviews

And, if you feel 10 is not enough questions and you need more practice, then you can also check out this list of30 array questions.


2. Linked List Programming Interview Questions

Alinked list is another common data structure that complements the array data structure. Similar to the array, it is also a linear data structure and stores elements in a linear fashion.

However, unlike the array, it doesn't store them in contiguous locations; instead, they are scattered everywhere in memory, which is connected to each other using nodes.

Alinked list is nothing but a list of nodes where each node contains the value stored and the address of the next node.

Because of this structure,it's easy to add and remove elements in a linked list, as you just need to change the link instead of creating the array, but the search is difficult and often requires O(n) time to find an element in the singly linked list.

Thisarticle provides more information on the difference between an array and linked list data structures.

It also comes in varieties like a singly linked list, which allows you to traverse in one direction (forward or reverse); adoubly linked list, which allows you to traverse in both directions (forward and backward); and finally, the circular linked list, which forms a circle.

In order to solve linked list-based questions, a good knowledge ofrecursion is important, becausea linked list is a recursive data structure.

If you take one node from a linked list, the remaining data structure is still a linked list, and because of that, many linked list problems have simpler recursive solutions than iterative ones.

Here are some of the most common and popular linked list interview questions and their solutions:

  1. How do you find the middle element of a singly linked list in one pass? (solution)
  2. How do you check if a given linked list contains a cycle? How do you find the starting node of the cycle? (solution)
  3. How do you reverse a linked list? (solution)
  4. How do you reverse a singly linked list without recursion? (solution)
  5. How are duplicate nodes removed in an unsorted linked list? (solution)
  6. How do you find the length of a singly linked list? (solution)
  7. How do you find the third node from the end in a singly linked list? (solution)
  8. How do you find the sum of two linked lists using Stack? (solution)

These questions will help you to develop your problem-solving skills as well as improve your knowledge of the linked list data structure.

If you are having trouble solving these linked list coding questions then I suggest you refresh your data structure and algorithms skill by going throughData Structures and Algorithms: Deep Dive** Using Java** course.

linked list coding problems and solutions

You can also check out this list of30 linked list interview questions for more practice questions.


3. String Coding Interview Questions

Along with array and linked list data structures, a string is another popular topic on programming job interviews. I have never participated in a coding interview where nostring-based questions were asked.

A good thing about the string is that if you know the array, you can solve string-based questions easily becausestrings are nothing but a character array.

So all the techniques you learn by solvingarray-based coding questions can be used to solve string programming questions as well.

Here is my list of frequently asked string coding questions from programming job interviews:

  1. How do you print duplicate characters from a string? (solution)
  2. How do you check if two strings are anagrams of each other? (solution)
  3. How do you print the first non-repeated character from a string? (solution)
  4. How can a given string be reversed using recursion? (solution)
  5. How do you check if a string contains only digits? (solution)
  6. How are duplicate characters found in a string? (solution)
  7. How do you count a number of vowels and consonants in a given string? (solution)
  8. How do you count the occurrence of a given character in a string? (solution)
  9. How do you find all permutations of a string? (solution)
  10. How do you reverse words in a given sentence without using any library method? (solution)
  11. How do you check if two strings are a rotation of each other? (solution)
  12. How do you check if a given string is a palindrome? (solution)

These questions help improve your knowledge of string as a data structure. If you can solve all these String questions without any help then you are in good shape.

For more advanced questions, I suggest you solve problems given in theAlgorithm Design Manual by Steven Skiena, a book with the toughest algorithm questions.

String coding problems for programming interviews

If you need more practice, here is another list of20 string coding questions.


4. Binary Tree Coding Interview Questions

So far, we have looked at only the linear data structure, but all information in the real world cannot be represented in a linear fashion, and that's where tree data structure helps.

The tree data structure is a data structure that allows you to store your data in a hierarchical fashion. Depending on how you store data, there are different types of trees, such as abinary tree, where each node has, at most, two child nodes.

Along with its close cousinbinary search tree, it's also one of the most popular tree data structures. Therefore, you will find a lot of questions based on them, such as how to traverse them, count nodes, find depth, and check if they are balanced or not.

A key point to solving binary tree questions is a strong knowledge of theory, like what is the size or depth of the binary tree, what is a leaf, and what is a node, as well as an understanding of the popular traversing algorithms, like pre-, post-, and in-order traversal.

Here is a list of popularbinary tree-based coding questions from software engineer or developer job interviews:

  1. How is a binary search tree implemented? (solution)
  2. How do you perform preorder traversal in a given binary tree?(solution)
  3. How do you traverse a given binary tree in preorder without recursion?(solution)
  4. How do you perform an inorder traversal in a given binary tree?*(solution)
  5. How do you print all nodes of a given binary tree using inorder traversal without recursion? (solution)
  6. How do you implement a postorder traversal algorithm? (solution)
  7. How do you traverse a binary tree in postorder traversal without recursion?(solution)
  8. How are all leaves of a binary search tree printed?(solution)
  9. How do you count a number of leaf nodes in a given binary tree?(solution)
  10. How do you perform a binary search in a given array?(solution)

If you feel that your understanding of binary tree coding is inadequate and you can't solve these questions on your own, I suggest you go back and pick a good data structure and algorithm course likeFrom 0 to 1: Data Structures & Algorithms in Java.

binary tree coding problems for interviews

If you need some more recommendations, here is my list of usefuldata structure algorithm books andcourses to start with.


5. Miscellaneous Coding Interview Questions

Apart from data structure-based questions, most of the programming job interviews also askalgorithms,software design, bit manipulation, and general logic-based questions, which I'll describe in this section.

It's important that you practice these concepts because sometimes they become tricky to solve in the actual interview. Having practiced them before not only makes you familiar with them but also gives you more confidence in explaining the solution to the interviewer.

  1. How is a bubble sort algorithm implemented? (solution)
  2. How is an iterative quicksort algorithm implemented? (solution)
  3. How do you implement an insertion sort algorithm? (solution)
  4. How is a merge sort algorithm implemented? (solution)
  5. How do you implement a bucket sort algorithm?(solution)
  6. How do you implement a counting sort algorithm?(solution)
  7. How is a radix sort algorithm implemented?(solution)
  8. How do you swap two numbers without using the third variable? (solution)
  9. How do you check if two rectangles overlap with each other? (solution)
  10. How do you design a vending machine? (solution)

If you need more such coding questions you can take help from books likeCracking The Code Interview, byGayle Laakmann McDowellwhich presents 189+ Programming questions and solution. A good book to prepare for programming job interviews in a short time.

coding interview questions for beginners

By the way, the more questions you solve in practice, the better your preparation will be. So, if you think 50 is not enough and you need more, then check out these additional50 programming questionsfortelephone interviews and thesebooksandcourses for more thorough preparation.


Now You're Ready for the Coding Interview

These are some of the most common questions outside of data structure and algorithms that help you to do really well in your interview.

I have also shared a lot of these questions on myblog, so if you are really interested, you can always go there and search for them.

Thesecommon coding, data structure, and algorithm questions are the ones you need to know to successfully interview with any company, big or small, for any level of programming job.

If you are looking for a programming or software development job, you can start your preparation with this list of coding questions.

This list provides good topics to prepare and also helps assess your preparation to find out your areas of strength and weakness.

Good knowledge of data structure and algorithms is important for success in coding interviews and that's where you should focus most of your attention.

Further Learning
Data Structures and Algorithms: Deep Dive Using Java
Master the Coding Interview: Data Structures + Algorithms by Andrei Negaoie
Grokking the Coding Interview: Patterns for Coding Questions
Algorithms and Data Structures - Part 1 and 2
10 Books to Prepare Technical Programming/Coding Job Interviews
10 Algorithm Books Every Programmer Should Read
Top 5 Data Structure and Algorithm Books for Java Developers
From 0 to 1: Data Structures & Algorithms in Java
Data Structure and Algorithms Analysis --- Job Interview

Closing Notes

Thanks, You made it to the end of the article ... Good luck with your programming interview! It's certainly not going to be easy, but by following this roadmap and guide, you are one step closer to becoming aDevOps engineer.

If you like this article, then please share it with your friends and colleagues, and don't forget to followjavinpaulon Twitter!

P.S. --- If you need some FREE resources, you can check out this list offree data structure and algorithm courses to start your preparation.

Top comments(16)

Subscribe
pic
Create template

Templates let you quickly answer FAQs or store snippets for re-use.

Dismiss
CollapseExpand
 
iamshadmirza profile image
Shad Mirza
A JavaScript enthusiast and a creator who knows how to use Keyboard, Pen, Pencil, and Gamepad to their fullest.
  • Location
    Bengaluru, India
  • Work
    Full Stack Developer at Hashnode
  • Joined

This article is like a Gold mine for me. Thanks a lot

CollapseExpand
 
javinpaul profile image
javinpaul
Java Programmer and blogger
  • Joined

Thanks Mohd Shad Mirza

CollapseExpand
 
aershov24 profile image
Alex 👨🏼‍💻FullStack.Cafe
👋 Product enthusiast. FullStack Dev. 🇦🇺 Currently working on: ◀️ www.FullStack.cafe ▶️ Kill Your Tech & Coding Interview
  • Location
    Perth, Western Australia
  • Education
    Moscow Aviation Institute
  • Work
    Founder at FullStack.Cafe
  • Joined

Thanks a lot for the article, it's very helpful! For more Data Structures and Coding Interview Questions check my blog posts onfullstack.cafe. Hope it will help anyone to crack your next coding interview!

CollapseExpand
 
fatema110 profile image
Fatema Vajihee
Full stack Web Dev and Programming Enthusiast
  • Location
    Mumbai
  • Education
    CSE Undegrad Student at Mumbai University
  • Joined

Thanks a lot

CollapseExpand
 
gofacademy profile image
Sanjay Kumar
Gofacademy is one of the Best IIT JEE Coaching Institute in Delhi offering IIT JEE Advanced Coaching Classes to Students at the Lowest Fees. Contact Now
  • Location
    New Delhi
  • Joined

GOF Academy is one of the Best IIT, Neet Coaching Institute in Kalu Sarai, Live Coaching Classes For Neet Preparation. Enquire Now For Admission Feesgofacademy.in/iit-coaching-in-kalu...

CollapseExpand
 
gofacademy profile image
Sanjay Kumar
Gofacademy is one of the Best IIT JEE Coaching Institute in Delhi offering IIT JEE Advanced Coaching Classes to Students at the Lowest Fees. Contact Now
  • Location
    New Delhi
  • Joined

Are you preparing for competitive exams like IIT, NEET, NTSE, Olympiads, KVPY, UPSC or JEE? You must be looking for best coaching institute in Delhi, which can guide you in your competitive exam preparation. Aspirant must opt for GOF Academy that serves as the best IIT Coaching institutes in Delhi providing one stop exam solutions with study material, test series, and lectures. Our highly experienced faculties put in great efforts to clear the concept in aspirant’s mind with their short tricks. With the utmost support of lecturers and state of the art educational infrastructures, we are able to provide high-quality engineering education. If you searching for coaching institute in Delhi for IIT-JEE, NEET and foundation course, Call at 8700484442 to book your slot. Admission open, Limited Seats. Visitgofacademy.in

CollapseExpand
 
bitpunchz profile image
BitPunchZ
Software Engineer
  • Joined
• Edited on• Edited

another awesome article :D

let me know what you think about this:

udemy.com/course/leetcode-in-pytho...

CollapseExpand
 
yogeshwarvhatkar profile image
Yogeshwar Vhatkar
Software Engineer, like to explore and learn
  • Location
    Pune
  • Education
    BE IT, MBA Systems Mgmt.
  • Work
    Technical Lead at BNT Soft Pvt Ltd.
  • Joined

Thanks for sharing.

CollapseExpand
 
mackensonrgina2 profile image
Mackenson Réginald M
  • Joined

Hello. How can I initialize objects like Arrays, List in a constructor?

CollapseExpand
 
siriusjt99 profile image
siriusjt99

Thanks for your content!

CollapseExpand
 
ukantjadia profile image
darKLoin
Hey there, want to know what i can do? tell me topic, task or something impossible.definitely i am going to make you think of the solution.
  • Email
  • Location
    India
  • Education
    Sir Padampat Singhania University
  • Work
    Student | Most of the time i am teacher to myself. ( A Strict one)
  • Joined

Some comments may only be visible to logged-in visitors.Sign in to view all comments.

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment'spermalink.

For further actions, you may consider blocking this person and/orreporting abuse

Java Programmer and blogger
  • Joined

More fromjavinpaul

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.

Log in Create account

[8]ページ先頭

©2009-2025 Movatter.jp