Review of Grokking Dynamic Programming Patterns for Coding Interviews
Dynamic programming (DP) is a hard and a distasteful subject for the vast majority of students and makes for an equally daunting and intimidating tech interview topic. In my several years of IT experience, I have hardly been quizzed on dynamic programming questions in interviews. From a practical standpoint, an average software engineer is unlikely to employ dynamic programming algorithms in his day-to-day work. In fact, I have met software engineers who retired without ever confronting a dynamic programming problem in their careers. I have neither so far.

This isn’t to say that dynamic programming isn’t important or that it has no utility. It certainly has its place but most engineers won’t find themselves butting heads with the subject in their careers . Given this context, you may wonder if it’s even fair to ask DP questions in interviews for positions that don’t require this skill-set? Many interviewers are cognizant that the position they are interviewing candidates for doesn’t require DP skill-set and will avoid related questions. But there are a few who mess it up for everybody. For example, someone at a big name company would ask a DP question to a candidate, who would then go tell her friends, who would in turn tell other people, post on forums, Quora or Blind and before you know it, a perception would come into being, that this particular big tech company has DP questions asked in its interviews.

And this brings me to my main point, which is, ed-tech companies capitalize on this fear of DP questions and sell expensive courses dedicated solely to the subject of dynamic programming. The course “Grokking Dynamic Programming Patterns for Coding Interviews” is one such example.

Even though the chances of running into DP questions in an interview are slim but the courses on these topics sell like hot cakes because potential candidates have heard the rumor from a friend or a friend of a friend, that interviews at company X consist of DP questions. Educative’s course is a great example of a product selling on fear more than a need. The course has been authored by Arslan of the “Grokking the System Design Interview” fame, who himself is an ex-Facebook engineer. The course does a decent job of explaining the subject matter, and is structured like a crash course. But I wouldn’t recommend buying the course as I find the price tag unjustified for something which has endless and freely available online material. If you want to prepare DP for interviews, I’d suggest sticking to one of the other comprehensive courses on Educative which include a smaller section on DP such as “Grokking the Coding Interview: Patterns for Coding Questions” or “Coderrust: Hacking the Coding Interview”. For an interview, prepare DP questions as an appetizer rather than the main course. Nevertheless, If you fall for the fear-marketing and feel tempted to buy the course, I’d suggest looking at the table of contents of the course and simply googling each question in the list. You should find plenty of free online resources for each question. The only exception when it may make sense to buy the course is when you have several months for preparation combined with the motivation and zeal to comb through each possible interview topic. Otherwise, your purchase will be analogous to the treadmill bought with great fervor and passion but few months later, used only to to dry wet laundry on. Only that, this course won’t be useful in any capacity when performing daily chores.
['Double Pointer']
['Codingbootcamp', 'Coding', 'Coding Interviews', 'Technology', 'Code']