Hello Folks ๐๐, I hope you're doing extremely great. I'm Sai Deepesh, currently working as a Frontend Engineer at Labra.
This is the second post of my interview experiences as a Frontend Engineer, check out my ZestMoney interview experience
In this post, I would like to share my interview experience for the SDE-1 Frontend Engineer position at Fynd
So as always, whenever I see a job posting that I think I can apply for, I reach out to folks on LinkedIn to get a referral, this time I saw this job posting on Angellist. Luckily someone was kind enough to refer me. This was in late Nov 2021.
After a week or so, the recruiter reached out to me and scheduled the first set of rounds.
The first two rounds were taken by the Barraiser platform. These rounds were not elimination rounds, after completing the two rounds I got the cumulative feedback.
Here there's no order to schedule the rounds, we can schedule in any way because anyhow the result will be a cumulative one.
Barraiser - Round 1: 1 hr
So this round was completely new to me, basically, I think this is more inclined towards senior engineers or experienced candidates ๐คทโโ๏ธ. Because the point of focus for these rounds was Architecture & Design, Performance Optimisation, Build & Release. And it was framework agnostic, as I have experience in React it was mostly around that.
As I don't have enough experience interviewer asked me to explain the current project that I've been working on. He dug deep into how we handle project architecture, building components, styling, building pages, handling routing, data fetching, state management, handling reusability, writing tests, etc.
Here's a simplified example.
//Components
ComponentA
- ComponentA.tsx
- ComponentA.styles.tsx //we use MUI
- ComponentA.spec.tsx
//State
Module
- action.ts
- reducer.ts
- reducer.spec.ts
//Internal component structure like
export const Comp = () => {
.
.
.
return (
.
.
.
)
}
I was asked to code an example project like โ๏ธ on a high level on an online editor, and he also dug deep into how we handled performance issues, re-rendering, etc.
And after this, we had some discussion regarding general web topics like performance optimisation, security, CSR vs SSR, local vs session storage, and similar topics.
Barraiser - Round 2: 1 hr
Okay, so the interviewer started by asking me my introduction, past projects, current projects and right after this he started with technical questions.
- Some basic JS output based questions like setTimeout with var and let, hoisting questions.
- Implement flattening the array question, debouncing and throttling
- I was given a mock(I think it was like a photo gallery) and asked me to implement using HTML, CSS
As I already practised very well I could able to handle these questions smoothly.
Fynd Team - Round 1: 1 hr
After a couple of days, the recruiter reached out to me and said it was positive and scheduled this first round with the team.
There were two panellists one was a senior engineer who was asking the questions and the other was just in silence through the call(maybe they're training her to take interviews). So we started introducing ourselves and he explained to me the structure of the interview, it was like
- JS output based questions
- DSA
- Machine coding.
I was asked a lot of output based questions with the theory behind them, the expectation was to answer the question and explain how it worked, there were around 10 questions and I could able to answer most of them, he gave me some hints for the questions I couldn't able to answer properly.
After that, I was asked to code two sum problems as part of the DSA section.
After that, I was given some random grid-based UI and I was asked to implement using HTML, CSS. Here as I was not much comfortable in advance grid patterns I used flexbox and I couple able to match the given mock perfectly. But I think he was not satisfied with the approach that I took.
Fynd - Round 2: 1 hr
As I've guessed it right, the recruiter reached out to me and said they want to conduct another round as they were not satisfied with the HTML, CSS part. After a couple of days, this round was scheduled and to my surprise, the second panellist in the first interview was my interviewer for this round ๐.
And this was one of my worst interview experiences so far, she gave me a dashboard mock which is similar to this and asked me to implement as much as I can in 15 mins ๐คฏ๐คฏ.
I used reactjs and did basic HTML skeleton with components and a bit of styling for one section of the page, and even after 15 mins she asked me to continue, I was like WTF(maybe she expected to complete the page in 15 mins or what ?), and honestly how much we can build in 15 mins ๐คฆโโ๏ธ. This was gone past 45 mins at this point
And after this, she asked me one JS problem-solving question, I coded it and ran the test cases, everything was perfect, but she said it was not the right approach that she's been looking for and asked me to modify, again I got frustrated and I said what's wrong in this, every test case with edge cases are working.
After a couple of days, I got my rejection mail(I was expecting this and I'm happy about it).
I asked for feedback but haven't got any response ๐.
Closing Thoughts:
- I made some mistakes in the process and learnt from them, which helped me to get better.
- Sometimes interviewers make mistakes, and it's fine, eventually, we learn from our mistakes.
- Just don't give up and be patient.
That's it, I hope this post will be helpful to you all and if you have any queries/suggestions comment down below or you can reach out to me via Twitter.