Senior Software Engineer - Frontend | Impact Analytics
- Location
- Bangalore
- Posted
- 4 May 2026
Summary
Interview process consisted of an online assessment followed by technical and component design interviews focusing heavily on JavaScript, React, HTML/CSS concepts. The final onsite round was poorly organized with irrelevant questions for the role.
How it went
Round 1 — Online Assessment (OA)
3 questions:
- A Redux + Redux Thunk based React application boilerplate was given and I needed to fill out all the functions.
- Had to add HTML, CSS and JS to generate TSA, Total Volume, etc. for a cuboid. There were a list of instructions regarding the HTML, CSS and JS structure, and we needed to add functions to calculate the TSA and TV.
- A HTML, CSS, JS based form (don't recall the exact details).
Round 2 — JS/React Technical Interview (R1)
Was asked everything under the sun, a lot of HTML, CSS, JS, React and Git based questions. Some that I recall:
- How would you set up a new app if you know that it is data heavy? (web workers expected here)
- Debounce vs Throttle, and real-world examples for each
- How to rename an old commit
- Difference between rebase and merge
- Implement object flatten
- Explain currying and implement it
- What is JS implicit type coercion and what do these evaluate to:
1 + "1"1 - "1"1 - - "1"
- Internal working of Redux
- Difference between normal function and arrow function
- Explain the Event Loop and Execution Context
- What is CORS?
- Explain code splitting
- What is memoisation?
- What is batching in React?
- How do you update a parent from a child in React?
Round 3 — Component Design Round (R2, Onsite)
The recruiter mentioned it was going to be a System Design round but it turned out to be a component design round. The questions I recall are:
- How would you rate yourself in HTML and CSS?
- What are some new additions in HTML5?
- Center a box without touching the HTML, it was a single div in the HTML, CSS only.
- Design a Nested Dropdown Menu similar to https://www.radix-ui.com/primitives/docs/components/dropdown-menu
A Few Things To Note
- There was no proper recruiter call. Multiple recruiters were reaching out at different stages with no clear ownership of the process.
- The scope of the role and the team (component building team) were never communicated during the process, I found out from the interviewers themselves in the final round. Three rounds in.
- None of the previous interview rounds were relevant to the actual role.
- I had to fly to Bangalore for the final round at my own expense. No reimbursement.
- The interviewers were 15 minutes late to what ended up being a 30 minute interview.
If a company can't reimburse the candidate for travel, they need to just take the interview online. Flying out for a 30 minute interview that started 15 minutes late was a genuine waste of time and effort.
Questions asked (17)
- 01
Setup Data Heavy Application
Data Structures & Algorithms
How would you set up a new app if you know that it is data heavy?
- 02
Debounce vs Throttle Implementation
Data Structures & Algorithms
Difference between debounce and throttle with real-world examples.
- 03
Rename Old Commit in Git
Other
How to rename an old commit using git commands.
- 04
Rebase vs Merge in Git
Other
Difference between rebasing and merging branches in Git.
- 05
Flatten Object Implementation
Data Structures & Algorithms
Implement a function to flatten nested objects into a single level object.
- 06
Currying Function Implementation
Data Structures & Algorithms
Explain and implement currying in JavaScript.
- 07
JavaScript Implicit Type Coercion Evaluation
Data Structures & Algorithms
Evaluate expressions involving JavaScript implicit type coercion:
-1 + "1"
-1 - "1"
-1 - - "1" - 08
Redux Internal Working
Data Structures & Algorithms
Explain internal working principles of Redux library.
- 09
Normal Functions vs Arrow Functions
Data Structures & Algorithms
Difference between regular functions and ES6 arrow functions in JavaScript.
- 10
Event Loop and Execution Context Explanation
Data Structures & Algorithms
Explain how JavaScript event loop works along with execution context lifecycle.
- 11
CORS Explanation
Other
What is Cross-Origin Resource Sharing (CORS)?
- 12
Code Splitting Explanation
Other
Explain concept and implementation of code splitting in modern web applications.
- 13
Memoization Concept
Data Structures & Algorithms
What is memoization and when should it be used?
- 14
Batching in React
Data Structures & Algorithms
What is batching mechanism in React updates?
- 15
Update Parent Component from Child
Data Structures & Algorithms
How do you communicate upward from child to parent components in React?
- 16
Center Box Using Only CSS
Data Structures & Algorithms
Given a single div element, center it horizontally and vertically using only CSS without modifying HTML.
- 17
Nested Dropdown Menu Design
System Design
Open the problemDesign a nested dropdown menu similar to Radix UI primitives dropdown menu component.