Okta SDE-2 || Frontend Interview Experience || Rejected
Summary
I was rejected for an SDE-2 Frontend role at Okta after multiple rounds, despite strong performance in React and System Design, due to perceived weaknesses in JavaScript fundamentals, especially async handling and memory internals.
Full Experience
🟢 Round 1: React + JavaScript Deep Dive
🔧 React Problem: Dynamic Grid with Incremental Values
The interviewer asked me to build a small React app within their pre-configured environment.
💬 Problem Statement:
- Input: A number
n(via input box) - Output: A grid of size
n x n - Grid Logic:
- On clicking an empty cell → Fill it with
max(existingNumbers) + 1. - On clicking a non-empty cell → Update it with
max(existingNumbers).
- On clicking an empty cell → Fill it with
✅ Expectations:
- Well-structured and modular React component(s)
- Optimal state management (useState/useEffect, etc.)
- Efficient computation of the maximum value
- Clean UI and minimal re-rendering
- Bonus for explanations and performance considerations
The problem tested both React fundamentals and state optimization. It was more about thinking in React and minimizing redundant state updates or unnecessary computations.
💡 JavaScript Section:
- Several code snippets with Promises, async/await, and chaining.
- Questions on:
- Event loop, microtasks, macrotasks
Promise.resolve().then()vssetTimeout()asyncvsdeferin script tagsasync/awaitvsthen/catch- Memory management in JavaScript
- Debouncing and throttling (with real use cases)
- Differences between synchronous and asynchronous API calls
- What happens under the hood during async operations
🧠 Assessment Criteria:
- Depth of understanding of JavaScript execution model
- Ability to predict output and explain why
- Understanding of event loop, callback queue, call stack, etc.
🟠 Round 2: System Design – Content Publishing Platform
💬 Problem Statement:
Design a system where:
- Admins can publish news (stored as
.mdfiles) - Users can view the news articles
- The system should be scalable and performant
🧩 Key Discussion Areas:
- Role-Based Access Control (Admins vs Readers)
- Storage and Rendering of Markdown (.md)
- Client-Side vs Server-Side Rendering
- CDN Usage: Is it really necessary for static markdown-based content?
- SQL vs NoSQL: When and why?
- Sitemap and SEO: How does Google pick up and display articles for specific queries?
- Back-of-the-envelope estimation:
- Estimated number of readers per second
- Number of articles per admin
- Storage requirements (avg. markdown file size)
- Caching Strategies: CDN + Browser + Server
- Authentication & Authorization (JWT, session-based?)
- Pagination and Feed Delivery
🧠 Assessment Criteria:
- Practicality and scalability of design
- Awareness of web architecture patterns
- Trade-offs between performance and complexity
- Real-world awareness of tools like CDNs, SSG, site maps
❌ Final Verdict: Rejected
Despite a strong performance in React and System Design, I was not shortlisted due to weaker foundational understanding in JavaScript, especially in async handling and memory internals.
Interview Questions (3)
Dynamic Grid with Incremental Values
The interviewer asked me to build a small React app within their pre-configured environment.
💬 Problem Statement:
- Input: A number
n(via input box) - Output: A grid of size
n x n - Grid Logic:
- On clicking an empty cell → Fill it with
max(existingNumbers) + 1. - On clicking a non-empty cell → Update it with
max(existingNumbers).
- On clicking an empty cell → Fill it with
✅ Expectations:
- Well-structured and modular React component(s)
- Optimal state management (useState/useEffect, etc.)
- Efficient computation of the maximum value
- Clean UI and minimal re-rendering
- Bonus for explanations and performance considerations
The problem tested both React fundamentals and state optimization. It was more about thinking in React and minimizing redundant state updates or unnecessary computations.
JavaScript Event Loop, Async/Await, Promises & Memory Management
- Several code snippets with Promises, async/await, and chaining.
- Questions on:
- Event loop, microtasks, macrotasks
Promise.resolve().then()vssetTimeout()asyncvsdeferin script tagsasync/awaitvsthen/catch- Memory management in JavaScript
- Debouncing and throttling (with real use cases)
- Differences between synchronous and asynchronous API calls
- What happens under the hood during async operations
🧠 Assessment Criteria:
- Depth of understanding of JavaScript execution model
- Ability to predict output and explain why
- Understanding of event loop, callback queue, call stack, etc.
Design a Content Publishing Platform
💬 Problem Statement:
Design a system where:
- Admins can publish news (stored as
.mdfiles) - Users can view the news articles
- The system should be scalable and performant
🧩 Key Discussion Areas:
- Role-Based Access Control (Admins vs Readers)
- Storage and Rendering of Markdown (.md)
- Client-Side vs Server-Side Rendering
- CDN Usage: Is it really necessary for static markdown-based content?
- SQL vs NoSQL: When and why?
- Sitemap and SEO: How does Google pick up and display articles for specific queries?
- Back-of-the-envelope estimation:
- Estimated number of readers per second
- Number of articles per admin
- Storage requirements (avg. markdown file size)
- Caching Strategies: CDN + Browser + Server
- Authentication & Authorization (JWT, session-based?)
- Pagination and Feed Delivery
🧠 Assessment Criteria:
- Practicality and scalability of design
- Awareness of web architecture patterns
- Trade-offs between performance and complexity
- Real-world awareness of tools like CDNs, SSG, site maps