← 返回部落格列表 xAI 面經 2026 完整攻略|Phone Screen + Onsite 三輪高頻真題與文化匹配
xAI

xAI 面經 2026 完整攻略|Phone Screen + Onsite 三輪高頻真題與文化匹配

2026-05-11

背景:xAI(Elon 旗下)在 2025 H2 大規模擴招後,2026 春招繼續維持小而精的招聘節奏。面試整體偏 MLOps / Infra / 高強度 coding,文化匹配權重很高。本文綜合 oavoservice 學員 11 份回饋整理。


一、xAI 面試整體節奏

Recruiter Screen (30min)
    │
    ▼
Phone Screen Coding (60min, 1 題 LC Med-Hard)
    │
    ▼
Onsite 3 Rounds (60min each)
    ├── Coding I: 資料結構密集
    ├── Coding II: 設計 + 併發
    └── System / ML Infra
    │
    ▼
Hiring Manager + Bar Raiser (45min)

xAI 不像傳統大廠那樣有「team match」環節,Hiring Manager 直接拍板,節奏比 Google / Meta 短很多(2–4 週走完)。


二、Phone Screen:九宮格 + Trie

class TrieNode:
    __slots__ = ('children', 'word')
    def __init__(self):
        self.children = {}
        self.word = None

def find_words(board, words):
    root = TrieNode()
    for w in words:
        node = root
        for ch in w:
            node = node.children.setdefault(ch, TrieNode())
        node.word = w

    R, C = len(board), len(board[0])
    out = []

    def dfs(r, c, node):
        ch = board[r][c]
        if ch not in node.children:
            return
        nxt = node.children[ch]
        if nxt.word:
            out.append(nxt.word)
            nxt.word = None
        board[r][c] = '#'
        for dr, dc in ((1,0),(-1,0),(0,1),(0,-1)):
            nr, nc = r + dr, c + dc
            if 0 <= nr < R and 0 <= nc < C and board[nr][nc] != '#':
                dfs(nr, nc, nxt)
        board[r][c] = ch
        if not nxt.children:
            del node.children[ch]

    for r in range(R):
        for c in range(C):
            dfs(r, c, root)
    return out

複雜度:O(R·C·4^L),L 為最長 word 長度。

面試官追問


三、Onsite Round 1:LRU + 寫實變體

class Node:
    __slots__ = ('k', 'v', 'prev', 'next')
    def __init__(self, k=0, v=0):
        self.k, self.v = k, v
        self.prev = self.next = None

class LRUTopK:
    def __init__(self, cap):
        self.cap = cap
        self.map = {}
        self.head = Node()
        self.tail = Node()
        self.head.next = self.tail
        self.tail.prev = self.head

    def _remove(self, n):
        n.prev.next = n.next
        n.next.prev = n.prev

    def _addfront(self, n):
        n.next = self.head.next
        n.prev = self.head
        self.head.next.prev = n
        self.head.next = n

    def get(self, k):
        if k not in self.map:
            return -1
        n = self.map[k]
        self._remove(n)
        self._addfront(n)
        return n.v

    def put(self, k, v):
        if k in self.map:
            n = self.map[k]
            n.v = v
            self._remove(n)
            self._addfront(n)
            return
        if len(self.map) >= self.cap:
            old = self.tail.prev
            self._remove(old)
            del self.map[old.k]
        n = Node(k, v)
        self._addfront(n)
        self.map[k] = n

    def get_top_k(self, k):
        out = []
        cur = self.head.next
        while cur is not self.tail and len(out) < k:
            out.append(cur.k)
            cur = cur.next
        return out

複雜度get/put O(1),get_top_k O(k)。


四、Onsite Round 2:巢狀事務的記憶體資料庫

class TxnDB:
    def __init__(self):
        self.store = {}
        self.txns = []

    def set(self, k, v):
        prev = self.store.get(k, None)
        if self.txns:
            self.txns[-1].append((k, prev))
        self.store[k] = v

    def get(self, k):
        return self.store.get(k)

    def unset(self, k):
        if k not in self.store:
            return
        if self.txns:
            self.txns[-1].append((k, self.store[k]))
        del self.store[k]

    def begin(self):
        self.txns.append([])

    def rollback(self):
        if not self.txns:
            return 'NO TXN'
        for k, prev in reversed(self.txns.pop()):
            if prev is None:
                self.store.pop(k, None)
            else:
                self.store[k] = prev

    def commit(self):
        if not self.txns:
            return 'NO TXN'
        top = self.txns.pop()
        if self.txns:
            self.txns[-1].extend(top)

複雜度:均攤 O(1) per op。

面試官追問


五、Onsite Round 3:ML Infra / 系統設計

xAI 常考方向:

風格特點


六、文化匹配 / Behavioral

xAI 招聘文化關鍵字:

Why xAI 是必問題,最好準備一段與 Elon mission 關聯的回答,但不要刻意吹捧。


七、與 OpenAI / Anthropic 對比

維度 xAI OpenAI Anthropic
演算法難度 Med-Hard Hard 偏多 Med-Hard
系統設計 ML Infra API + 平台 Safety + Infra
流程長度 2–4 週 4–6 週 4–8 週
文化匹配權重
Sponsor H1B

八、常見問題 FAQ

Q1:xAI 面試一共幾輪?

A:通常 Recruiter + Phone + Onsite 3 + HM,5 輪左右。

Q2:xAI 用什麼 IDE?

A:CoderPad 或 Karat(部分輪次)。

Q3:xAI 給 H1B sponsor 嗎?

A:給,但 NG 名額非常有限。

Q4:xAI 節奏多快?

A:2–4 週走完整個流程,比 OpenAI 快

Q5:xAI 招遠距嗎?

A:少量 hybrid(Bay Area / Memphis),全 remote 極少。

Q6:xAI 掛了多久能再投?

A:約 6–12 個月隱性冷凍。

Q7:xAI 偏 ML 還是 Infra?

A:兩者都招,但 GPU infra / training systems 是當前最缺人方向。

Q8:xAI 是否考查 Elon Musk 相關知識?

A:不直接考,但 mission alignment 加分。


九、需要 xAI 面試輔助?

我們提供:當週 xAI 高頻題、ML Infra 系統設計 mock、VO 即時輔助。


最後更新:2026-05-11 | 作者:oavoservice 面試組