Courses
Interview Courses
Product Management
Ace product interviews from strategy cases to technical skills.
Engineering Management
Review key leadership and people management skills.
Software Engineering
Learn essential strategies for coding problems and more.
System Design
Define architectures, interfaces, and databases in a time crunch.
Data Science
Execute statistical techniques and experimentation effectively.
Machine Learning
Review building, evaluating, and deploying AI/ML models.
Data Engineering
Design complex data models and ETL pipelines.
Data Analytics
New
Translate data into actionable insights and business decisions.
More Courses
TPM
Solutions Architect
UX / Product Design
Get More Interviews
BizOps & Strategy
Negotiation
Behavioral
SQL Interviews
View all courses
Questions
Top Questions
Product Management
Behavioral Questions
Coding Questions
System Design
SQL Questions
Machine Learning
Data Analytics
Data Engineering
Browse all questions
Practice
Coaching
Mock Interviews & Coaching
Practice with our team of senior tech coaches.
Resume Review
Get your resume reviewed by a senior tech recruiter.
Salary Negotiation
Increase your offer with our expert negotiators.
Partners
For universities
Give your students tech interview prep.
For businesses
Improve your placement rates, outcomes, and more.
Affiliate program
Recommend us to others and earn commission.
Work with us
Help us grow the Exponent community.
Pricing
Job Referrals
Get job referrals to top tech companies.
Company Guides
Get an inside look at top companies’ interview processes.
Blog
Check out our blog on tech interviewing tips, strategies, and more.
Resources
Members-only articles, videos, and interviews.
Work with us
Help us grow the Exponent community.
Perks
Access exclusive member benefits.
Log in
Sign up
Sign up
Courses
Product Management
Ace product interviews from strategy cases to technical skills.
Engineering Management
Review key leadership and people management skills.
Software Engineering
Learn essential strategies for coding problems and more.
System Design
Define architectures, interfaces, and databases in a time crunch.
Data Science
Execute statistical techniques and experimentation effectively.
Machine Learning
Review building, evaluating, and deploying AI/ML models.
Data Engineering
Design complex data models and ETL pipelines.
Data Analytics
New
Translate data into actionable insights and business decisions.
View all courses
Questions
Product Management
Behavioral Questions
Coding Questions
System Design
SQL Questions
Machine Learning
Data Analytics
Data Engineering
Browse all questions
Practice
Coaching
Mock Interviews & Coaching
Practice with our team of senior tech coaches.
Resume Review
Get your resume reviewed by a senior tech recruiter.
Salary Negotiation
Increase your offer with our expert negotiators.
Partners
For universities
Give your students tech interview prep.
For businesses
Improve your placement rates, outcomes, and more.
Affiliate program
Recommend us to others and earn commission.
Work with us
Help us grow the Exponent community.
Pricing
More
Job Referrals
Get job referrals to top tech companies.
Company Guides
Get an inside look at top companies’ interview processes.
Blog
Check out our blog on tech interviewing tips, strategies, and more.
Resources
Members-only articles, videos, and interviews.
Work with us
Help us grow the Exponent community.
Perks
Access exclusive member benefits.
Sign up
Log in
Software Engineering Coding Questions
Overview
Tips for Acing Technical Coding Interviews
Choosing the Right Language for Your Technical Interview
Practice: Move Zeros to End of Array
Practice: Remove Duplicates in String
Practice: Contiguous Subarray Sum
Time & Space Complexity
Understanding Big O Notation
Analyzing Time Complexity
Analyzing Space Complexity
Optimizing Your Algorithms
Coding Patterns
Introduction to Coding Patterns
Two Pointer
Tortoise & Hare
Sliding Window
Two Pass
Bit Manipulation
Cyclic Sort
Arrays
Arrays
Move Zeros to End of Array
Three Sum
Merge Intervals
Group Anagrams
Product of Array Except Self
Copy a Spiral Matrix
Maximum Subarray Sum
Container with Most Water
Task Scheduler
Trap Rain Water
Contiguous Subarray Sum
Hash Tables
Hash Tables
Maximum Profit
Difference of Arrays
Smallest Missing Integer
Two Sum
Boggle Board
Searching & Sorting
Sorting Algorithms
Binary Search
Number Finder
Find the Duplicates
K-Messed Array Sort
Rotations in Circularly Sorted Array
Koko Eating Bananas
Find the Peak Element
String Manipulation
Most Common Words
Valid Palindrome
Validate IP Address
Decrypt Message
Minimum Window Substring
Serialize and Deserialize Strings
Longest Substring Without Repeat
Remove Duplicates in String
Longest Palindromic Substring
Graphs
Graphs
Graph Search
Degrees of Friendship
Sentence Similarity
Number of Islands
Course Schedule
Edit Distance
Trees
Trees
Balanced Tree
Diameter of a Tree
Validate Binary Search Tree
Construct Binary Tree
Implement Trie
Lowest Common Ancestor of a Binary Tree
Find Largest Smaller BST Key
BST Successor Search
Stacks & Queues
Stacks and Queues
Reverse a Sentence
Valid Parentheses
Shortest Cell Path
Conversion Ratios
Linked Lists
Linked Lists
Reverse Linked List
Linked List Cycle
Merge Sort Doubly Linked List
Merge Linked Lists
LRU Cache
Heaps
Heaps
Find Largest Numbers
Buy and Sell Stock
Recursion & Backtracking
Recursion
Fibonacci Numbers
Generate Parentheses
Sales Path
Flatten a Dictionary
Build a Calculator
Permutations
Implement Promise.all()
Sudoku Solver
Build a Basic Regex Parser
Dynamic Programming
Dynamic Programming
Climbing Stairs
Prime Numbers
Knapsack Problem
List the Difference Between Two Strings
Target Sum
Coin Change
Partition Equal Subset Sum
DNA Sequence
Unlock full course
Software Engineering Coding Questions
Overview
Tips for Acing Technical Coding Interviews
Choosing the Right Language for Your Technical Interview
Practice: Move Zeros to End of Array
Practice: Remove Duplicates in String
Practice: Contiguous Subarray Sum
Time & Space Complexity
Understanding Big O Notation
Analyzing Time Complexity
Analyzing Space Complexity
Optimizing Your Algorithms
Coding Patterns
Introduction to Coding Patterns
Two Pointer
Tortoise & Hare
Sliding Window
Two Pass
Bit Manipulation
Cyclic Sort
Arrays
Arrays
Move Zeros to End of Array
Three Sum
Merge Intervals
Group Anagrams
Product of Array Except Self
Copy a Spiral Matrix
Maximum Subarray Sum
Container with Most Water
Task Scheduler
Trap Rain Water
Contiguous Subarray Sum
Hash Tables
Hash Tables
Maximum Profit
Difference of Arrays
Smallest Missing Integer
Two Sum
Boggle Board
Searching & Sorting
Sorting Algorithms
Binary Search
Number Finder
Find the Duplicates
K-Messed Array Sort
Rotations in Circularly Sorted Array
Koko Eating Bananas
Find the Peak Element
String Manipulation
Most Common Words
Valid Palindrome
Validate IP Address
Decrypt Message
Minimum Window Substring
Serialize and Deserialize Strings
Longest Substring Without Repeat
Remove Duplicates in String
Longest Palindromic Substring
Graphs
Graphs
Graph Search
Degrees of Friendship
Sentence Similarity
Number of Islands
Course Schedule
Edit Distance
Trees
Trees
Balanced Tree
Diameter of a Tree
Validate Binary Search Tree
Construct Binary Tree
Implement Trie
Lowest Common Ancestor of a Binary Tree
Find Largest Smaller BST Key
BST Successor Search
Stacks & Queues
Stacks and Queues
Reverse a Sentence
Valid Parentheses
Shortest Cell Path
Conversion Ratios
Linked Lists
Linked Lists
Reverse Linked List
Linked List Cycle
Merge Sort Doubly Linked List
Merge Linked Lists
LRU Cache
Heaps
Heaps
Find Largest Numbers
Buy and Sell Stock
Recursion & Backtracking
Recursion
Fibonacci Numbers
Generate Parentheses
Sales Path
Flatten a Dictionary
Build a Calculator
Permutations
Implement Promise.all()
Sudoku Solver
Build a Basic Regex Parser
Dynamic Programming
Dynamic Programming
Climbing Stairs
Prime Numbers
Knapsack Problem
List the Difference Between Two Strings
Target Sum
Coin Change
Partition Equal Subset Sum
DNA Sequence
Unlock full course