MakeMyTrip | Senior Frontend Engineer Interview | Sep 2023
Summary
I recently interviewed for a Senior Software Engineer - 2 position at MakeMyTrip in September 2023. The interview process, which spanned three rounds, rigorously tested my skills in frontend development, data structures, and system design.
Full Experience
My interview journey for the Senior Software Engineer - 2 position at MakeMyTrip in September 2023 was a thorough and engaging experience. I navigated through three distinct rounds, each designed to probe various facets of my technical expertise. Round 1 focused on core JavaScript and algorithmic challenges, while Round 2 delved into ReactJS concepts and a practical machine coding problem. The final Round 3 was dedicated to system design, deeper Redux discussions, web performance metrics, and a behavioral conversation about my learning trajectory.
Interview Questions (10)
Write a polyfill for the Array.flat method in JavaScript that supports a customized level of nesting.
Given two sorted arrays, merge them into the first array in-place without using extra space (or minimal extra space).
Write a JavaScript function that allows for method chaining, such as calc().add(10).subtract(5).multiply(20).divide(2).getResult(), which should evaluate to 50.
Explain the key differences between PureComponent and React.memo in ReactJS.
Discuss concepts related to Redux and its middlewares.
Implement a typeahead (autosuggest) search box. This component should fetch data from an API and include all necessary performance optimizations (e.g., debouncing, caching).
Design the system architecture for WhatsApp, including detailing its various APIs.
Discuss the trade-offs involved in using Redux for state management and share your personal opinion on its practical applications.
Explain how each of the Web Vitals works, discuss strategies for their improvement, and analyze scenario-based questions, such as the impact of a delayed Server-Side Rendered (SSR) document on specific Web Vitals.
Share information about two technologies I have recently learned and what I plan to learn next.