Capgemini Interview Rounds
Summary
I interviewed for a MERN Stack Developer position at Capgemini, completing three rounds that covered JavaScript/React, Node.js/Express/MongoDB, and system design.
Full Experience
Company: Capgemini
Role: MERN Stack Developer
Experience: 2-4 Years
Stack: React.js + Node.js + Express.js + MongoDB
Hiring: LinkedIn Job Posting
Round 1 - JavaScript & React.js
- Explain hoisting in JavaScript with let, const and var
- What is the difference between shallow copy and deep copy?
- Explain event bubbling and event capturing
- What are higher-order functions in JavaScript?
- What is the difference between Promise.all(), Promise.allSettled() and Promise.race()?
- How does React reconciliation work?
- Explain React.memo(), useMemo() and useCallback()
- What is prop drilling and how can you avoid it?
- How does React Context API work?
- How would you improve the performance of a large React application?
DSA:
- Contains Duplicate
- Longest Substring Without Repeating Characters
- Merge Two Sorted Arrays
- Product of Array Except Self
Round 2 - Node.js | Express | MongoDB
- Why is Node.js suitable for I/O-heavy applications?
- Explain the difference between process.nextTick() and setImmediate()
- How does Node.js handle concurrent requests?
- What are streams in Node.js and where would you use them?
- How do you structure a scalable Express.js application?
- Explain Express.js error-handling middleware
- How would you secure a REST API?
- Access token vs refresh token - what is the difference?
- What are MongoDB compound indexes and when should you use them?
- Explain MongoDB transactions and when they are required
- What is the difference between find(), findOne() and aggregate()?
- How would you design an efficient search API?
DSA:
- Detect Cycle in a Linked List
- Search in Rotated Sorted Array
- Top K Frequent Elements
- Merge Intervals
Round 3 - System Design & Project Discussion
Design a MERN application for a real-world use case.
- Food Delivery Application
- Learning Management System
- Job Portal Application
Production Scenarios
- Your Node.js server's CPU usage suddenly reaches 90%. How would you investigate?
- An API starts returning duplicate records. How would you identify and fix the issue?
- MongoDB memory usage keeps increasing in production. What would you investigate?
- A React application makes too many API calls. How would you debug and optimize it?
Interview Questions (37)
Explain hoisting in JavaScript with let, const and var
Explain hoisting in JavaScript with let, const and var.
Difference between shallow copy and deep copy
What is the difference between shallow copy and deep copy?
Event bubbling and event capturing
Explain event bubbling and event capturing.
Higher-order functions in JavaScript
What are higher-order functions in JavaScript?
Promise.all vs Promise.allSettled vs Promise.race
What is the difference between Promise.all(), Promise.allSettled() and Promise.race()?
React reconciliation
How does React reconciliation work?
React.memo, useMemo and useCallback
Explain React.memo(), useMemo() and useCallback().
Prop drilling avoidance
What is prop drilling and how can you avoid it?
React Context API
How does React Context API work?
Improving performance of large React apps
How would you improve the performance of a large React application?
Contains Duplicate
Given an array of integers, find if any value appears at least twice.
Longest Substring Without Repeating Characters
Given a string, find the length of the longest substring without repeating characters.
Merge Two Sorted Arrays
Given two sorted integer arrays, merge them into a single sorted array.
Product of Array Except Self
Given an array nums, return an array answer such that answer[i] is the product of all the elements of nums except nums[i].
Node.js suitability for I/O-heavy applications
Why is Node.js suitable for I/O-heavy applications?
process.nextTick vs setImmediate
Explain the difference between process.nextTick() and setImmediate().
Node.js concurrent request handling
How does Node.js handle concurrent requests?
Node.js streams usage
What are streams in Node.js and where would you use them?
Scalable Express.js architecture
How do you structure a scalable Express.js application?
Express.js error-handling middleware
Explain Express.js error-handling middleware.
Securing a REST API
How would you secure a REST API?
Access token vs refresh token
Access token vs refresh token - what is the difference?
MongoDB compound indexes
What are MongoDB compound indexes and when should you use them?
MongoDB transactions
Explain MongoDB transactions and when they are required.
MongoDB find vs findOne vs aggregate
What is the difference between find(), findOne() and aggregate()?
Design efficient search API
How would you design an efficient search API?
Detect Cycle in a Linked List
Given a singly linked list, determine if it contains a cycle.
Search in Rotated Sorted Array
Search a target value in a rotated sorted array.
Top K Frequent Elements
Find the k most frequent elements in an integer array.
Merge Intervals
Given a collection of intervals, merge all overlapping intervals.
Design a MERN application - Food Delivery
Design a MERN application for a food delivery use case.
Design a MERN application - Learning Management System
Design a MERN application for a learning management system use case.
Design a MERN application - Job Portal
Design a MERN application for a job portal use case.
Node.js CPU usage investigation
Your Node.js server's CPU usage suddenly reaches 90%. How would you investigate?
API duplicate records debugging
An API starts returning duplicate records. How would you identify and fix the issue?
MongoDB memory usage investigation
MongoDB memory usage keeps increasing in production. What would you investigate?
React excessive API calls optimization
A React application makes too many API calls. How would you debug and optimize it?