Java Interview Questions: Data Structures and Algorithms
Refresh your Java knowledge and solve new problems with the most common beginner interview questions asked by FANG companies.
The Best Java Interview Guide
Learn the most commonly asked questions by the likes of Facebook, Google, Amazon and Spotify for beginners.
Preparing for the Java interview is hard. You need to understand not only concepts but also be able to articulate your thought process as you plan and execute a solution.
In this course, you'll learn the best way to answer an interview question, look at the most commonly asked questions, and analyze time complexity of various algorithms.
You'll learn through handson coding examples and learn to solve problems quickly.
COURSE BREAKDOWN
Java Interview Questions: Data Structures and Algorithms
Section 0: Introduction to Interview Questions
 Course Overview
 FizzBuzz: Print the numbers from 1 to 100 and for multiples of '3' print "Fizz" instead of the number and for the multiples of '5' print "Buzz".
Section 1: String/Array Interview Questions
 01 Reverse Words in a String: Given an input string, reverse the string word by word.
 02 Rotate Array: Rotate an array of n elements to the left by k steps.
 03 Isomorphic Strings: Given two strings a and b, determine if they are isomorphic.
 04 Kth Largest Element in an Array: Find the kth largest element in an unsorted array. Note that it is the kth largest element in the sorted order, not the kth distinct element.
Section 2: Matrix Interview Questions
 01 Set Matrix Zeroes: Given a 2D matrix, if an element is 0, set its entire row and column to 0. Do it in place.
 02 Spiral Matrix: Given a 2D matrix, return all elements of the matrix in spiral order.
 03 Number of Islands: Given a 2D grid map of 1s (land) and 0s (water), count the number of islands.
Section 3: Linked List Interview Questions
 01 Implement a Stack Using an Array in Java: Implement a stack using an array.
 02
Add Two Numbers: You are given two linked lists representing two
nonnegative numbers. The digits are stored in reverse order and each of
their nodes contain a single digit. Add the two numbers and return it
as a linked list.
 03 Reverse a Linked List: Reverse a singly linked list.
Section 4: Tree Interview Questions
 01 Inorder Traversal: Perform inorder traversal on a binary tree.
 02 Preorder Traversal: Perform inorder traversal on a binary tree.
 03 Postorder Traversal: Perform inorder traversal on a binary tree.
 04 Binary Tree Maximum Path Sum: Given a binary tree, find the maximum path sum.
Section 5: Graph Interview Questions
 01 Clone an Undirected Graph: Each node in the graph contains a label and a list of its neighbors.
Section 6: Sorting and Time Complexity
 01 Types of Time Complexity: Learn the types of time complexity in BigO Notation in order of horrible to good.
 02 Bubble Sort Algorithm: Sort a list with bubble sort.
 03 Selection Sort Algorithm: Sort a list with selection sort.
 04 Insertion Sort Algorithm: Sort a list with insertion sort.
 05 Quick Sort Algorithm: Sort a list with Quick Sort.
 06 Merge Sort Algorithm: Sort a list with Merge Sort.
 07 Time Complexity of Different Sorting Algorithms
Section 7 Dynamic Programming Interview Questions
 01
Coin Change: You are given coins of different denominations and a total
amount of money amount. Write a function to compute the fewest number
of coins that you need to make up that amount.
 02 Edit Distance: Find the edit distance between two strings.
 03 Distinct Subsequences: Given a string S and a string T, count the number of distinct subsequences of T in S.
 04 Maximum Sum Subarray: Find the sum of contiguous subarray within a onedimensional array of numbers which has the largest sum
Section 8 Bit Manipulation Interview Questions

01 Bitwise and Shift Operators: Manipulate bits and shift bits to change values.

02 Single Number: Given an array of integers, every element appears twice except for one. Find that single one.

03 Sum of Two Integers: Calculate the sum of two integers a and b, but you are not allowed to use the operator + and .

04 Number of 1 Bits: Take an unsigned integer and return the number of ’1' bits it has (also known as the Hamming weight.)

05 Reverse Bits: Reverse the bits of a given 32 bit unsigned integer.
 06 Bitwise AND of a Range: Given two nonnegative long integers, a and b and given a <= b, find the bitwise AND of all integers from a and b.
Section 9 Combinations and Permutations Interview Questions
 01 Permutations: Print all permutations of a given string.
 02 Distinct Permutations of a String: Print all distinct permutations of a string that contains duplicates.
 03
Letter Combinations of a Phone Number: Given a digit string, return all
possible letter combinations that the number could represent on a phone
board.
 04 Factor Combination: Return all possible combinations of an integer n’s factors.
Section 10 Math Interview Questions
 01 Reverse Integer: Reverse the digits of an integer n.
 02 Palindrome Number: Determine whether an integer is a palindrome. Do this without extra space.
 03 Excel Sheet Column Numbe: Given a column title from an Excel sheet, return its corresponding column number.
WHO SHOULD ENROLL?
 Anyone learning Java
 You have a Java interview coming up and need to learn how to answer questions properly
 You need to learn the most popular questions that you might be asked
 You need to learn the top 10 most common subjects asked about and sample questions for each
 You haven't used Java in a while and want to refresh your knowledge
A SCHOOL YOU CAN TRUST
 Lifetime access that never expires
 Projectbased curriculum to superboost your portfolio
 Graduation certificate for every course
 Absolute beginnerfriendly
 New courses every month
 Efficient lectures with step by step explanations
 Relevant industry topics 8 years of awardwinning course delivery
 700,000 students in 186 countries
 Learn with free tools and affordable courses
Your Instructor
Alexandra Kropova is a software developer specializing in OOP and JavaScript, with extensive experience in fullstack web development and app development. She has helped produce courses for Mammoth Interactive INC. since 2016, including the Coding Interview series in Java, JavaScript, C++, C#, Python and Swift.
Frequently Asked Questions
Requirements
 Experience with objectoriented programming fundamentals. If you need experience, enrol in Introduction to Algorithms in Java first.
 No IDE necessary. We'll run Java in the browser with Repl.