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
Problem with long term strategy is that it's hard to keep the momentum over a year. It's just the nature of the study. Best is to push hard and get over with it. The hare and tortoise race here ends up being tortoise too bored and distracted before it reaches the finish line.
Do you need a year to prepare these days? 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.
Wow you had multiple offers from FAANG and you chose Amazon?
Amazon is very variable. There's good, bad, easy, hard, dumb and smart teams. I was in a team with extremely smart people. For the other companies the team's products I was offered at didn't interest me while AWS did. I still think I made the right decision. What are your reasons to leave?
I am just starting out again. 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
System design is the deciding factor for a level because it shows your read experience.
And experience is the deciding factor for system design. You might read all the papers and books and study other systems but they’ll want to see that you worked on some serious stuff!