How To Solve Coding Problems And What Companies Are Looking For.
Most people think hiring managers are looking for coding skills during an interview. Actually, there are a few components. Companies are looking for analytical skills. How can you think through a problem and analyze things.
When you code a problem during an interview, they are looking for how you go about solving the problem and what your thought process is from not knowing the answer to solving the problem.
They’re also looking for coding skills. Can you code the solution? Is your code clean, well-organized, and readable?
They also want to obviously know your technical skills. Do you know the fundamentals? Did you just memorize things or do you understand the pros and cons of different solutions?
And finally, your communication skills. Does your personality match the company’s personality? Can you communicate well with the others, with the team?
Most likely you won’t be working by yourself. You’ll be working with others, with other teams, with managers and they want to know whether you’re the type of person that’s going to fit well and work well within the company.
Most people get hung up on the idea of learning every single data structure and algorithm. Doing a thousand problems to practice before an interview. And these are important. But in most companies you don’t actually need to know how to write a binary search tree or write a sorting algorithm from scratch. Most of the time you’re gonna learn on the go, on the job.
As engineers, we know that most of the time, when a problem presents itself we are good at searching the web on google for answers. Not a single one of us has everything memorized and companies realize this. What they are looking for are people who know how to look for answers and they want to know that you know your data structures and algorithms and you know of their existence. That’s the key.
They want to know when you should use a certain data structure over the other. And why we should use a certain algorithm over another.
At the end of the day, people want smart people. They want people that can solve problems that they cannot solve themselves because that’s what they’re paying you for.
I’ve spoken to those who have worked for companies and have helped with hiring. It’s surprisingly hard to hire people who can solve problems themselves without holding their hand or walking them through a problem entirely.
Understand the why of doing things. Why is one answer better than another? Why are we learning this? Why is this the answer to the problem?
As always, I highly recommend the Zero to Mastery Academy to improve your own personal skills as a programmer as this is where all this information was drawn from and Andrei Neagoie, the founder and lead instructor, has been a true mentor to me.
Photo credit: http://www.crackingthecodinginterview.com/solutions.html