This article was originally posted on LinkedIn. I am re-publishing it here for a wider audience
When I started looking for a new job 4 years ago, I didn't exactly have the mindset needed for cracking the coding interviews. I mainly focused on typical interview questions and their answers. Things didn't go well when someone asked me a question outside of what I already knew. My approach wasn't really scalable to the breadth of interviews I appeared for.
As I started focusing on things that I lacked, I realized that it's not just about solving questions, but it's all about changing how you look at problems. As I practiced different kinds of problems, the realization came to me that I don't need to solve every question that's out there, but looking at the problem I should be able to analyze what's the best approach to take, what are the tradeoffs, how to improve upon the original solution and explaining that approach to the interviewer in simple words. It's that simple! All that comes from constant practice, bolstering your basics and this is exactly what interviewers are looking for too.
Next time you appear for interviews, make sure you can generalize your knowledge to solve bigger problems. That wisdom can come from either your real-life experience or all the time you devoted to practicing your skills that are helping you move closer to your goal.
This is how the real world works too. In a corporate job, you can extraordinarily shine by working on problems that very few people know how to solve. If you can extrapolate your knowledge to solve larger problems, that's the path to career growth and it eventually depends on how strong your fundamentals are.