Grokking the System Design Interview
Grokking the Object Oriented Design Interview
Grokking the Coding Interview
Grokking the Dynamic Programming