Initially, I was quite happy to welcome this trend. No LeetCode-ing, use my favorite tech stack, sharpen some fundamentals, and learn a new Web API or two. It didn't end there, I've received 4 offers from companies that used a combination of take-home exercise and code-a-project during onsite.
Fast forward to current date, I'd discourage this approach of interviewing a candidate. Firstly, the amount of time involved per exercise is impractical, think 3+ hrs per take-home exercise. And more importantly, any two teams could have entirely different opinion about the same piece of code/architecture. In a limited time setting, candidate can focus on a subset of key aspects like functional spec, clean code, tests, performance, or pixel perfection. But it's difficult to gauge what is important to the team.
I wouldn't want to criticize something without giving a few alternatives.
Option 1. LeetCode-style interview is difficult to prepare, but it is more objective and fair when compared with code-a-project styled interview.
Option 2. For frontend engineering roles, there are well defined focus areas. Onsite interviews should assess each of these areas separately rather than clubbing them into a single mini-project. Example:
Round 1. HTML/CSS, tests solid foundational knowledge. Round 2. JavaScript, tests solid foundational knowledge. Round 3. Framework, pair program a widget. Round 4. Special Topics: accessibility, networking, performance, security, testing etc, Pick 1-2 topics and go deep. Round 5. System Design for experienced candidates/CS Fundamentals for lesser experienced candidates.
#frontend #interviews
My version would be talk to the candidate for 30+ minutes about their general experience and then in depth about something they worked on recently and can give great detail on what was being solved, how it was written, and challenges overcome in the process. I'll follow that up with pairing on a problem in a language/stack that's relevant to the position and candidate.
My fave way of getting hired is when your car breaks down on the highway and you buy a used car from Auto Trader and the guy sees your engineering ring and asks "Do you know how to make a print function for a GUI program?" I didn't, but figured it that weekend. Got the car and means to pay for it.