In my 6+ years of career, I have interviewed for an array of companies, from early-stage startups to the e-commerce giant of the globe, majorly for web development or frontend roles and I can say that the way interviews are conducted are evolving significantly.
Based on my experience and according to recent trends these are all that you can expect in your frontend or web development interview.
Online assessment test
If your resume gets shortlisted then you can expect an online assessment test (OA) link from any popular online coding app like HackerRank (often), Codility, HackerEarth, etc.
This test can be anywhere between 60 to 90 mins and you can expect 2 to 3 DSA as well as MCQ questions.
There can be only DSA (medium) and MCQ, 2 DSA (1 easy, 1 medium), and MCQ, 3 DSA.
You can solve the DSA problems in JavaScript or any programming language of preference, usually, there are no restrictions on them.
For DSA, Must prepare,
- Arrays
- Strings
- Hashmap
- Linkedlists
- Tress (DOM is a basically n-ary tree)
For MCQs,
- Vanilla JS
- CSS
- Sometimes framework-specific questions like for React or Vue, depending upon what is mentioned in the job description.
80% of companies on which I had applied have sent me the OA test.
DSA / Platform round
In 60% of cases companies in which I have interviewed had kept DSA as the second round, 40% evaluated me on core javascript fundamentals.
This round is majorly taken to analyze your problem-solving skills, in both cases, I had to solve problems only.
For DSA, 1 (medium) or 2 (1 easy, 1 medium) questions will be asked and a majority of them are related to Trees. If there are two questions then one has to be Tree.
For Platform, you will be asked to solve problems related to,
- Currying
- Promises
- Closure
- Timers
- this
- Design patterns
Machine coding / How To
In the third round, almost 90% of companies had asked me to code something, they will basically provide you a Product Requirement Document and will list down all the features, you will have to create the MVP in the framework of your choice or in Vanilla js (if asked).
The features list contains Must-Have (compulsory), Nice-to-have (cherry on the cake).
If you can implement both it’s an added advantage.
You must learn to code without syntax highlighting and recommendations to excel in it. Practice by building small components.
The best way, implementing everything from the How to Section of w3schools.
System Design (SDE2+, 3+ years of exp).
For SDE2+, system design round is a must.
In this round, you will be asked to talk about how would you create something, what will be your approach.
For every point you will pitch, you will be cross-examined and you should be able to justify it.
Remember there is no perfect system, your system is built according to your requirements and there are different ways to build, the most important thing here is to justify your approach.
Master the tradeoffs to design a better system.
Prepare on
- State management
- Performance
- Accessibility
- Cross device/browser compatibility
- Latency / slow network support
- Localization/ Internationalization
- Architectures
- Caching
- SEO
- Server-side Rendering / Client-side Rendering
- Testing
- Security
Sometimes when the team is unsure about your candidature then there is one additional round (Tie Breaker) which will be either on DSA / Platform / System design any of these.
Cultural fit / VP / HR
In this round, it is checked if you are a team player or not, how well do you perform under pressure based on your past experiences, etc.
If you have reached this round, that means you have done well in your interviews and you can expect an offer letter soon.
Congratulations 🎉 you nailed it. But don’t get carried away in the joy, always negotiate your offer before accepting it.