# Ranking Interview Questions by Cram Score

*An opinionated list of SDE interview questions, organized by priority*

##### Sunday March 11, 2018

Like many aspiring software devs, I've prepped for interviews using Leetcode and
HackerRank. While there is no shortage of questions, I find that they don't
address head-on what you should be studying.

Leetcode ranks based on difficulty,
but it's a suboptimal metric when you just want to study for an upcoming interview.
Studying for a particular company? That feature is behind a paywall.
HackerRank's Cracking the Coding Interview Course
comes close, but I think the questions are mostly too rudimentary.

Rather than organizing by topic or difficulty, I've organized these questions
based on what I'd study before an interview. Level 1 concepts are so common
that understanding the solution will often help address variants you'll
see in an interview. On the other end Level 3 concepts may come up more
rarely, but they're nice to have in your back pocket.

I still think there's a ton of value in the more verbose sources out there. But
if you're lost this is a good place to start.

Also, If you're having trouble solving these, I highly recommend you look at
my algorithm guide, which
contains interactive code that can solve many of these questions.

#### Tags

Dynamic Programming

Greedy

Recursion

Search

Sliding Window

Sorting

Trees

Union Find

## Cram Level 1

*Study these even if your interview is tomorrow and it's 12 AM*

Given a 2-D Array, count the number of islands in it, where land is connected in the NSEW direction

Given a target of N cents and a collection of coins, how many ways can you form N cents?

Given a string and a collection of characters, find the shortest substring that contains all the characters

Given a list of starting and ending days for a stock, maximize your profit

Efficiently compute the sum of the numbers between two indexes of an array

Given a list of intervals with a start and end value, merge the intervals

Given an array, find the subarray with the maximum sum

## Cram Level 2

*Study these if you have a week to prepare*

Given a mutable array of integers, find the sum of elements between i and j

Count the number of inversions in a unsorted array

Given a 2-D array of characters and a list of valid words, find the number of words on the board

Given an array of tasks an a cooldown period, given an efficient ordering

Given a collection of intervals, find the number of intervals you need to remove to make the rest of the intervals non-overlapping

Given a particular kind of preorder serialization of a binary tree, verify that it's valid

## Cram Level 3

*Study these if you want to be generally prepared with a "6th sense" of what to do*

Find the duplicate number in an array AND use O(1) space

Given the preorder and inorder serialization of a binary tree, construct a tree data structure

Given an infinitely sized sorted list (no visible end index), find a particular number

Given an encoding from letters to numbers, count the number of ways to decode a string of numbers

Given a non-negative integer array where each index represents the maxmimum you can iterate forward, minimize the number of jumps to reach the end of the array

Given two words, find the minimum number of edits to mutate one word into the other