← 返回博客列表 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