X’s current loop is smaller and faster than the pre-2022 Twitter process it replaced, and candidates report a direct, early check on fit with the company’s high-intensity pace.
Profile: 3 years’ experience, backend/platform work at a mid-sized product company, applied off-campus after a referral
Recruiter screen
35-minute call: current stack, why X now, and a fairly direct question about comfort working long hours under a lean team. No coding.
Technical assessment
75-minute automated round: two DSA problems (an LRU cache implementation and a sliding-window string problem) plus a short open-ended prompt to describe how they’d design a simple rate limiter.
Technical phone screen
Live coding: build a thread-safe counter that resets every window (essentially a rate limiter), then a follow-up on what breaks under concurrent access. The interviewer deliberately left the request ambiguous at first and was watching for clarifying questions.
Virtual onsite
Coding round: detect a cycle in a directed graph, then implement a task scheduler with a cooldown period.
System design: design the home timeline for a user with millions of followers - fanout-on-write vs. fanout-on-read trade-offs, and how to handle a celebrity account as a special case.
Behavioural: a direct question on whether they were comfortable with a smaller, faster-moving team than their current employer, plus a story about shipping under a tight deadline.
Result: Selected
What helped: Naming the fanout trade-off explicitly instead of picking one approach silently, and giving a direct, non-evasive answer on pace and hours instead of a rehearsed “I’m passionate about the mission” line.
Profile: 1 year of experience, product-company background, applied through a recruiter outreach on LinkedIn
What differed
No separate technical assessment - went straight from recruiter screen to a technical phone screen, which the recruiter said was common for how understaffed the pipeline was at the time.
The phone screen question was a thread-safe data structure design problem (a bounded blocking queue), heavier on concurrency than typical fresher-level rounds elsewhere.
Only one onsite coding round instead of two, but it ran long (70+ minutes) and covered two separate problems.
System design stayed at a lighter depth appropriate for the level: designing a basic notification delivery pipeline (push vs. email vs. in-app) rather than a full-scale search system.
Mistakes that hurt other candidates in the same cycle
Treating the “why X” question as a formality instead of a real filter - recruiters reportedly flagged vague or evasive answers here
Jumping straight into code on the ambiguous prompt without asking about scale or constraints
Undervaluing the concurrency angle on coding problems that looked like plain DSA at first glance
Result: Selected after the behavioural round
Takeaway: At X, being explicit about trade-offs and giving a direct, unrehearsed answer about pace and intensity mattered as much as raw DSA speed - because the loop is short enough that there’s little room to recover from a vague answer in any single round.
Practise LRU caches, rate limiters, and scheduler/cooldown problems specifically - they show up far more often than trick puzzles here.
Assume every coding prompt has a concurrency angle hiding in it. Ask whether the structure needs to be thread-safe before you start coding.
On ambiguous prompts, ask clarifying questions out loud first. Interviewers reportedly introduce ambiguity on purpose and score how you handle it.
Prepare one system design narrative around a large-scale feed/timeline or search system - it’s the most consistently reported design topic.
Answer the “are you okay with the pace” question directly and honestly. A vague or evasive answer reportedly gets filtered here rather than in the coding rounds.
X’s behavioural/hiring-manager round doubles as its closing HR conversation: ownership, pace, and a direct check on whether you’re genuinely comfortable with a lean, high-intensity team. Prepare those answers on the dedicated page rather than cramming them into this hub.