SDE-2 Frontend MoEngage

moengage logo
moengage
sde-2 frontendRejected
November 25, 202572 reads

Summary

I interviewed for an SDE-2 Frontend role at MoEngage, going through three rounds that covered JavaScript fundamentals, deep React concepts, and a Hiring Manager discussion. Despite strong performance in the technical rounds, I was ultimately rejected due to perceived fitment issues in the final round.

Full Experience

My interview journey for the SDE-2 Frontend position at MoEngage involved three distinct rounds.

Round 1: Javascript Basics

This round started with a brief introduction, then quickly moved into coding challenges. I was asked to implement debouncing on a button using pure HTML, CSS, and JavaScript. Following that, I had to write a classNames utility function, similar to popular libraries, that could handle various input types like strings and objects. Finally, I was challenged to create a polyfill for Array.prototype.reduce.

Round 2: Deep Dive into React

After successfully clearing the first round, the second round, which focused on React, was rescheduled multiple times before finally taking place. This round delved deep into React concepts. We discussed the differences between React 16 and React 19 and the considerations for migrating a codebase. I explained why React is chosen over other libraries and its potential drawbacks. Other core topics included what JSX is and its necessity, various ways to implement conditional rendering, the workings of the Virtual DOM, and the reconciliation process in depth. I also had to enumerate all the reasons why React components re-render. We then discussed Higher-Order Components (HOCs) and I provided a real-time example. The round concluded with a coding task to create an Accordion component using React.

Round 3: Hiring Manager

This round was primarily a technical fitment discussion. We extensively talked about my past projects, the kind of environment and team structures I had previously worked in, and some other general hiring manager questions. At the end of this round, the Hiring Manager informed me that there were many candidates selected for the final round with only four openings, and they would debrief and let me know the outcome.

Verdict

Two to three days later, HR informed me that I was not moving forward. The feedback was that while I had a strong 'yes' in both technical rounds, the Hiring Manager felt I was lagging slightly in the fitment round. Consequently, I was rejected for the position.

Interview Questions (12)

Q1
Implement Debouncing on a Button
Data Structures & AlgorithmsMedium

Create a button and implement debouncing on it using pure HTML, CSS, and Javascript.

Q2
Implement `classNames` Function
Data Structures & AlgorithmsMedium

Implement a utility function classNames that concatenates CSS class names based on various input types (strings, objects with boolean values). Examples:

console.log(classNames('foo', 'bar'));                     // "foo bar"
console.log(classNames({ 'foo-bar': true }));              // "foo-bar"
console.log(classNames({ foo: true, bar: false, qux: true })); // "foo qux"
Q3
Polyfill `Array.prototype.reduce`
Data Structures & AlgorithmsMedium

Implement a polyfill for the native JavaScript Array.prototype.reduce method.

Q4
React 16 vs 19 Migration Considerations
OtherMedium

Discuss the key differences between React 16 and React 19, and what aspects need to be considered when migrating a codebase from React 16 to React 19.

Q5
Advantages of React over Other Libraries
OtherEasy

Explain the reasons and advantages of choosing React over other frontend libraries or frameworks.

Q6
Disadvantages of React
OtherEasy

Discuss the potential drawbacks and limitations of using React.

Q7
Explain JSX and its Necessity
OtherEasy

Describe what JSX is and why it is an essential part of React development.

Q8
Conditional Rendering Techniques in React
OtherEasy

Explain various methods and techniques for performing conditional rendering in React.

Q9
Virtual DOM and Reconciliation Process
OtherMedium

Explain the concept of the Virtual DOM and describe in detail how React's reconciliation process works.

Q10
Reasons for React Component Re-renders
OtherMedium

List and explain all the common reasons why a React component might re-render.

Q11
Higher-Order Components (HOC) with Real-Time Example
OtherMedium

Explain what Higher-Order Components (HOCs) are in React and provide a real-time example of their usage.

Q12
Implement Accordion Component in React
Data Structures & AlgorithmsMedium

Implement an Accordion component using React.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!