Interview Round 3 - Frontend Developer Role @ Invictus Data AI

Interview Round 3 - Frontend Developer Role @ Invictus Data AI

In my previous article, I have written my round 2 interview experience at Invictus Data AI. I got a call from HR informing me that I was selected for round 3, which took place today.

In this article, I will share the questions I have been asked and my experience. Let’s gooo!

Interview Duration: Around 30 minutes

NOTE : Please note that while the terminology and phrasing used in this article may not exactly align with the interviewer's original wording, I will try my best to maintain the context and intent/meaning of the question.


The interviewer started with asking how I am, and I asked the same in return. And then, we exchanged conversation about where we are from. Then, the interview started.

Question 1 : Can you tell a bit about yourself?

I introduced myself, covering my skills, experience, and goals.


Question 2 : What is hoisting?

I explained about what hoisting is, and the role it plays in scoping and accessing variables/functions before declaration.


Question 3 : What is the difference between var, let, and const?

I replied explaining the difference between the three, and what is recommended to use, and scope issues with var.


Question 4 : Is it okay if we don’t initialize a variable declared using const?

Since JS Engine throws an error saying variable hasn’t been initialized in this case, I answered the same.


Question 5 : Inside a function, are let variables not hoisted? Does hoisting apply to let variables in general?

I answered saying hoisting for those variables declared inside a function, applies only to the function scope. And, I told that let variables are hoisted, but are in temporal deadzone.


Question 6 : What is Immediately Invoked Function Expression? What is its usage?

I explained the syntax of IIFE, and how we can use it to connect to the database, so that we don’t need to explicitly call the function, instead the function can be invoked and executed immediately with IIFE.


Question 7 : What are call, apply, and bind? What is the difference between them?

Since these are used to attach this context to an object, I answered the same and explained the difference between the three in terms of the way we use them, and the bind method being a little different since it returns a function.


Question 8 : What is a promise? What are the and catch?

I answered explaining how promises can be used to perform asynchronous tasks, like making API calls, and the 3 different states in which the promise can be.

Regarding then and catch, I explained how they can be used to handle the tasks that we need to perform in case a promise succeeds or fails.


Question 9 : What is virtual DOM?

As it plays a key role in efficient rendering of components in a React application, I told the same, also explained how the diffing process happens, compared it with how it happens in JavaScript, and what are the drawbacks there, and that it is an in-memory representation of the DOM.


Question 10 : What are lifecycle methods in React?

I laid out the 4 phases of React component lifecycle (Mounting, Updating, Unmounting, Error Handling), and then listed various lifecycle methods and when they are executed during a component’s lifecycle.


Question 11 : What are error boundaries and how are they helpful?

I answered saying we can use them for gracefully handling the errors in a React application, and we can have a component to display a meaningful message to the user.


Question 12 : What is the concept of state?

While I did answer this question well, I took this as an opportunity to explain my knowledge behind why React has been introduced in the first place, and how it solves the phantom message problem before React was introduced a decade ago.

Then, I have explained the use of state, and the useState concept, how this state solves the phantom message issue, etc.


Question 13 : During your development journey, have you worked on any challenging task while working on a React application?

I explained how I have implemented state management, lazy loading of images, using the useCallback and useMemo hooks for optimizing the performance of the application.


Question 14 : Have you participated in code reviews? How do you do those reviews?

I answered saying how we approach a code review, by testing all the functionalities, how we check if any optimizations can be implemented for improved performance, etc.


Question 15 : How do you approach understanding the existing code of an application?

I told that I would understand it by listing down all the actions the end user might perform and will be going through the code responsible for enabling that action to happen, and then will move on to the next action/feature. For example, understanding authentication implementation in the application at a time.


Question 16 : Have you been involved in client communication?

Since I haven’t been involved much in communicating with the client, I told them I have a little experience.


Question 17 : Let’s say a client has given you a task which needs 3 months to accomplish, but the client wants you to do it in 1 month. How do you approach it?

I explained that I will ensure we have a MVP (Minimum Viable Product) first, and then take on the enhancements on top of it, like design requirements, etc.


Question 18 : But, let’s say there is an existing application already, and the client wants you to implement some new feature which would ideally take 3 months, but the client wants you to finish it in 1 month. How do you approach this?

I answered saying that I will first try to communicate with the client, along with my team, on why we need 3 months. If the client still needs it to be done in 1 month, I will start by breaking down the requirements into actionable development tasks, and for each task, reducing the efforts by doing important subtasks, and by prioritizing what’s needed, and looking into what we can avoid. Here as well, I will follow the functionality first approach, and will also have continuous communication with the client, and will plan the team’s efforts accordingly.


Question 19 : Do you have any questions for me?

My first question : Since you have 7+ years of experience in full stack, what are the things that a developer who is trying to excel in this journey and the organization should consider and follow?

My second question : May I know the kind of projects, an individual selected for this role might work on?


Conclusion

While the interview experience was good, in this interview, my problem-solving skills and my approach on how I would solve issues have been tested. So, I would say that it is equally important to focus on answering behavioral and managerial questions like these, while also being strong at programming fundamentals and your technical skills.

Like, share and follow me for more such content. All the best for your interviews!