My experience with Frontend interview 📚
In this post, I would like to share my experience of Frontend interviewing experience. Stay tuned and read on guys 😊
As of writing, I have been working in the IT industry as a Frontend software engineer for 7 years. I have sat on both sides of the table as interviewer and interviewee. In the rest of the article, I would like to share my experience from conducting those interviews and give my personal opinion at the end 🙂
I started my career back in 2016-2017 as AngularJS and React developer as a starter. As a none-experience developer, the company that offered me did not expect much from me other than knowing some fundamental principles of programming such as SOLID and Object Oriented Programming - Abstraction, Encapsulation, Polymorphism and Inheritance. I was able to answer them pretty well and I did study them well before the actual coding interview. Yet, there was something that I was really bad at - Data Structure and Algorithm thinking. Since I was a 100% self-taught software engineer, I went online and looked for tutorials only. Most of them just showed me how to use certain technologies and build things without teaching me anything about actual programming. I was also rejected by several companies for the same reason - I could not solve their coding challenge. I still remember one of them was this merge intervals question in Leetcode. I was stunned and stood no chance of cracking it during the coding interview. Now looking back, I felt extremely lucky to be accepted by the company because it got me a proper start even though I was not good at all 😝
After getting my feet wet in the industry, I started sharpening my skills in every aspect of Frontend software engineering. Apart from working for the companies that hired me, I have also learnt from others and put them together as ever growing collection of resource for Frontend development. I also do not forget about practicing my data structure and algorithm problems solving skills at my alds (ALgorithm DataStructure) repository. Altogether, they help me a lot in my career not only as a Frontend software engineer but also as an interviewee whenever I need to find a better job to fit my career roadmap 😊
Experience as an interviewee
I have interviewed at roughly 20 companies throughout my career so far. Most of them share these in common:
- First round of technical challenges via the Hackerrank platform or alike
- Second round is the onsite interview which usually lasts for an hour to discuss system design for a particular problem such as Listing and Detail pages, Tree view, Search component, et cetera. This was often done via whiteboard discussion along with the interviewers
- Third round is the actual coding on the computer - pair programming
- Fourth round is last but never be the least - culture fit
Even though most companies favour this format as they tend to look for Frontend specialists. There were few companies that still stick to the format of throwing Leetcode problems at candidates and expecting them to solve problems the entire time. After that, they would start asking some general questions about browsers' API and networking protocols such as HTTP(S) verbs, WebSocket API, et cetera. I personally found this is not effective as it could not grade candidates based on their capability of solving and collaborating on actual daily problems as a Frontend software engineer. Yet, they still do exist 🙂
Experience as an interviewer
I have several years of sitting on another side of the interviewing table at Axon Global. The format of interviewing was proposed by an ex-Google HR member and adopted widely across the organization as well. The interviewing progress is almost identical to the one listed above except we do have one extra round purely for working history. We wanted to understand the working history and background of the candidate before reaching the final decision. It is not uncommon that candidates scored perfectly in previous rounds but received red flags in the culture fit and working history section due to his / her attitude toward their teammates. At Axon, we have a famous slogan "Let's build an effective team, not a perfect individual"
Personal thoughts
In my humble opinion, finding a perfect candidate via several hours of interviewing is never enough. According to Steve Jobs, it is hard as just finding the needles in the haystack. I believe it typically takes months or even years before we can know whether we made the right decision on hiring somebody. You definitely can hire some strongly technical-solid guy based on his / her previous work / code. Yet, it does not guarantee that person will be a good fit for your company in the long run which is what matters the most. I have learnt that the hard way at work... 🙂 To the very least, I still think a good candidate will shine at the following three things:
- Do good work
- Deliver on time
- Easy to work with
Resources
There you have it guys, my personal experience on Frontend software interview. I hope you find it useful in your life and have it beneficial sooner or later. Peace out and until next time 💞