Senior Frontend Software Engineer - coding

JavaScript coding:
I was asked to implement a promise-based class that fetches data from an API. It also required a getToken method to check whether a token was available, fetch it if not, and then use it in API requests. The interviewer had a stammering issue – and while I truly respect their effort – I found it a bit challenging to fully understand the requirements at the start. Because of this, I spent the first ~15 minutes clarifying the problem, which left less time for optimizations and scaling.

Browser coding (React):
Task was to implement a Tab UI:

  • Set current tab in the URL param and restore it on reload.
  • Scale-up: lazy-load tab data from an API.
  • Scale-up: render config-driven UI elements.
  • Scale-up: write validation logic for form data within a tab.

I implemented everything in React smoothly. The interviewer seemed satisfied but gave feedback that I took extra time recalling window.location API (since I first focused on getting the basic Tab UI working, then tackled URL params).

Final feedback
I solved the base requirement but didn’t use async/await (i used old promise syntax), which they considered best practice. Result: Not hire.

Browser coding - Didn’t properly separate React and JavaScript logic, Variable naming/documentation could have been better.
Result: Not aligned for P50 (they expect production-ready code in one go).

Takeaways:
Although I solved all requirements and felt confident, I still got rejected. My natural approach is to first solve the problem and then refactor/clean up – but the expectation here was to write clean, production-quality code from the start. It felt like the bar was being compared to AI-generated code in terms of structure and polish.

At the end of the day, interviews also involve timing, clarity, and a bit of luck. If it’s your day, you’ll crack it. If not, don’t question your skills – keep improving and moving forward.

Hope this experience helps others. All the best to everyone preparing!

2 Likes