Areas to Master for Cracking Technical Interviews as Experienced Engineer
In my previous post here, we discussed about the areas you need to master as a newbie. The areas like Algorithms, data structures, language specific questions, how web works and behavioral questions. As a senior engineer, you need to master all those areas plus a few more. Many times, people say that I am already in a senior role, they won’t ask me algorithm questions. That’s not necessarily true. Companies do ask these types of questions all the time. The argument from the companies is that you should be even more strong in these areas since you are experienced.
For experienced candidates, first & foremost, you should be comfortable talking more about your projects. You should know what decisions were made, what all options were considered. What all parameters were considered while making the decision and why was the project done a specific way. What were the challenges faced and what will you do differently if you were to do it again.
Secondly, you should be able to talk about system designs. How big companies have laid out their systems and solved their problems of scalability and availability. If someone asks you how Twitter works, how Amazon works, how Google works, you should be able to lay out a basic bare bone design of their system. You can’t do the full design in 45 mins of interview but only the basic design. So you should be prepared to talk about it and discuss it over the whiteboard.
Thirdly, you should know the basics of big data. You should know what Map Reduce is, what Hadoop is, etc. All these are comparatively newer technologies. And if you discuss about these you basically show the employer that you keep track of latest in the technologies.
Finally, you should also know basics of web security. Especially when you are discussing various designs and the interviewer brings up that how will you make sure authentication and authorization works. What will be the consequences of data kept in distributed locations. You should be able to discuss the various security strategies that you can use in difference scenarios.
I think that’s quite a comprehensive list of topics to master. Please let me know if I missed anything or you want me to add anything here. I will be posting more content on cracking technical interviews. Please subscribe to me on twitter here.