Table of Contents
- Meetup Prep and Environment Setup
- Coding Challenges
Meetup Prep and Environment Setup
- LeetCode is a website with coding questions (challenges) categoried by difficulty, tag, and other criteria, as well as other information specifically useful for job searchers.
- Difficulty: On job interviews, you will typically get problems of “medium” difficulty and have between an hour and an hour and a half. The difficulty rating is not perfect - some Hard questions are Medium, some Easy questions are Medium, and vice versa.
- Tags: The tags let you practice specific topics such as linked lists, dynamic programming, recursion, and more.
- Solution Performance: When you complete a challenge, LeetCode will tell you how your solution compares to other solutions. If you are in the bottom 50%, try again! You can also check how you did when returning to the website if you click on the problem you solved, click on Submissions, and then click on “Accepted”.
- Getting Help: There is a discussion tab where possible solutions are discussed.
HackerRank - popular tool used by employees for assessing job candidates. LeetCode has more resources, categorization, and functionality. However, if you are job seeking, you may want to become familiar with HackerRank.
Project Euler is great fun for the mathematically-minded. Over 650 problems which ramp up rather quickly in difficulty. If you’ve got a strong mathematical background you’ll have a real advantage here. If not, you might well acquire one.
Advent of Code is a Christmas-themed problem set that has offered 25 new programming challenges every December since 2015. Each set is a collection of well-made problems that challenge your ability to reason algorithmically. Problems range from moderate to difficult.
- Rosalind is a bit of a hodge-podge, offering a well-curated collection of problems introducing concepts in bioinformatics, a small set of introductory Software Crafters problems, and a collection of classical algorithms to implement.
Gabe Montalvo’s Curated List of Coding Katas [Exploratory Testing]
- Black Box Puzzles
- Evil Tester
- Parking Calculator
- Restful Booker](https://restful-booker.herokuapp.com/)
Tech Done Right - 72 episodes on how to do technology the right way.
- The Coding Dojo Handbook, by Emily Bache
Test Driven Development
- Mocks, Fakes, and Stubs, by Emily Bache
- “Test-Driven Development by Example”, Kent Beck
- “Unit Test Patterns”, Gerard Meszaros
- “Growing Object Oriented Software, Guided by Tests”, Steve Freeman and Nat Price
- “Clean Code”, Robert C. Martin
- “Design Patterns: Elements of Reusable Object-Oriented Software”, Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (Gang of Four)
- “Java Design Patterns”, Rohit Joshi (covers equivalent patterns as the G of 4 book, but in Java)
- “Functional Programming for the Object-Oriented Programmer”, Brian Marick
Refactoring / Legacy Code
- “Working Effectively with Legacy Code”, Michael Feathers
- “Refactoring: Improving the design of existing code”, Martin Fowler
- “Refactoring to Patterns”, Joshua Kerievsky
- “Design Patterns, Java Workbook”, Steven John Metsker
- “Refactoring Workbook”, William C. Wake
- Elisabeth Hendrickson: “Explore It!”
- James Lyndsay’s black box puzzles
- Alan Richardson’s practice apps
- Maaret Arvi’s take on “How Would You Test a Text Field?” (blog post & slides
- A very interesting parking cost calculator
- Mark Winteringham’s practice API “Restful Booker”