← 返回部落格列表 WeRide 一畝三分地 SDE OA 面經|自駕車職位 VO代面與輔助指南
WeRide

WeRide 一畝三分地 SDE OA 面經|自駕車職位 VO代面與輔助指南

2026-05-20

WeRide(文遠知行)是國內首批拿到 Robotaxi 商業化牌照的自駕車公司,近兩年在矽谷辦公室也大幅擴招 SDE / MLE。一畝三分地最近的 WeRide 面經裡,OA 題目帶有非常明顯的「自駕車味道」:感測器融合、點雲聚類、最短路徑規劃。本文按高頻度排序拆解題型,並補充 VO代面 / VO輔助 的實際準備路徑。

WeRide OA 概覽

維度 詳情
平台 CodeSignal / HackerRank(不同職位有差異)
時長 70-90 分鐘
題量 3 題(1 簡單 + 2 中等-中等偏難)
難度 LC Medium 為主,少量 Hard
考察方向 圖論、模擬、幾何、字串

題型一:感測器資料滑動視窗去噪

題目描述

LiDAR / IMU 串流資料帶有突發雜訊。給定資料流 data[] 和視窗長度 k,請輸出每個長度為 k 的視窗的「截尾中位數」(去掉最大/最小後求均值)。

思路

Python 解法

from sortedcontainers import SortedList

def trimmed_mean_window(data, k):
    if len(data) < k:
        return []
    sl = SortedList(data[:k])
    window_sum = sum(data[:k])
    res = [(window_sum - sl[0] - sl[-1]) / (k - 2)]

    for i in range(k, len(data)):
        sl.remove(data[i - k])
        window_sum -= data[i - k]
        sl.add(data[i])
        window_sum += data[i]
        res.append((window_sum - sl[0] - sl[-1]) / (k - 2))
    return res

時間複雜度:O(n log k) 空間複雜度:O(k)

題型二:高精地圖最短路徑(帶充電約束)

題目描述

Robotaxi 在城市圖中跑單。節點 = 路口;邊 = 道路(帶耗電量 cost)。車輛電池容量 B,特定節點可充電(瞬時回滿)。求起點到終點的最少道路代價路徑,沿途任意時刻電量 ≥ 0。

思路

Python 解法

import heapq

def min_cost_with_battery(graph, n, src, dst, B, chargers):
    # graph[u] = [(v, cost, energy_drop)]
    pq = [(0, src, B)]
    visited = {}
    while pq:
        cost, u, e = heapq.heappop(pq)
        if (u, e) in visited and visited[(u, e)] <= cost:
            continue
        visited[(u, e)] = cost
        if u == dst:
            return cost
        for v, w, drop in graph[u]:
            ne = e - drop
            if ne < 0:
                continue
            if v in chargers:
                ne = B
            heapq.heappush(pq, (cost + w, v, ne))
    return -1

時間複雜度:O(B · E log(B · V))

題型三:點雲連通分量計數

題目描述

二維格網 grid 上有 0/1 表示障礙物的佔據情況;回傳連通分量個數(4-鄰接)。這是 LeetCode 200 的變體,但 WeRide 通常要求支援後續動態新增 / 刪除點

思路

Python 解法(靜態)

def count_clusters(grid):
    if not grid:
        return 0
    R, C = len(grid), len(grid[0])
    seen = [[False] * C for _ in range(R)]
    cnt = 0
    for i in range(R):
        for j in range(C):
            if grid[i][j] == 1 and not seen[i][j]:
                cnt += 1
                stack = [(i, j)]
                while stack:
                    x, y = stack.pop()
                    if 0 <= x < R and 0 <= y < C and grid[x][y] == 1 and not seen[x][y]:
                        seen[x][y] = True
                        stack.extend([(x+1,y),(x-1,y),(x,y+1),(x,y-1)])
    return cnt

一畝三分地高頻題速查

題型 頻率 關鍵技巧
感測器去噪 / 滑動視窗 ★★★★ SortedList
圖最短路徑(帶約束) ★★★★★ Dijkstra + 狀態擴展
點雲聚類 / 連通分量 ★★★★ BFS / DSU
字串日誌解析 ★★★ 正則 / 狀態機
幾何(凸包、最近點對) ★★ 分治

VO 流程與 VO代面 / VO輔助

WeRide 北美 VO 通常 4-5 輪:

  1. 演算法面:LeetCode Medium-Hard
  2. 系統設計:感知 / 規劃 / 控制中的一個子系統
  3. C++ / Python 深度:記憶體模型、移動語意、ROS 經驗
  4. 行為面:跨組協作、debug 高壓情境
  5. HM / 團隊匹配

oavoservice 的 VO代面 + VO輔助 一體化服務

針對 WeRide 這種 4-5 輪、多領域(演算法 + 系統設計 + C++/ROS + 行為)的 VO,oavoservice 提供完整套餐:

具體方案與報價,加微信 Coding0201 溝通。

6 天衝刺方案

天數 任務
D1 一畝三分地 WeRide 帖按題型分桶(圖、滑動視窗、幾何)
D2 Dijkstra / Bellman-Ford / SPFA 各 1 題,狀態空間擴展練習
D3 LeetCode 200 / 695 / 547 + 動態版變體
D4 系統設計:感知 → 規劃 → 控制管線
D5 C++ / ROS 基礎回顧,必要時拿出舊專案
D6 行為面 STAR:上線事故、跨組配合各 2 例

FAQ

WeRide 一畝三分地的 OA 帖能直接背嗎?

不能直接背。WeRide 題庫每個 batch 都會換 30% 左右,但主題(圖演算法 + 滑動視窗 + 模擬)非常穩定。背模板和思路比背題面更高效。

WeRide SDE 和 MLE 的 OA 有什麼區別?

SDE 偏經典資料結構(圖、字串、堆疊/堆);MLE 偏機器學習 pipeline、點雲處理與簡單機率題。兩者都會出至少一道帶「自駕車味道」的場景題。

沒有自駕車背景能投 WeRide 嗎?

可以。WeRide 北美職位主要看通用 SDE 能力,自駕車領域知識可以透過 KITTI / Apollo / Autoware 等開源專案快速補;面試官更看重你能否用熟悉的工具解決新問題。

WeRide OA 沒過冷卻期多長?

一般 6 個月。換職位(例如從 Infra 改投 Perception)通常不算同一池子,可以更早再投。


正在準備 WeRide SDE OA / VO?

oavoservice 長期追蹤 WeRide / Cruise / Waymo / Pony.ai 等自駕車公司的 OA + VO 真題。我們的 mentor 來自一線自駕車團隊,可提供題型分桶、限時模擬、系統設計複盤、行為面錄影回饋等 VO輔助 服務。

👉 立即加入微信:Coding0201獲取 WeRide 高頻題與 VO輔助方案


聯絡方式

Email: [email protected]
Telegram: @OAVOProxy