FullStackFSCCafé
 
 
Sign in with GoogleSign in with Google. Opens in new tab
Kill Your Tech Interview
3877 Full-Stack, Algorithms & System Design Interview Questions
Answered To Get Your Next Six-Figure Job Offer
      

Top 61 Data Structures Interview Questions

Entry Junior Mid Senior Expert
Sign in with GoogleSign in with Google. Opens in new tab
Topic Progress:

Theoretical Questions

Q1:   

What is a Graph?

  Related To: Graph Theory
Add to PDF   Entry 
Q2:   

Explain why Stack is a recursive data structure

  Related To: Stacks
Add to PDF   Entry 
Q3:   

What is Priority Queue?

  Related To: Heaps and Maps
Add to PDF   Entry 
Q4:   

Define Stack

  Related To: Stacks
Add to PDF   Entry 
Q5:   

Define Binary Tree

  Related To: Binary Tree, Trees
Add to PDF   Entry 
Q6:   

What is Heap?

  Related To: Heaps and Maps
Add to PDF   Entry 
Q7:   

What is String in Data Structures?

  Related To: Strings
Add to PDF   Entry 
Q8:   

What is Hash Table?

  Related To: Hash Tables
Add to PDF   Entry 
Q9:   

What is Queue?

  Related To: Queues
Add to PDF   Entry 
Q10:   

Define Tree Data Structure

  Related To: Trees
Add to PDF   Entry 
Q11:   

What is Trie?

  Related To: Trie
Add to PDF   Entry 
Q12:   

Define Linked List

  Related To: Linked Lists
Add to PDF   Entry 
Q13:   

Name some characteristics of Array Data Structure

  Related To: Arrays
Add to PDF   Entry 
Q14:   

What is Binary Heap?

  Related To: Heaps and Maps, Binary Tree
Add to PDF   Junior 
Q15:   

What is the difference between Strings vs. Char arrays?

  Related To: Strings
Add to PDF   Junior 
Q16:   

What is the space complexity of a Hash Table?

  Related To: Hash Tables
Add to PDF   Junior 
Q17:   

What's the difference between the data structure Tree and Graph?

  Related To: Graph Theory, Trees
Add to PDF   Junior 
Q18:   

Under what circumstances are Linked Lists useful?

  Related To: Linked Lists
Add to PDF   Junior 
Q19:   

What is Binary Search Tree?

  Related To: Binary Tree, Trees
Add to PDF   Junior 
Q20:   

What are some types of Linked List?

  Related To: Linked Lists
Add to PDF   Junior 
Q21:   

What are Dynamic Arrays?

  Related To: Arrays
Add to PDF   Junior 
Q22:   

Why and when should I use Stack or Queue data structures instead of Arrays/Lists?

  Related To: Queues, Stacks
Add to PDF   Junior 
Q23:   

What are some types of Queue?

  Related To: Queues
Add to PDF   Junior 
Q24:   

Name some disadvantages of Linked Lists?

  Related To: Linked Lists
Add to PDF   Junior 
Q25:   

What is Complexity Analysis of Queue operations?

  Related To: Queues
Add to PDF   Junior 
Q26:   

What is AVL Tree?

  Related To: Binary Tree, Trees
 Add to PDF   Mid 
Q27:   

What is Balanced Tree and why is that important?

  Related To: Binary Tree, Trees
 Add to PDF   Mid 
Q28:   

Name some application of Trie data structure

  Related To: Trie
 Add to PDF   Mid 
Q29:   

What does Sparse Array mean?

  Related To: Arrays
 Add to PDF   Mid 
Q30:   

What is an Associative Array?

  Related To: Arrays
 Add to PDF   Mid 
Q31:   

Compare Heaps vs Arrays to implement Priority Queue

  Related To: Heaps and Maps
 Add to PDF   Mid 
Q32:   

What is complexity of Hash Table?

  Related To: Hash Tables
 Add to PDF   Mid 
Q33:   

Name some common types and categories of Graphs

  Related To: Graph Theory
 Add to PDF   Mid 
Q34:   

What is Red-Black tree?

  Related To: Binary Tree, Trees
 Add to PDF   Senior 
Q35:   

What is Rope Data Structure is used for?

  Related To: Strings
 Add to PDF   Senior 
Q36:   

When is doubly linked list more efficient than singly linked list?

  Related To: Linked Lists
 Add to PDF   Senior 
Q37:   

How To Choose Between a Hash Table and a Trie (Prefix Tree)?

  Related To: Hash Tables, Trie
 Add to PDF   Senior 
Q38:   

What are some main advantages of Tries over Hash Tables

  Related To: Hash Tables, Trie
 Add to PDF   Senior 
Q39:   

Explain what is B-Tree?

  Related To: Trees
 Add to PDF   Senior 
Q40:   

How would you traverse a Linked List in O(n1/2)?

  Related To: Linked Lists
 Add to PDF   Senior 
Q41:   

What are Pascal Strings?

  Related To: Strings
 Add to PDF   Senior 
Q42:   

What is Bipartite Graph? How to detect one?

  Related To: Graph Theory
 Add to PDF   Senior 
