Master technical and career interviews with structured answers—short definition, real examples, pitfalls, and how to answer in 60–90 seconds.
Short answer: Infinite loops in useEffect occur when the effect continually triggers itself because the dependency array includes values that change as a result of the effect itself. Explain a bit more Common cause: If a…
Short answer: Custom hooks are a powerful way to share logic between components in a reusable and encapsulated way. Explain a bit more A custom hook is simply a JavaScript function that uses React hooks (like useState, u…
Short answer: In class components, the lifecycle is managed using methods like componentDidMount, componentDidUpdate, and componentWillUnmount. Explain a bit more With hooks, these are replaced with useEffect, which can…
Short answer: React keys help React identify which items in a list are changed, added, or removed. Keys provide a stable identity for each element, allowing React to optimize re-renders. Important: Keys should be unique…
Short answer: Handling errors in React is done using Error Boundaries. Explain a bit more They are React components that catch JavaScript errors anywhere in their child component tree and log those errors or display a fa…
Short answer: To optimize React apps for SEO (Search Engine Optimization): Real-world example (ShopNest) ShopNest’s storefront is React: components for ProductCard, CartDrawer, and CheckoutForm, with hooks for local UI s…
Short answer: Reconciliation is the process React uses to update the UI efficiently when state or props change. Explain a bit more React compares the old virtual DOM with the new virtual DOM and calculates the minimal se…
Short answer: React uses the Virtual DOM to handle updates. When state or props change, React creates a new virtual DOM, compares it to the previous version, and calculates the most efficient way to update the actual DOM…
Short answer: new virtual DOM, compares it to the previous version, and calculates the most efficient way to update the actual DOM. Steps: new virtual DOM, compares it to the previous version, and calculates the most eff…
Short answer: React: Library for building UI, focusing on components and rendering. Explain a bit more Declarative and flexible: Use JavaScript to write components. React has a rich ecosystem, but you often need addition…
Short answer: ngular: Framework: Full-fledged framework for building web apps. Uses TypeScript by default and has built-in solutions for routing, HTTP requests, form handling, and more. Real-world example (ShopNest) Shop…
Short answer: JSX transpilation refers to the process of converting JSX syntax (JavaScript XML) into regular JavaScript. Since browsers don't understand JSX directly, tools like Babel transpile JSX into valid JavaScript…
Short answer: You can use libraries like react-dnd or react-beautiful-dnd for drag-and-drop functionality. Example with react-beautiful-dnd: npm install react-beautiful-dnd import { DragDropContext, Droppable, Draggable…
Short answer: Concurrent Mode is an experimental feature in React that enables the rendering process to be interruptible. It allows React to work on multiple tasks at once, making apps feel more responsive by prioritizin…
Short answer: React.lazy enables you to dynamically import components only when they are needed, enabling code splitting and lazy loading. Explain a bit more const LazyComponent = React.lazy(() => import('./LazyCompon…
Short answer: An ATS-friendly resume is simple, keyword-aligned, and evidence-based. Use plain formatting so systems can parse sections correctly, then make each bullet prove measurable impact. If ATS can read it and a r…
Short answer: For most tech roles, one page is ideal up to around 5 to 7 years of experience, while two pages may be justified for senior profiles with strong breadth. The goal is not page count; it is relevance density.…
Short answer: Add skills that are both role-relevant and demonstrably used in your projects or experience. Recruiters quickly reject skill lists that look inflated or disconnected from work history. Curate for depth and…
Short answer: A professional summary should state role identity, core strengths, and business impact in 3 to 4 lines. It is not an objective statement or motivational quote. Think of it as your positioning headline for r…
Short answer: Project descriptions must show problem, your contribution, tech choices, and measurable outcomes. Most resumes fail because they list features, not impact. Write each project bullet so an interviewer can as…
Short answer: ATS optimization is about semantic match and parse accuracy. You need relevant keywords, standard structure, and clear chronology so screening systems score your profile correctly. Optimization should impro…
Short answer: No-experience resumes should highlight projects, internships, coursework relevance, and problem-solving evidence. Recruiters know you are entry-level; they want proof that you can execute and learn quickly.…
Short answer: For developers, reverse-chronological format works best because it highlights recent technical depth and growth trajectory. Keep sections predictable so both ATS and engineering managers can scan quickly. S…
Short answer: Most resume rejection happens due to preventable errors: irrelevance, weak evidence, and formatting noise. A clean, targeted resume with quantified outcomes wins more interviews than a lengthy generic docum…
Short answer: Tailoring means changing emphasis, not inventing experience. Mirror the job language, prioritize relevant achievements, and remove distracting content. A targeted resume dramatically improves ATS match and…
React.js React.js Tutorial · React
Short answer: Infinite loops in useEffect occur when the effect continually triggers itself because the dependency array includes values that change as a result of the effect itself.
Common cause: If a value inside useEffect is being updated, and it's in the dependency array, React will keep rerunning the effect. How to avoid: Use an empty dependency array ([]) if the effect should run only once. Be selective with dependencies to avoid unnecessary re-renders.
useEffect(() => { // Perform API call or other side effects fetchData(); }, []); // No dependencies, effect runs only once If the dependency list has state values or props that change inside the effect, React will rerun it every time those values change. Be mindful of that!
ShopNest’s cart icon uses useState for count and useEffect to load the cart once on mount.
React.js React.js Tutorial · React
Short answer: Custom hooks are a powerful way to share logic between components in a reusable and encapsulated way.
A custom hook is simply a JavaScript function that uses React hooks (like useState, useEffect, etc.). Example of a custom hook: // useLocalStorage.js import { useState } from 'react'; function useLocalStorage(key, initialValue) { const [storedValue, setStoredValue] = useState(() => { const item = localStorage.getItem(key);
return item ? JSON.parse(item) : initialValue; }); const setValue = (value) => { setStoredValue(value); localStorage.setItem(key, JSON.stringify(value)); }; return [storedValue, setValue];
} export default useLocalStorage; You can then use this custom hook in any component: import useLocalStorage from './useLocalStorage'; function App() { const [name, setName] = useLocalStorage('name', 'John');
return ( <div> <input value={name} onChange={(e) => setName(e.target.value)} placeholder="Enter your name" /> </div> ); } Custom hooks allow for reusable logic (like managing form state, fetching data, etc.) and encapsulation of behavior in a way that doesn't require repeated code.
ShopNest’s cart icon uses useState for count and useEffect to load the cart once on mount.
React.js React.js Tutorial · React
Short answer: In class components, the lifecycle is managed using methods like componentDidMount, componentDidUpdate, and componentWillUnmount.
With hooks, these are replaced with useEffect, which can mimic any lifecycle behavior. Lifecycle Mapping: componentDidMount: Use useEffect with an empty dependency array ([]). componentDidUpdate: Use useEffect with dependencies. componentWillUnmount: Return a cleanup function inside useEffect.
useEffect(() => { // Equivalent to componentDidMount and componentDidUpdate console.log("Component mounted or updated"); return () => { // Equivalent to componentWillUnmount console.log("Cleanup before component unmount"); }; }, [dependencies]); // Will run on mount and update based on dependencies
ShopNest’s cart icon uses useState for count and useEffect to load the cart once on mount.
React.js React.js Tutorial · React
Short answer: React keys help React identify which items in a list are changed, added, or removed. Keys provide a stable identity for each element, allowing React to optimize re-renders. Important: Keys should be unique for each sibling component. Why important: Without keys, React has to re-render all list items when the list changes, which can be inefficient.
const items = ['apple', 'banana', 'cherry']; return ( <ul> {items.map((item, index) => ( <li key={index}>{item}</li> ))} </ul> ); Tip: It’s better to use a unique identifier (e.g., id) as a key instead of using index if the list can change order or content dynamically.
When rendering cart lines, use a stable key={item.id}—not the array index—so React updates the right row after delete.
React.js React.js Tutorial · React
Short answer: Handling errors in React is done using Error Boundaries.
They are React components that catch JavaScript errors anywhere in their child component tree and log those errors or display a fallback UI. Example of Error Boundary: class ErrorBoundary extends React.Component { constructor(props) { super(props); this.state = { hasError: false }; } static getDerivedStateFromError(error) { return { hasError: true }; // Update state to trigger fallback UI } componentDidCatch(error, info) { console.error(error, info); } render() { if (this.state.hasError) {
return <h1>Something went wrong!</h1>;
}
return this.props.children;
}
} You wrap your components inside ErrorBoundary to catch and handle errors gracefully.
ShopNest’s storefront is React: components for ProductCard, CartDrawer, and CheckoutForm, with hooks for local UI state.
React.js React.js Tutorial · React
Short answer: To optimize React apps for SEO (Search Engine Optimization):
ShopNest’s storefront is React: components for ProductCard, CartDrawer, and CheckoutForm, with hooks for local UI state.
React.js React.js Tutorial · React
Short answer: Reconciliation is the process React uses to update the UI efficiently when state or props change.
React compares the old virtual DOM with the new virtual DOM and calculates the minimal set of changes required to update the real DOM. This makes React apps fast and efficient. Why important: It helps React determine the minimal updates needed, avoiding unnecessary re-renders. React uses a diffing algorithm to compare previous and current states to optimize DOM updates.
ShopNest’s storefront is React: components for ProductCard, CartDrawer, and CheckoutForm, with hooks for local UI state.
React.js React.js Tutorial · React
Short answer: React uses the Virtual DOM to handle updates. When state or props change, React creates a new virtual DOM, compares it to the previous version, and calculates the most efficient way to update the actual DOM. Steps:
ShopNest’s storefront is React: components for ProductCard, CartDrawer, and CheckoutForm, with hooks for local UI state.
React.js React.js Tutorial · React
Short answer: new virtual DOM, compares it to the previous version, and calculates the most efficient way to update the actual DOM. Steps: new virtual DOM, compares it to the previous version, and calculates the most efficient way to update the actual DOM. Steps:
ShopNest’s storefront is React: components for ProductCard, CartDrawer, and CheckoutForm, with hooks for local UI state.
React.js React.js Tutorial · React
Short answer: React: Library for building UI, focusing on components and rendering.
Declarative and flexible: Use JavaScript to write components. React has a rich ecosystem, but you often need additional libraries for routing, state management, etc. Angular: Framework: Full-fledged framework for building web apps. Uses TypeScript by default and has built-in solutions for routing, HTTP requests, form handling, and more. Two-way data binding: Automatically synchronizes model and view. Vue: Framework: Similar to React, but provides two-way binding and template syntax. Easier to integrate into existing projects. Flexibility: Offers the reactivity model and simplicity in syntax.
ShopNest’s storefront is React: components for ProductCard, CartDrawer, and CheckoutForm, with hooks for local UI state.
React.js React.js Tutorial · React
Short answer: ngular: Framework: Full-fledged framework for building web apps. Uses TypeScript by default and has built-in solutions for routing, HTTP requests, form handling, and more.
ShopNest’s storefront is React: components for ProductCard, CartDrawer, and CheckoutForm, with hooks for local UI state.
React.js React.js Tutorial · React
Short answer: JSX transpilation refers to the process of converting JSX syntax (JavaScript XML) into regular JavaScript. Since browsers don't understand JSX directly, tools like Babel transpile JSX into valid JavaScript that browsers can execute.
const element = <h1>Hello, world!</h1>; Babel transpiles the JSX into: const element = React.createElement('h1', null, 'Hello, world!');
ShopNest’s storefront is React: components for ProductCard, CartDrawer, and CheckoutForm, with hooks for local UI state.
React.js React.js Tutorial · React
Short answer: You can use libraries like react-dnd or react-beautiful-dnd for drag-and-drop functionality. Example with react-beautiful-dnd: npm install react-beautiful-dnd import { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd'; function App() { const items = ['item1', 'item2', 'item3'];
return ( <DragDropContext onDragEnd={() => {}}> <Droppable droppableId="droppable"> {(provided) => ( <ul ref={provided.innerRef} {...provided.droppableProps}> {items.map((item, index) => ( <Draggable key={item} draggableId={item} index={index}> {(provided) => ( <li ref={provided.innerRef} {...provided.draggableProps} {...provided.dragHandleProps} {item} </li> )} </Draggable> ))} {provided.placeholder} </ul> )} </Droppable> </DragDropContext> ); }
ShopNest’s storefront is React: components for ProductCard, CartDrawer, and CheckoutForm, with hooks for local UI state.
React.js React.js Tutorial · React
Short answer: Concurrent Mode is an experimental feature in React that enables the rendering process to be interruptible. It allows React to work on multiple tasks at once, making apps feel more responsive by prioritizing higher-priority updates (like animations or user input) over lower-priority ones.
ShopNest’s storefront is React: components for ProductCard, CartDrawer, and CheckoutForm, with hooks for local UI state.
React.js React.js Tutorial · React
Short answer: React.lazy enables you to dynamically import components only when they are needed, enabling code splitting and lazy loading.
const LazyComponent = React.lazy(() => import('./LazyComponent')); function App() { return ( <React.Suspense fallback={<div>Loading...</div>}> <LazyComponent /> </React.Suspense> ); } Suspense is a wrapper around lazy-loaded components that shows a loading fallback while the component is being loaded.
ShopNest’s storefront is React: components for ProductCard, CartDrawer, and CheckoutForm, with hooks for local UI state.
Resume & ATS Career & HR Interview Guide · Resume & ATS
Short answer: An ATS-friendly resume is simple, keyword-aligned, and evidence-based. Use plain formatting so systems can parse sections correctly, then make each bullet prove measurable impact. If ATS can read it and a recruiter can scan it in 20 seconds, you are on the right track.
Priya applied to 40 roles from TCS and got almost no callbacks. Rahul from Razorpay reviewed her resume and found heavy design formatting with missing backend keywords. She rebuilt it into a clean one-column format with impact metrics for latency and uptime improvements. Callback rate improved within two weeks.
Readable by machine first, impressive to human next.
Resume & ATS Career & HR Interview Guide · Resume & ATS
Short answer: For most tech roles, one page is ideal up to around 5 to 7 years of experience, while two pages may be justified for senior profiles with strong breadth. The goal is not page count; it is relevance density. Keep only what supports the target role.
Ananya had a 3-page resume for a 4-year profile at Infosys. Vikram from Freshworks asked her to trim repetitive points and keep only role-matching achievements. She reduced it to 1.2 pages with stronger metrics and cleaner sectioning. Recruiters started responding faster because the core story became obvious.
Length should follow relevance, not ego.
Resume & ATS Career & HR Interview Guide · Resume & ATS
Short answer: Add skills that are both role-relevant and demonstrably used in your projects or experience. Recruiters quickly reject skill lists that look inflated or disconnected from work history. Curate for depth and relevance rather than volume.
Neha listed 38 skills on her Flipkart resume, but many were unused in real projects. Arjun at Zoho asked her to keep only those she could defend in interviews and map each to shipped outcomes. Her skill section became shorter but more credible. Technical panels stopped probing basic contradictions and interviews improved.
If you cannot discuss it deeply, do not list it.
Resume & ATS Career & HR Interview Guide · Resume & ATS
Short answer: A professional summary should state role identity, core strengths, and business impact in 3 to 4 lines. It is not an objective statement or motivational quote. Think of it as your positioning headline for recruiter skimming.
Karthik’s resume opened with a vague line: "Seeking challenging opportunities." Isha from PhonePe helped him rewrite the summary to mention backend expertise, payment-domain experience, and latency improvement outcomes. Recruiters could now understand his profile in seconds. He started receiving more relevant interview calls.
Your summary should answer: who are you, what can you deliver?
Resume & ATS Career & HR Interview Guide · Resume & ATS
Short answer: Project descriptions must show problem, your contribution, tech choices, and measurable outcomes. Most resumes fail because they list features, not impact. Write each project bullet so an interviewer can ask deeper follow-up immediately.
Meera listed projects as "worked on dashboard module" with no details. Rohit from CRED asked her to rewrite each project around problem-solution-impact format. She added metrics like 27% faster report generation and 19% drop in support escalations. Interviewers began asking architecture questions instead of basic clarifications.
Problem-action-impact beats feature-technology list.
Resume & ATS Career & HR Interview Guide · Resume & ATS
Short answer: ATS optimization is about semantic match and parse accuracy. You need relevant keywords, standard structure, and clear chronology so screening systems score your profile correctly. Optimization should improve clarity, not turn your resume into keyword spam.
Priya from Zoho had strong experience but ATS score stayed low for SDE-2 roles. Rahul helped her mirror JD terminology like "distributed systems," "message queues," and "observability" in relevant sections. She also simplified date formats and removed icon-heavy blocks. ATS match improved and she got shortlisted by two product companies.
ATS optimization should increase clarity, not clutter.
Resume & ATS Career & HR Interview Guide · Resume & ATS
Short answer: No-experience resumes should highlight projects, internships, coursework relevance, and problem-solving evidence. Recruiters know you are entry-level; they want proof that you can execute and learn quickly. A focused project-first resume can outperform a generic fresher template.
Ananya was a fresher from Hyderabad with no full-time work history. Vikram from Infosys helped her place projects above education and add measurable outcomes for each build. She added GitHub links and one deployed app demo in her resume header. Her profile started receiving internship-to-full-time callbacks.
For freshers, projects are your experience.
Resume & ATS Career & HR Interview Guide · Resume & ATS
Short answer: For developers, reverse-chronological format works best because it highlights recent technical depth and growth trajectory. Keep sections predictable so both ATS and engineering managers can scan quickly. Strong developer resumes prioritize impact, stack relevance, and project ownership.
Neha used a design-heavy functional resume while applying from CRED to product companies. Arjun at Flipkart suggested switching to a reverse-chronological engineering-friendly format with cleaner project metrics. She also moved technical skills above education for faster relevance scanning. Recruiters responded more quickly after the format change.
Engineer resume format should optimize scan speed.
Resume & ATS Career & HR Interview Guide · Resume & ATS
Short answer: Most resume rejection happens due to preventable errors: irrelevance, weak evidence, and formatting noise. A clean, targeted resume with quantified outcomes wins more interviews than a lengthy generic document. Review your resume like a recruiter with limited time.
Karan’s resume from TCS had typo errors, broken links, and repeated bullets across two jobs. Isha from Razorpay helped him run a mistake checklist and rewrite impact lines with concrete metrics. He also removed outdated coursework and fixed ATS-unfriendly formatting. His shortlist ratio improved noticeably in the next application cycle.
Small resume mistakes create big trust loss.
Resume & ATS Career & HR Interview Guide · Resume & ATS
Short answer: Tailoring means changing emphasis, not inventing experience. Mirror the job language, prioritize relevant achievements, and remove distracting content. A targeted resume dramatically improves ATS match and recruiter response rate.
Meera used one generic resume for all roles while applying from Infosys. Rohit from Freshworks showed her how to create two versions: backend-heavy and data-heavy. She reordered bullets and projects based on each JD instead of rewriting from scratch. Her interviews became more relevant and conversion improved.
Tailor emphasis, never fabricate experience.