Take Control of Your Coding Practice
Establish your essential tools
There are many resources available when it comes to coding question practice. Paradoxically, the more resources we have, the more scattered our practice can get. In the book The Paradox of Choice: Why Less Is More, author Barry Schwartz explains, “More choice may not always mean more control. Perhaps there comes a point when opportunities become so numerous that we feel overwhelmed. Instead of feeling in control, we feel unable to cope.” However, you have the control to make your practice more efficient by ensuring you have the essential tools available. Below are what I consider the essentials during my coding practice.
- Cracking the Coding Interview by Gayle Laakmann McDowell
- Elements of Programming Interviews in Java by Adnan Aziz, Tsung-Hsien Lee, and Amit Prakash
- Another good book to refresh on specifics about algorithms and data structures is Introduction to Algorithms by Charles E. Leiserson, Clifford Stein, Ronald Rivest, and Thomas H. Cormen, also known as CLRS.
My preference is to practice coding questions in Java and the first two books above, combined, contain 450 Java coding questions with their solutions — you will need a lot of markers for your whiteboard sessions.
This is a great tool when practicing for coding interviews. It makes the learning process more realistic. Mock interviews using a whiteboard are an abstract tool to work on your problem solving process while improving your presentation skills. Have a friend ask you questions randomly selected from your collection of flashcards.
Create your own flashcards with exercises and references to solution pages and additional material. Use highlighter to mark content related to the exercise. For example, a page on a book, a website, or keywords that will give you insights to solve the question.
You will be constantly opening your book and referencing exercises and coding solutions. I think bookmark stickers are time savers to just go directly to the section you are working on.
Coding challenge websites
This is where the paradox of choice applies the most. There are a numerous amounts of online resources for coding challenges. I have narrowed down my essentials to Hacker Rank and Code Wars. But here is a list you can choose your essentials from.