Skip to main content

xAI Interview | Software Engineer | December 2025

Premium

Interview rounds

  1. Initial Engineer Call (Not with target team)

    • First contact was with an engineer on a different team
    • Very rushed call - not focused on screening
    • Asked about candidate's interests and what they want to work on
    • Quickly determined candidate would be better fit for another team
  2. Technical Phone Screen (60 minutes)

    • Conducted by engineer from a different team (helping with interviews since safety team had no engineers)
    • Used Coderpad or similar platform (link shared in Google Meet chat)
    • No formal recruiter behavioral screen - first substantive interview was technical
  3. Hiring Manager Screen

    • Asked about candidate's background
    • Discussed what the team is working on
    • Revealed he had no engineers reporting to him - just got headcount
    • Mentioned he was the only engineer at the company working on safety
    • Asked "Why xAI?"
    • Seemed rushed and focused on hiring ASAP rather than getting to know candidate
  4. On-Site (Physical, in Palo Alto)

    • Security: Armed guards with guns at entrance, bag checks, ID verification, email proof of interview required
    • Needed escort to use bathroom
    • Two interview rounds at on-site:

    a. Coding Round

    • One engineer interviewer
    • Used Coderpad or HackerRank
    • Interviewer was on phone throughout interview (texting, swiping, appearing disengaged)

    b. Coding/System Design Hybrid Round

    • With hiring manager
    • "Lightweight system design" combined with typical coding round
    • More complicated problem than first coding round
    • Looking for depth in trade-offs
  5. Follow-up Call (mentioned but not detailed)

Interview questions

Technical phone screen

Problem: Design a database (very open-ended)

  • Design and code a key-value data store that supports:
    • set - set a key-value pair
    • Start a transaction
    • Commit a transaction
    • Abort a transaction
  • Follow-up: How would you support nested transactions?

Notes:

  • Interviewer said "xAI asks easier problems compared to a lot of other companies"
  • No question bank - engineers can ask whatever they want
  • Not a LeetCode-style problem
  • Very practical, object-oriented programming focused

On-site coding round

Problem: Iterator class design with custom methods

  • Given a list, implement a data structure with typical iterator methods:
    • next - get next element
    • hasNext - check if more elements exist
  • Plus two additional non-standard methods:
    • getState - returns current index position in the list
    • setState - updates index to any integer passed in (can reset iterator)

Follow-up: Extend solution to support a list of iterators

  • Same methods but behave differently
  • When calling next and reaching end of first iterator, automatically start iterating through next list
  • Treat all iterators as single iterator
  • getState should return global index across all iterators

Interview Experience:

  • Interviewer on phone throughout (texting, swiping)
  • Slow to respond to clarifying questions
  • Periodically looked at code, then back to phone
  • Asked about edge cases in probing way: "What if your input isn't a list?" (Candidate felt this was waste of time for senior level)
  • Did NOT ask about runtime complexity or optimal solution
  • Focused on completeness and bug-free code

On-site coding/system design hybrid round

Problem: Rate Limiter design and implementation

  • Intentionally very vague - had to ask follow-ups
  • Initial: Simple case - single URL with rate limiting
  • Discussed different rate limiting techniques:
    • Fixed window
    • Rolling window
    • Leaky bucket

Follow-up 1: Support rules for rate limiter

  • Multiple URLs for single rate limit (composite/compound rules)
  • Example: Requests to a.com AND b.com combined can't exceed 10 requests in 5 minutes

Follow-up 2: More complicated rules

  • Inspect request payload
  • Example: Requests to google.com must not have cumulative payload size exceeding 100 bytes over 5 minutes

Focus:

  • Scale and extensibility
  • Modular solution that can support future requirements
  • Trade-offs between different approaches

Key themes & observations

Interview Style:

  • No LeetCode problems - All practical, object-oriented design questions
  • Class design focus - Very different from traditional tech interviews
  • No runtime complexity questions - Focus on completeness and bug-free code over optimization
  • Candidate interviewed with 10+ companies this cycle and had zero LeetCode-style problems

Process Characteristics:

  • No formal recruiters doing behavioral screens - engineers do initial calls
  • Vague prep guidance - Just told "coding round" with no specifics
  • No question bank - Engineers allowed to ask whatever they want
  • Fast hiring pace - Lowering bar to bring in more talent quickly
  • No safety/ethics questions despite being safety role
  • Disengaged interviewers - Multiple mentioned not wanting to be there

Culture Red Flags:

  • Armed security guards with guns, bag checks, ID verification
  • Only ONE engineer working on safety at entire company
  • Hiring manager had zero reports, just got headcount
  • Interviewer on phone throughout interview
  • Engineers seemed rushed and uninterested
  • Focus on "code monkeys" who can ship code (per interviewer: "Elon cares a lot about the code that you ship")
  • Hiring manager not interested in getting to know candidate personally

Candidate's Assessment:

  • "Least favorite interview I've had"
  • Would recommend Anthropic over xAI for anyone interested in safety
  • Advice: Don't focus on LeetCode - focus on class design and object-oriented programming