Reviewing Solutions of Technical Questions

This is mainly for @derrickmar, but I’m leaving this open to everyone.

I just tried my second attempt in one of the problems that my advisors recommended me, validate a binary search tree. While I technically did manage to produce an optimal solution in less than 20 minutes, the reality is, I had to review the solutions first and memorize them.

With regards to the technical interviews I have, is it seriously true that I would have to memorize a whole ton of solutions to get ahead?

To me, it sounds like cheating, and it doesn’t address the requirement of what interviewers are looking for, which is understanding and applying the patterns I’m learning here. In addition, interviewers won’t necessarily ask the questions that are mentioned already on Glassdoor because they already know the feedback and info people wrote about the company on Glassdoor anyway. Before this game plan, I technically did not do it because I would not feel so accomplished myself and easily get too discouraged to move on.

I wouldn’t recommend memorizing solutions :small_red_triangle_down: . And I have never encountered anyone who says it’s necessary to do so :person_fencing: .

If you feel the need to memorize solutions (as in the actual lines of code), I would suggest breaking the problem into two parts: 1) the logic :bulb: and 2) the coding :computer: . And then figuring out which one you want to improve in. :mag:
Is it the intuition that, you need to maintain a range of values to consider in case of validating a BST, that you want to understand. Or is it the actual code implementation that you need help with.
Once you figure that out, you can spend time on improving that particular area. (Not surprisingly, the solution to both imo is practice) :medal_sports:

2 Likes

I agree with Chai here. You shouldn’t have to memorize tons of solutions. As we talked about in Workshop 1, the goal is to have solid enough understanding of problems (part of it is is building frameworks and pattern matching) in order to tackle new and old problems.

You shouldn’t have to memorize a solution in order to solve it 2 weeks afterward. That’s not going to scale.

1 Like

Hmm, I don’t think it’s the implementation itself I’m the most concerned about. It’s my logic to problem solving.

Following my mock interview with Isabel earlier today, what I need to do is go back and review the slides from these software workshops I’ve participated so far, and work my way through a ton of problems on LeetCode and so on. This time, though, review the solutions after trying out the problems at least once to be able to fully understand more on where I can apply the patterns. In addition, continue trying the problems from the growth plan a second time as well as the new ones.

My biggest obstacle right now is not thinking of an optimal solution fast enough and falling into too many rabbit holes.