What is your leetcode +system design strategy say if you can spend 30 mins-1hour for about an year to prepare. (Im 4yoe now). Specifically,
1. What leetcode questions do you target ? Mediums mostly ??
2. How do you ensure you dont forget the tricks you have picked up while solving the problems.. this is common because most questions rely on one (or sometimes more) aha moments and rest of the things fall in place.
3. For system design, ive read Klepmann's book but I feel that we should review more real world architectures. For e.g google search autocomplete design.. where to find the real design (including scale of numbers and other finer details important from an interview perspective).. i feel we lack a good resource for system design preparation..any suggestions for this
comments
There's only a limited set to algorithms and if you are basics are proper, leetcode is just to practice to make you more confident and expose you to a variety to apply your basics.
Compared to algorithms, if you are senior programmer, you should be doing system design at your work and should have more real life experience with it. Sorry, I don't have a source for it.
Also, you should practice interviewing. Apply to a lot of companies to practice interviewing.
Source: I had multiple offers from FAANG. But of course, everyone's experience will be different. You might get easier or harder interviewers.
What are your reasons to leave?
Basically targeting leetcode easy and mediums for now. Sorting, string, tree and backtracking should be good for round 1 I am thinking.
Honestly I don't have a trick for how to not forget. I heard visualizing problems help but for me I have to look at solutions and often it turns out the top solution is a different one a few days or months later when I will be trying the same problem again.
I wouldn't worry too much about system design as long as you have some distributed system concepts. If you do really well in other coding questions, I think system design can weigh less, especially if you can show you covered some basics of system design (and if its not senior roles). No one expects you to do the most elegant architecture ever exists - system design is mostly there to see if you can break down problems and approach and apply concepts such as isolation, abstraction etc