(This story is part of the weekly assignments for my internship at Nearsoft. I hope that some of the insights I learned this week can help others in their learning journey. Previously: Your Personal Brand: Week 1)
Design Patterns are “a toolkit of solutions to common problems in software design.” Each pattern is like a blueprint that you can customize. There are 3 different types of design patterns: Creational, Structural and Behavioral patterns. These allow you to structure your thought process on how to approach a problem as well as it allows you to understand better a codebase by identifying the patterns that are used. When reading code, it’s easier for you to grasp what each code block does, how it behaves and interacts.
On Cracking the Coding Interview, Gayle explains that it’s important to have a structured process to solve a coding interview problem that roughly should be to: Listen, Make an Example, Use Brute Force, Optimize, Walk Through, Implement and Test. This helps approach the problem with a wide perspective and a solid though process. This is also important to unblock your mind when facing a problem for the first time as it allows you to follow a proven structure.