X’s interview process for US engineers, going by its own and xAI’s Palo Alto job postings, is short: a review of your CV and a statement of exceptional work, a 15-30 minute phone interview, a deep-dive coding challenge and a meet and greet, with a target of finishing in one week. The coding is practical (caches, schedulers, concurrency), and the hiring manager checks how you handle X’s pace.
How X (Twitter) differs from peer social/product loops
- Brand and org context shifted after the Twitter → X transition; verify the current JD and loop with your recruiter.
- Feed, fanout, and real-time design themes recur for backend/platform roles more than generic CRUD design.
- Early-career vs mid-level changes design depth dramatically - do not overfit senior infra prompts if you are new-grad.
- Behavioral ambiguity and ownership still matter alongside coding.
X (Twitter) interview process in US job postings (2025-26)
Few recent US candidate reports for X are detailed enough to summarize round by round, so these points come from X and xAI’s own US job postings.
- Software Engineer, X Chat, Palo Alto (xAI posting, removed February 2026). The team reads your CV and a statement of exceptional work, then holds a 15-30 minute phone interview, a deep-dive coding challenge and a meet and greet, aiming to finish within one week. Base pay was listed at $180,000-$440,000 plus equity.
- Member of Technical Staff, Government, New Grad (xAI). For 2024-2026 graduates in Palo Alto, Los Angeles or Washington: a 15-minute phone interview, two technical interviews and a project deep-dive, with final interviews in person. It requires the ability to obtain a US security clearance and listed $165,000-$200,000 plus equity.
- Software Engineer, Product Infrastructure, Palo Alto (X Corp. posting, removed August 2025). Asked for at least 2 years of building software and a degree in CS, CE, EE or equivalent experience, with a base range of $127,000-$297,000.
2025 Glassdoor reports for X software engineers
Most 2025 reports on Glassdoor are from London or Tokyo or do not state a location. Glassdoor rates X’s software engineer interview 3.1 out of 5 for difficulty, with an average of 26 days to hire across 267 interviews.
- Five rounds, offer accepted (July 2025, location not stated). Phone screen, two coding rounds, one system design round and a hiring manager/behavioral round. The candidate prepared with LeetCode tagged questions and STAR stories.
- Two screens and a virtual onsite (May 2025, location not stated, no offer). The engineers were friendly, but recruiters sent different Zoom links that cut into interview time and did not follow up on the result. One question asked about trade-offs.
- CodeSignal test (London, January 2025, no offer). After the CV screen, a CodeSignal test on labeling Tetris blocks with different values, graded on how general the code was across 10 tests.
- Live coding with the area head (London, April 2025, referral, no offer). An HR call, then live coding and technical questions on algorithms and time and space complexity, including a problem that needed XOR.
- Graph question and system architecture (Tokyo, May 2024, no offer). A graph algorithm question by phone, then five onsite rounds on system architecture, rated intermediate to hard.
X (Twitter) interview rounds in candidate reports
| Round | Duration | What it tests |
|---|---|---|
| Recruiter screen | 30-45 min | Background, tech stack, and direct fit with X’s high-intensity pace |
| Technical assessment | 60-90 min | Automated coding challenge or longer real-world scenario |
| Technical phone screen | 45-60 min | Live coding with an engineer, often deliberately ambiguous prompts |
| Virtual/onsite - Coding (1-2 rounds) | 45-60 min each | DSA with a practical bent: caches, schedulers, concurrency |
| Virtual/onsite - System design (mid/senior+) | 45-60 min | Feed/timeline, search, or rate-limiting at platform scale |
| Behavioral / hiring manager | 30-45 min | Ownership, speed of execution, fit with a demanding culture |
X (Twitter) interview questions that come up often
Coding / technical
- Implement an LRU cache
- Build a hit counter / rate limiter
- Task scheduler with a cooldown period
- Thread-safe data structure design - bounded queues, counters, race-condition scenarios
- Detect a cycle in a directed graph - DFS coloring / topological sort
- Design a data structure supporting insert/delete/getRandom in O(1)
- Sliding-window / two-pointer array and string problems
- Label Tetris blocks with different values, written to generalize (CodeSignal, London, 2025)
- An algorithm problem that needs XOR, with time and space complexity (London, 2025)
System design (mid-level and up)
- Design the home timeline / feed - fanout-on-write vs. fanout-on-read
- Design real-time tweet search across billions of posts
- Design a notification delivery pipeline (push, in-app, email)
- Design a rate limiter for a public API
Behavioral
- Tell me about a time you shipped something with incomplete information
- Describe a decision you made under a tight deadline with limited headcount
- How do you handle direct or blunt feedback on your work?
- Why X, specifically now?
- Are you comfortable with a demanding, fast-moving, lean-team environment?
X (Twitter) pre-interview checklist
- Confirm level and whether system design is in scope for your loop
- Drill graphs, heaps, and string mediums; keep one hard warm
- Sketch timeline/feed and notification designs with fanout trade-offs
- Prep STAR stories for ambiguity, ownership, and disagreement
- Re-read the JD for X-specific product language before the recruiter screen
- Write your statement of exceptional work; X Chat and xAI postings read it before the phone interview
X (Twitter) interview tips from candidate reports
- Practice LRU caches, rate limiters, and scheduler/cooldown problems; X postings describe practical coding rather than puzzles.
- 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.
- Prepare one system design narrative around a large-scale feed/timeline or search system.
- Answer any question about pace and hours directly and honestly.
- Keep your own notes on dates and links; several 2025 Glassdoor reports describe slow or confused recruiter scheduling.
Hiring manager and behavioral round
X’s hiring manager round doubles as its closing HR conversation: ownership, pace, and a direct check on whether you are comfortable with a lean, high-intensity team. The July 2025 Glassdoor candidate who accepted an offer prepared STAR stories for it. Sample answers are on the X behavioral interview questions page.
Sample answers for high-frequency questions
Q. Design a data structure supporting insert, delete, and getRandom in O(1).
A. Combine a dynamic array holding the values with a hash map from value to its index in that array. insert appends to the array and records the index. delete looks up the index, swaps the last element into that slot, updates the moved element’s index in the map, pops the array, and erases the key - that swap-with-last is what makes deletion O(1) instead of O(n). getRandom picks a uniform index into the array. Every operation is O(1) average and space is O(n); the follow-up allowing duplicates replaces the map’s value with a set of indices, which keeps the same asymptotics with more bookkeeping.
Q. Implement a hit counter that reports the number of hits in the last five minutes.
A. For modest traffic, keep a queue of timestamps, push on each hit, and pop from the front while the head is older than 300 seconds, then return the queue size - amortized O(1) per hit but O(n) memory in the window. For high throughput, use a circular buffer of 300 buckets, each holding a second’s timestamp and count: on a hit, index by time modulo 300 and either increment the bucket or, if its stored timestamp is stale, reset it to the current second with count one. Counting sums the buckets whose timestamps fall inside the window, which is O(300) with O(300) fixed memory regardless of traffic. Mention thread safety - the buckets need atomic increments or per-shard counters - since concurrency follow-ups are standard here.
Q. Given a list of tasks and a cooldown n, find the least number of intervals needed to execute them.
A. The answer is driven by the most frequent task. Let maxCount be the highest task frequency and k the number of tasks tied at that frequency. Arranging the most frequent task first creates maxCount minus 1 gaps of length n plus 1, giving (maxCount - 1) times (n + 1) plus k as a lower bound. If there are enough distinct other tasks, they fill the idle slots and the answer is simply the total number of tasks, so take the maximum of the formula and the task-list length. Counting frequencies is O(n) time and O(1) space over a fixed alphabet. If you must output the actual schedule rather than the count, use a max-heap of remaining counts plus a cooldown queue instead.
Q. How do you detect a cycle in a directed graph?
A. Run DFS with three colors: white for unvisited, grey for on the current recursion stack, and black for fully explored. An edge to a grey node is a back edge and proves a cycle - the union-find approach used for undirected graphs does not work here, and a plain visited set gives false positives on a diamond-shaped DAG. Time is O(V + E) with O(V) space. The iterative alternative is Kahn’s algorithm: repeatedly remove nodes of in-degree zero, and if fewer than V nodes come out, the remainder forms a cycle - which conveniently gives you a topological order as a by-product when there is none.
Q. How would you implement a thread-safe counter, and what are the trade-offs?
A. The simplest correct version guards the increment with a mutex, but under contention every thread serializes on one lock. An atomic integer using a compare-and-swap or fetch-and-add is faster because it avoids kernel-level blocking, yet at very high core counts all cores still contend for the same cache line, so throughput collapses from false sharing and cache-line ping-pong. The scalable answer is a striped or per-thread counter - Java’s LongAdder or a padded per-core array - where each thread increments its own cell and a read sums the cells, trading exact real-time reads for write throughput. Note that a volatile variable alone is not enough: it guarantees visibility, not atomicity of read-modify-write.
X (Twitter) coding, interview and behavioral tips
Assessment tips
- X and xAI postings list no online assessment; the first technical step is a coding challenge after a 15-30 minute phone interview
- Practice LRU cache, hit counter and task scheduler problems, and ask whether the structure must be thread-safe
Interview tips
- Applications ask for a statement of exceptional work, and the xAI new grad loop includes a project deep-dive on it
- For system design, practice home timeline fanout with a celebrity-account edge case
Behavioral tips
- Be ready to say honestly how you work on a lean, fast-moving team
- Prepare STAR stories on ownership and shipping with incomplete information
Sources
US postings: xAI: Software Engineer, X Chat, xAI: Member of Technical Staff - Government - New Grad and X Corp.: Software Engineer, Product Infrastructure. Candidate reports: Glassdoor, X software engineer interviews (2024-2025 reports and the 3.1 difficulty and 26-day figures).