Twitter / X
Real-time social platform with petabyte-scale data and ML ranking systems.
4 Rounds
~14 Days
Hard
The Interview Loop
Recruiter Screen (30 min)
Standard fit check, behavioral questions, and resume overview.
Technical Loop (3-4 Rounds)
Deep dive into domain knowledge, coding, and system design.
Interview Question Bank
Frontend Engineer
•
Behavioral
•
medium
Tell me about a time you had to ship a critical feature under an extremely tight deadline. How did you ensure quality while moving fast?
#Time Management
#Prioritization
#Execution
Frontend Engineer
•
Behavioral
•
medium
Describe a situation where you disagreed with a product manager or designer about a technical constraint. How did you resolve it?
#Communication
#Conflict Resolution
#Collaboration
Frontend Engineer
•
Behavioral
•
hard
Tell me about a time you took ownership of a failing project or a severely buggy codebase and turned it around.
#Ownership
#Problem Solving
#Resilience
Frontend Engineer
•
Behavioral
•
medium
How do you prioritize your tasks when faced with multiple high-severity production issues at the same time?
#Incident Management
#Prioritization
#Stress Management
Frontend Engineer
•
Behavioral
•
medium
Describe a time you had to learn a new technology or framework over a weekend to deliver a feature. How do you approach rapid learning?
#Adaptability
#Continuous Learning
#Drive
Frontend Engineer
•
Behavioral
•
hard
Tell me about a time you identified a major performance bottleneck in a frontend application and how you fixed it.
#Performance
#Profiling
#Optimization
Frontend Engineer
•
Behavioral
•
medium
X moves at an incredibly fast pace. Give an example of how you adapt to rapidly changing requirements mid-sprint.
#Agility
#Flexibility
#Mindset
Frontend Engineer
•
Coding
•
easy
Implement a custom `useDebounce` React hook that takes a value and a delay, and returns the debounced value.
#Hooks
#Timers
#Closures
Frontend Engineer
•
Coding
•
medium
Write a React component that implements Infinite Scrolling from scratch without using third-party libraries.
#Intersection Observer
#DOM APIs
#Pagination
Frontend Engineer
•
Coding
•
medium
Build a Tweet character counter function that takes a string and returns the count, but URLs should always count as exactly 23 characters regardless of their actual length.
#String Manipulation
#Regex
#Edge Cases
Frontend Engineer
•
Coding
•
medium
Implement a custom `EventEmitter` class in JavaScript with `on`, `off`, `emit`, and `once` methods.
#Design Patterns
#Data Structures
#Closures
Frontend Engineer
•
Coding
•
hard
Write a function to deeply flatten a nested DOM tree into a single flat array of nodes, maintaining depth-first order.
#Recursion
#Tree Traversal
#DOM APIs
Frontend Engineer
•
Coding
•
medium
Implement `Promise.all()` from scratch. It should take an array of promises and return a single promise that resolves with an array of results, or rejects immediately if any promise rejects.
#Asynchronous Programming
#Promises
#Error Handling
Frontend Engineer
•
Coding
•
easy
Create a custom `usePrevious` hook in React that returns the value of a state variable from the previous render cycle.
#Hooks
#Refs
#Component Lifecycle
Frontend Engineer
•
Coding
•
medium
Write a function to deeply merge two JavaScript objects. If a key contains an array in both objects, concatenate them. If it's an object, merge recursively.
#Recursion
#Object Manipulation
#Type Checking
Frontend Engineer
•
Coding
•
medium
Implement a generic `memoize` function. Add a feature where the memoized values expire after a given Time To Live (TTL) in milliseconds.
#Caching
#Closures
#Time Complexity
Frontend Engineer
•
Coding
•
hard
Build a simple virtualized list component in React. It should accept an array of 100,000 items, a row height, and a viewport height, and only render the visible DOM nodes.
#Performance
#DOM Manipulation
#Math
Frontend Engineer
•
Coding
•
medium
Write a function that parses a raw tweet string, finds all @handles and #hashtags, and returns an array of objects representing the text segments and their types for rendering.
#Parsing
#Regex
#Data Transformation
Frontend Engineer
•
Coding
•
medium
Create an image carousel component. Implement lazy loading so that images are only fetched when they are one slide away from being visible.
#Component Design
#Lazy Loading
#State Management
Frontend Engineer
•
Coding
•
medium
Implement a rate limiter function in JavaScript. It should take a function, a limit (number of calls), and a time window, and drop any calls that exceed the limit within the window.
#Algorithms
#Time Complexity
#Closures
Frontend Engineer
•
Coding
•
easy
Write a polyfill for `Array.prototype.reduce`.
#Prototypes
#Array Methods
#Functional Programming
Frontend Engineer
•
System Design
•
hard
Design the Twitter / X Home Timeline. Focus on the frontend architecture, data fetching strategy, and rendering performance for a feed with thousands of tweets containing rich media.
#Virtualization
#Pagination
#State Management
#Performance
Frontend Engineer
•
System Design
•
hard
Design the Tweet Composer. How would you handle the 280-character limit, rich text highlighting (mentions, hashtags), media uploads, and optimistic UI updates upon submission?
#ContentEditable
#Optimistic UI
#File Uploads
#Regex
Frontend Engineer
•
System Design
•
medium
Design the Twitter Search Autocomplete dropdown. How do you ensure high performance and prevent race conditions when a user types rapidly?
#Debouncing
#Caching
#Race Conditions
#Accessibility
Frontend Engineer
•
System Design
•
medium
Design the Notifications dropdown. How would you architect the real-time updates for likes, retweets, and mentions?
#WebSockets
#Server-Sent Events
#State Synchronization
Frontend Engineer
•
System Design
•
hard
Design the Direct Messaging (DM) interface. Focus on offline support, real-time message delivery, and read receipts.
#WebSockets
#IndexedDB
#Offline First
#Optimistic UI
Frontend Engineer
•
System Design
•
medium
Design a Poll widget for a Tweet. How do you handle state synchronization across multiple clients and calculate/animate percentages in real-time?
#Component Design
#Animation
#Data Synchronization
Frontend Engineer
•
System Design
•
medium
Design the 'Trending Topics' sidebar. Discuss your data fetching strategy and how you would keep the list fresh without overwhelming the server.
#Polling
#Caching
#Component Lifecycle
Frontend Engineer
•
Technical
•
hard
How would you optimize the Core Web Vitals (LCP, CLS, INP) specifically for a user's Twitter profile page?
#Core Web Vitals
#Optimization
#Rendering Strategies
Frontend Engineer
•
Technical
•
medium
Explain how React 18's concurrent features (like useTransition and Suspense) can be used to improve the responsiveness of the Twitter feed.
#React 18
#Concurrency
#UX
Frontend Engineer
•
Technical
•
medium
How do you handle state management for a global entity like the 'current user' versus highly localized state like a 'tweet draft' in a large-scale React app?
#State Management
#Redux
#Context API
Frontend Engineer
•
Technical
•
medium
Describe how you would implement optimistic UI updates when a user clicks the 'Like' button on a tweet, including error handling and rollback.
#Optimistic UI
#Error Handling
#Network Requests
Frontend Engineer
•
Technical
•
medium
What are the security implications of rendering user-generated content (like Tweets) and how do you prevent XSS attacks in a modern frontend framework?
#XSS
#Sanitization
#Content Security Policy
Frontend Engineer
•
Technical
•
medium
How would you architect a frontend application to support multiple themes (e.g., Light, Dim, Lights Out) dynamically without requiring a page reload?
#CSS Variables
#Theming
#Context
Frontend Engineer
•
Technical
•
medium
Explain how you would implement accessibility (a11y) features for the Tweet composer, ensuring it is fully usable by screen readers and keyboard-only users.
#A11y
#ARIA
#Keyboard Navigation
Difficulty Radar
Based on recent AI-sourced data.
Meet Your Interviewers
The "Standard" Interviewer
Senior EngineerFocuses on core competencies, system constraints, and clear communication.
SimulateUnwritten Rules
Think Out Loud
Always explain your thought process before writing code or drawing architecture.