Frontend Interview Experience – Flipkart

Anonymous User
938
Feb 20, 2026
Feb 20, 2026

Recently, I had the opportunity to interview for a Frontend Developer role at Flipkart, and I’d like to share my experience.

🟢 Round 1: Machine Coding (MC Round)

The task was related to CRUD operations.

The platform used was HackerEarth.

The experience on HackerEarth was smooth — no lag while compiling or running the code.

The problem focused on practical frontend implementation and clean structuring.

Verdict: Selected ✅

🟡 Round 2: PSDS Round (Problem Solving & Data Structures)

Before the interview, I was expecting LeetCode-style DSA questions. However, the interviewer asked frontend-specific problem-solving questions, which I found very interesting.

✅ Problem 1: Convert Flat Data to Tree Structure

I was asked to build a function convertToTree to transform a flat array of folders/files into a nested tree structure for a recursive Sidebar component (similar to a File Explorer UI).

Example input:

const flatData = [
{ id: 4, parentId: 2, name: 'Resume.pdf' },
{ id: 1, parentId: null, name: 'Root' },
{ id: 2, parentId: 1, name: 'Documents' },
{ id: 3, parentId: null, name: 'Config' }
];

This tested:

Tree data structure understanding

Efficient mapping using objects/maps

Recursive UI thinking

I was able to solve this, and the interviewer was satisfied with my approach.

⚡ Problem 2: Concurrency Control (Worker Pool Concept)

"You are given an array of async tasks (functions returning Promises). Execute them with a concurrency limit — at most limit promises should run at the same time. Once a task finishes, start the next immediately. Return results in the same order as input."

Example:

Tasks = [Promise1, Promise2, Promise3]

This problem tested:

Understanding of Promises

Async queue handling

Worker pool / concurrency pattern

I couldn’t complete the full implementation, but I was able to explain my intuition and approach clearly.

JavaScript
async function runWithConcurrencyLimit(tasks, limit) {
  const results = new Array(tasks.length);
  let nextIndex = 0;

  async function worker() {
    while (nextIndex < tasks.length) {
      const currentIndex = nextIndex;
      nextIndex++;

      try {
        results[currentIndex] = await tasks[currentIndex]();
      } catch (err) {
        throw err; // propagate error
      }
    }
  }

  // Start min(limit, tasks.length) workers
  const workers = Array(Math.min(limit, tasks.length))
    .fill(null)
    .map(() => worker());

  await Promise.all(workers);

  return results;
}

📌 Key Takeaways / Suggestions for Frontend Interviews

Don’t prepare only LeetCode-style DSA.

Practice real-world frontend data transformation problems.

Prepare async JavaScript deeply (Promises, concurrency control, worker pool patterns).

Focus on clarity of thought and structured explanation.

Frontend interviews are evolving — they test real engineering thinking, not just algorithm memorization.

Waiting for second round result. I will update the post once i will get the result .

Comments (7)