Q43:   

How are B-Trees used in practice?

  Related To: Trees
 Add to PDF   Expert 
Q44:   

Compare lookup operation in Trie vs Hash Table

  Related To: Hash Tables, Trie
 Add to PDF   Expert 

Code Challenges

Q1:   

Convert a Singly Linked List to Circular Linked List

 PY Related To: Linked Lists, Python
 Add to PDF   Junior 
Q2:   

How to implement a Tree data-structure? Provide some code.

 JavaPY Related To: Binary Tree, Trees, Python
 Add to PDF   Junior 
Q3:   

Implement Pre-order Traversal of Binary Tree using Recursion

 JavaPY Related To: Binary Tree, Python
 Add to PDF   Junior 
Q4:   

Return the N-th value of the Fibonacci sequence. Solve in O(n) time

 JSJavaPY Related To: Fibonacci Series, Python, JavaScript
 Add to PDF   Junior 
Q5:   

Return the N-th value of the Fibonacci sequence Recursively

 JSJavaPY Related To: Fibonacci Series, Java, JavaScript
 Add to PDF   Junior 
Q6:   

Find all the Permutations of a String

 JSJavaPY Related To: Backtracking, Strings, Java, Python, JavaScript
  Add to PDF   Mid 
Q7:   

Can you do Iterative Pre-order Traversal of a Binary Tree without Recursion?

 CSPY Related To: Binary Tree, C#
  Add to PDF   Mid 
Q8:   

Convert a Binary Tree to a Doubly Linked List

 JavaPY Related To: Binary Tree, Divide & Conquer, Linked Lists, Recursion
  Add to PDF   Mid 
Q9:   

Explain how Heap Sort works

 JSPY Related To: Heaps and Maps, Sorting, JavaScript
  Add to PDF   Mid 
Q10:   

LIS: Find length of the longest increasing subsequence (LIS) in the array. Solve using DP.

 JSJavaPY Related To: Dynamic Programming, Python, JavaScript
  Add to PDF   Mid 
Q11:   

How to check if two Strings (words) are Anagrams?

 CSJavaPY Related To: Strings, Java, C#
  Add to PDF   Mid 
Q12:   

How to merge two sorted Arrays into a Sorted Array?

 JSJavaPY Related To: Arrays, Java, JavaScript, Python
  Add to PDF   Mid 
Q13:   

Explain what is Fibonacci Search technique?

 CSJSJavaPY Related To: Divide & Conquer, Fibonacci Series, Searching, C#, JavaScript
  Add to PDF   Senior 
Q14:   

Find the length of a Linked List which contains Cycle (Loop)

 JavaPY Related To: Linked Lists
  Add to PDF   Senior 
Q15:   

Binet's formula: How to calculate Fibonacci numbers without Recursion or Iteration?

 CSJSJavaPY Related To: Fibonacci Series, C#, JavaScript
  Add to PDF   Senior 
Q16:   

How to implement 3 Stacks with one Array?

  Related To: Arrays, Stacks
  Add to PDF   Senior 
Q17:   

Explain how QuickSort works

 JSPY Related To: Divide & Conquer, Sorting, JavaScript
  Add to PDF   Senior 
 

Rust has been Stack Overflow’s most loved language for four years in a row and emerged as a compelling language choice for both backend and system developers, offering a unique combination of memory safety, performance, concurrency without Data races...

Clean Architecture provides a clear and modular structure for building software systems, separating business rules from implementation details. It promotes maintainability by allowing for easier updates and changes to specific components without affe...

Azure Service Bus is a crucial component for Azure cloud developers as it provides reliable and scalable messaging capabilities. It enables decoupled communication between different components of a distributed system, promoting flexibility and resili...

Cosmos DB has gained popularity among developers and organizations across various industries, including finance, e-commerce, gaming, IoT, and more. Follow along and learn the 24 most common and advanced Azure Cosmos DB interview questions and answers...
More than any other NoSQL database, and dramatically more than any relational database, MongoDB's document-oriented data model makes it exceptionally easy to add or change fields, among other things. It unlocks Iteration on the project. Iteration f...
Unit Tests and Test Driven Development (TDD) help you really understand the design of the code you are working on. Instead of writing code to do something, you are starting by outlining all the conditions you are subjecting the code to and what outpu...
Domain-Driven Design is nothing magical but it is crucial to understand the importance of Ubiquitous Language, Domain Modeling, Context Mapping, extracting the Bounded Contexts correctly, designing efficient Aggregates and etc. before your next DDD p...
At its core, Microsoft Azure is a public cloud computing platform - with solutions including Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS) that can be used for services such as analytics, virtual c...
As an asynchronous event-driven JavaScript runtime, Node.js is designed to build scalable network applications. Follow along to refresh your knowledge and explore the 52 most frequently asked and advanced Node JS Interview Questions and Answers every...
Dependency Injection is most useful when you're aiming for code reuse, versatility and robustness to changes in your problem domain. DI is also useful for decoupling your system. DI also allows easier unit testing without having to hit a database and...