💼 My Interview Experience – Impact Analytics (SSE – Frontend)

Recently, I appeared for the third round of interviews for the Senior Software Engineer (Frontend) position at Impact Analytics.
Here’s how the round went — question by question 👇


🧩 Question 1: Infinite Curry Sum

The interviewer asked me to implement an infinite curry sum function.

I was able to write a working solution, but I missed adding the valueOf method, which caused the final output not to print as expected, as i had to print the sum which was declared in global scope. However, this gave the correct answer.

Interestingly, the interviewer (a female engineer — no bias intended) wanted me to implement currying using arrays, where the entire array of arguments is passed at once and then iterated inside the function.
This made me a bit confused because I tried to explain that currying is typically about transforming a function of multiple arguments into a sequence of functions taking one argument each.
We ended up spending around 10 minutes just discussing this difference, which ate into my problem-solving time.


🧠 Question 2: Object Comparison in JavaScript

Next, she asked about object comparison.
Two arrays with identical items were compared, and I explained that in JavaScript, objects (and arrays) are compared by reference, not by value — hence even identical arrays return false when compared using == or ===.


⚙️ Question 3: Promises and States

Then came a conceptual question: “Explain Promise and its states.”
I explained the three statespending, fulfilled, and rejected.
After that, I created a simple Promise using the resolve and reject constructor methods and explained how it transitions between states.


🔁 Question 4: Implement Retry Feature

I was then asked to implement a retry mechanism — when an API call fails, it should retry up to a certain limit.

I handled this by calling the resolving function inside the catch block, using a retry counter as a parameter to control the limit.


🌐 Question 5: Variable Scoping

The final question was around JavaScript variable scoping.
There was a var variable declared in the global scope, and another variable with the same name declared using let inside a function.
When logged inside the function, it correctly printed the value from the local scope — I explained this in terms of function scope (var) vs block scope (let).


📝 Outcome

Unfortunately, I was rejected for this round.
The feedback seemed to indicate that the interviewer felt I wasn’t the right fit for the role.


Comments (1)