
Present Kotlin interview prep by outlining ten course sections and questions from Facebook, Amazon, Netflix, and Google, covering strings, arrays, matrices, linked lists, trees, graphs, and sorting.
Solve the fizz buzz question in Kotlin by printing numbers 1 to 100, using modulo to check divisibility and replacing multiples of three with fizz, five with buzz, or both.
Learn to reverse words in a string with Kotlin by splitting on spaces, reversing the string array, and joining with spaces.
Rotate a Kotlin array left by k steps, using a shifted copy and modulo to handle large k, and test with the one through seven example to verify the result.
Sort the unsorted array and return the element at size minus k to find the kth largest value, demonstrated with a test main and handling duplicates.
solve the set matrix zeros problem in Kotlin by updating the matrix in place, using the first row and first column as markers, and zeroing affected rows and columns.
Learn to implement spiral matrix in Kotlin by printing matrix elements in spiral order: top row, last column, bottom row reversed, and first column, iterating inward to avoid duplicates.
Implement a queue with a linked list in Kotlin, using java.util queue and LinkedList, and implement add, remove, peak, isEmpty, size, and contains, with tests and first-element checks.
Build a binary tree from a node class with left and right children, implement insert and find operations, and explore traversal and deletion.
Delete a value from a binary tree by coordinating scan and remove node functions, using recursion across left and right subtrees while handling missing values as edge cases.
Implement and test a delete operation for a binary tree, with a scan function and remove logic for one or two children, while handling edge cases.
Implement the selection sort in Kotlin by repeatedly moving the minimum from the unsorted array to the sorted portion, using nested loops and a temporary value to swap.
Sort an array using insertion sort in Kotlin by inserting each element into a growing sorted sequence, then test the result by printing the sorted array.
Master the merge sort algorithm in Kotlin for interview questions by dividing an array, recursively sorting halves, and merging them via a divide-and-conquer approach into a sorted result.
Explore the time complexity of common sorting algorithms, from bubble sort's best-case linear time to worst-case quadratic, through selection, insertion, quicksort, and merge sort across best, average, and worst cases.
Build a generic graph class in Kotlin using an adjacency map, add edges in both directions, and explore traversal options like depth-first and breadth-first search.
Learn to solve the coin change problem with dynamic programming by computing the fewest coins needed to make a given amount using a set of denominations, illustrated with 44 cents.
Compute the maximum sum of a contiguous subarray in a one-dimensional array using a running maximum and a global maximum in Kotlin, with loop-based updates and examples.
Explore computing edit distance between two strings with a Kotlin dynamic programming matrix, using insert, remove, and replace operations, illustrated by Sunday and Monday, with quadratic time and space complexity.
Use Kotlin and XOR bit manipulation to solve the single number problem, finding the unique element in an array where all others appear twice, in a concise, time-efficient way.
Count the number of one bits, or the hamming weight, of an unsigned integer using a bitwise and with the value minus one. Loop until zero, updating the count.
Learn to compute the bitwise and of a range in Kotlin using right and left shifts, with examples from two to four and two to three.
Explore bitwise and shift operators in Java, including or, and, xor, and bitwise complement. Understand signed and unsigned right shifts and how left shifts affect binary representations of integral types.
Master backtracking to generate all permutations of a string in Kotlin, using swap and recursion, and understand factorial time complexity while distinguishing combinations from permutations.
Discover backtracking in Kotlin to generate all length-k combinations from 1 to n, where order does not matter and duplicates are avoided for unique results.
Explore how to generate all possible letter combinations from a phone number in Kotlin by building a digit-to-letters map, using recursion and a string builder, and handling empty input.
Data Structures + Algorithms to Crack the Coding Interview
Only in Coding Interview Cram: Must Know Algorithms and Questions, learn the best way to answer an interview question, look at the most commonly asked questions, and analyze time complexity of various algorithms.
Interview Question Solutions and Time Complexity
Learn through hands-on coding examples and learn to solve problems quickly.
Refresh your Kotlin knowledge and solve new problems with the most common beginner interview questions asked by FANG companies.
Algorithms & Data Structures - Ultimate Coding Interview Prep
Learn the most commonly asked questions by the likes of Facebook, Google, Amazon and Spotify for beginners.
Preparing for the Kotlin 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.
COURSE BREAKDOWN
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
Reverse Words in a String: Given an input string, reverse the string word by word.
Rotate Array: Rotate an array of n elements to the left by k steps.
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
Set Matrix Zeroes: Given a 2D matrix, if an element is 0, set its entire row and column to 0. Do it in place.
Spiral Matrix: Given a 2D matrix, return all elements of the matrix in spiral order.
Section 3: Linked List Interview Questions
Implement a Queue Using a Linked List: Hit two data structures in one by implementing a queue and a linked list in one interview question.
Section 4: Tree Interview Questions
Build a Binary Tree - Learn about binary trees and BST as you implement a highly asked about data structure, the binary tree.
Delete a Tree Node
Section 5: Graph Interview Questions
Build a Graph: Each node in the graph contains a label and a list of its neighbors.
Section 6: Sorting and Time Complexity
Bubble Sort Algorithm: Sort a list with bubble sort.
Selection Sort Algorithm: Sort a list with selection sort.
Insertion Sort Algorithm: Sort a list with insertion sort.
Merge Sort Algorithm: Sort a list with Merge Sort.
Time Complexity of Different Sorting Algorithms: Learn the types of time complexity in Big-O Notation in order of horrible to good.
Section 7 Dynamic Programming Interview Questions
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.
Edit Distance: Find the edit distance between two strings.
Distinct Subsequences: Given a string S and a string T, count the number of distinct subsequences of T in S.
Section 8 Bit Manipulation Interview Questions
Bitwise and Shift Operators: Manipulate bits and shift bits to change values.
Single Number: Given an array of integers, every element appears twice except for one. Find that single one.
Number of 1 Bits: Take an unsigned integer and return the number of ’1' bits it has (also known as the Hamming weight.
Bitwise AND of a Range: Given two non-negative 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
Permutations: Print all permutations of a given string.
Combinations: Print all combinations of a given string.
Letter Combinations of a Phone Number: Given a digit string, return all possible letter combinations that the number could represent on a phone board.
Section 10 Math Interview Questions
Reverse Integer: Reverse the digits of an integer n.
Palindrome Number: Determine whether an integer is a palindrome. Do this without extra space.
Excel Sheet Column Number: Given a column title from an Excel sheet, return its corresponding column number.
A SCHOOL YOU CAN TRUST
Lifetime access that never expires
Project-based curriculum to superboost your portfolio
Graduation certificate for every course
Absolute beginner-friendly
New courses every month
Efficient lectures with step by step explanations
Relevant industry topics 8 years of award-winning course delivery
900,000 students in 186 countries
Learn with free tools and affordable courses
REVIEWS OF MAMMOTH COURSES
Captivating voice, easy to follow at a rapid pace, get some paper and fasten your seat-belts. I'm enjoying every second of this.
— PHILIP MURRAY
I have completed many Udemy tutorials. This one is the most outstanding one that I have seen thus far. It is doubtful that it could be topped. This is a superior tutorial. Amazing.
— JOSEPH APPLEGARTH
COURSE AUTHOR
Alexandra Kropova, Software Developer at Mammoth Interactive INC.
Alexandra Kropova is a software developer specializing in OOP and JavaScript, with extensive experience in full-stack 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.