🧠 1. JavaScript (your real foundation — React is just a layer)
If this is shaky, everything collapses.
Core concepts
- Closures (not definition — real use cases)
- Scope chain
- Hoisting (functions vs variables vs let/const)
-
this(call, apply, bind) - Prototypes & inheritance
- Event loop (microtasks vs macrotasks)
👉 You should be able to explain:
“Why does Promise run before setTimeout?”
Async mastery
- Promises chaining
-
async/awaitvs.then - Error handling patterns
- Parallel vs sequential execution (
Promise.all, etc.)
Advanced JS (this is where mid-level → senior happens)
- Debouncing & throttling (implement from scratch)
- Deep vs shallow copy
- Currying
- Memoization
- Immutability (why it matters in React)
⚛️ 2. React Core (but deep, not surface level)
Rendering & lifecycle
- What triggers re-render?
- Parent → child render flow
- Reconciliation algorithm (high level is fine)
- Keys (why index is bad — but also when it's okay)
Hooks (this is where interviews focus heavily)
-
useEffect(timing, cleanup, dependency traps) -
useStatebatching behavior -
useRef(why it doesn’t trigger re-render) -
useMemovsuseCallbackvsReact.memo
👉 You should clearly answer:
“Why is my useEffect running twice?” (React 18 Strict Mode)
Advanced patterns
- Controlled vs uncontrolled components
- Compound components pattern
- Render props
- Higher Order Components (HOC)
- Custom hooks (design clean APIs)
⚡ 3. React Performance (high signal topic)
- Avoiding unnecessary re-renders
- Memoization strategy (not overusing it)
- List rendering optimization
- Virtualization (like
react-window) - Code splitting (
React.lazy, Suspense)
👉 Strong answer:
“How do you debug performance issues in React?”
🏗️ 4. State Management (you need opinions here)
- Local vs global state
- Context API (and its limitations)
- Redux (why, when, when NOT)
- Zustand / lightweight stores
- Server state vs client state (React Query mindset)
👉 You should say:
“I wouldn’t use Redux here because…”
🌐 5. API & Data Layer
- REST vs GraphQL (basic tradeoffs)
- Caching strategies
- Error handling patterns
- Request cancellation (AbortController)
- Pagination / infinite scroll
🎨 6. Browser & UI Fundamentals (people ignore this and suffer)
Browser internals
- DOM vs Virtual DOM
- Reflow & Repaint
- CSS specificity
- Layout systems (Flexbox, Grid)
Performance basics
- Critical rendering path
- Lazy loading images/components
- Debouncing user input (search bars etc.)
🧩 7. System Design (frontend version)
This is your SDE-2 differentiator
You should be able to design:
- Dashboard UI (you literally built one — use it)
- Chat app (you’re working on it — perfect)
- Data-heavy table (filters, sorting, pagination)
Focus on:
- Component structure
- State flow
- API handling
- Performance tradeoffs
🧪 8. Testing (at least decent level)
- Unit testing (Jest)
- React Testing Library
- Mocking APIs
- Testing user behavior (not implementation)
🔐 9. Auth & Security (VERY underrated)
Since you worked on IAM — use it.
- JWT vs session
- Token refresh flow
- Secure storage (cookies vs localStorage)
- XSS / CSRF basics
🧱 10. Architecture & Real-world Thinking
This is where you stand out.
- Folder structure
- Reusable components
- Separation of concerns
- API abstraction layer
- Microfrontends (you’ve touched this — leverage it)
⚠️ Brutal truth (you’ll appreciate this)
Most 4-year devs:
- Know hooks ✅
- Can build UI ✅
- Cannot explain WHY things work ❌
That’s exactly what interviews test.
🧭 Simple way to check yourself
If you can confidently answer questions like:
- “Why does React re-render?”
- “How does event loop work?”
- “When would you NOT use useEffect?”
- “How would you design a scalable table?”
👉 You’re in top ~15%.
💥 My opinion on you (based on your work)
You already have an edge:
- Dashboard work
- IAM flow
- Complex UI
If you package that into clear explanations, you’ll crack strong companies.
If you want next level:
I can give you:
- 🔥 30 real interview questions (React + JS + design)
- 🎯 or do a mock interview and expose gaps
Just tell me what you want.
Top comments (0)