← 返回博客列表 WeRide SDE OA 一亩三分地面经|感知 + 图算法 VO代面备考
WeRide

WeRide SDE OA 一亩三分地面经|感知 + 图算法 VO代面备考

2026-05-23

WeRide(文远知行)2026 年继续在硅谷、广州、苏州扩招 SDE / Perception。上一篇我们整理过 WeRide OA 的传感器去噪 + 最短路径 + 点云聚类三大主线,这一篇换一个更具体的视角:点云聚类的密度阈值题、Lidar / IMU 时间戳对齐题、带交通灯约束的城市图最短路径题——这三道是一亩三分地最近 30 天反复出现的细分变体。

WeRide OA 概览

维度 详情
平台 CodeSignal / HackerRank
时长 70–90 分钟
题量 3 道(1 简单 + 2 中等偏难)
难度 LC Medium 为主,少量 Hard
评分 自动判题 + 隐藏 stress test
反馈 一亩三分地反馈:3 道全 AC 进 phone screen 概率 80%+

题型一:点云密度聚类(DBSCAN 简化版)

题目描述

给定二维点集 points[i] = (x, y) 与半径 eps、最小邻居数 min_pts。返回核心点的连通分量个数(核心点定义为 eps 半径内邻居数 ≥ min_pts)。

Python 解法

def dense_clusters(points, eps, min_pts):
    n = len(points)
    eps2 = eps * eps
    neigh = [[] for _ in range(n)]
    for i in range(n):
        for j in range(i + 1, n):
            dx = points[i][0] - points[j][0]
            dy = points[i][1] - points[j][1]
            if dx * dx + dy * dy <= eps2:
                neigh[i].append(j)
                neigh[j].append(i)
    core = [len(neigh[i]) >= min_pts for i in range(n)]
    seen = [False] * n
    cnt = 0
    for i in range(n):
        if core[i] and not seen[i]:
            cnt += 1
            stack = [i]
            while stack:
                u = stack.pop()
                if seen[u]:
                    continue
                seen[u] = True
                if core[u]:
                    stack.extend(neigh[u])
    return cnt

时间复杂度:O(n²),n ≤ 2000 可过;进阶版要求 KD-Tree。

题型二:Lidar / IMU 时间戳对齐

题目描述

两条单调递增时间戳序列 lidar_ts[]imu_ts[]。对每个 lidar_ts[i],找最接近的 imu_ts[j];若两个等距,取较早的那个。返回索引数组。

Python 解法

import bisect

def align_ts(lidar_ts, imu_ts):
    res = []
    for t in lidar_ts:
        j = bisect.bisect_left(imu_ts, t)
        cands = []
        if j < len(imu_ts):
            cands.append(j)
        if j > 0:
            cands.append(j - 1)
        cands.sort(key=lambda k: (abs(imu_ts[k] - t), imu_ts[k]))
        res.append(cands[0])
    return res

时间复杂度:O(n log m),对 100 万点级数据足够稳。

题型三:交通灯约束的最短路径

题目描述

n 路口的城市路网,每条边 (u, v, drive_time)。每个路口红绿灯周期 cycle[u],绿灯时长 green[u]。从节点 0 出发的车辆,求到节点 t最短到达时间(含红灯等待)。

Python 解法

import heapq

def shortest_with_signals(n, edges, cycle, green, src, dst):
    g = [[] for _ in range(n)]
    for u, v, w in edges:
        g[u].append((v, w))
        g[v].append((u, w))
    pq = [(0, src)]
    dist = {src: 0}
    while pq:
        t, u = heapq.heappop(pq)
        if u == dst:
            return t
        if dist.get(u, float('inf')) < t:
            continue
        for v, w in g[u]:
            phase = t % cycle[v]
            wait = 0 if phase < green[v] else cycle[v] - phase
            nt = t + wait + w
            if nt < dist.get(v, float('inf')):
                dist[v] = nt
                heapq.heappush(pq, (nt, v))
    return -1

时间复杂度:O((V + E) log V)。

一亩三分地高频题速查

题型 30 天频率 核心模板
点云聚类 / DBSCAN ★★★★ 邻接表 + 连通分量
时间戳对齐 ★★★★ bisect + tie-break
红绿灯最短路径 ★★★★★ Dijkstra + 等待计算
滑动窗口去噪 ★★★ SortedList
占据栅格连通块 ★★★ BFS / DSU

VO代面 与 VO辅助 实战

WeRide 北美 onsite 4–5 轮(算法 + 系统设计 + C++/ROS + 行为)。oavoservice 提供:

加微信 Coding0201 沟通方案与报价。

从复习无方向到顺利通过 WeRide OA

这次很高兴帮这批同学顺利通过 WeRide SDE OA。很多同学反馈,光靠自己刷一亩三分地帖效率不高,特别是带「自动驾驶味儿」的题(红绿灯最短路径、点云聚类),LC 单刷很难覆盖。

如果你也在准备 WeRide、Cruise、Waymo、Pony.ai 这类自动驾驶 SDE 的 OA / VO,感觉一个人复习方向模糊,欢迎联系 oavoservice。我们会根据你的水平和弱点,提供专业的 OA / VO 实战辅助服务和 VO代面 一对一指导。


FAQ

WeRide OA 一亩三分地的题能直接背吗?

不能。每个 batch 题面会换 30%,但主题(图算法 + 滑动窗口 + 几何)非常稳定。背模板比背题面有效。

WeRide SDE 和 Perception 岗 OA 有差吗?

SDE 偏经典数据结构(图、字符串、栈/堆);Perception 偏点云处理、几何运算、KD-Tree。两者都有自动驾驶味儿场景题。

没有自动驾驶背景能投 WeRide 吗?

可以。北美岗位主要看通用 SDE 能力,自动驾驶领域知识可以通过 KITTI / Apollo / Autoware 等开源项目快速补。

WeRide VO代面 安全吗?

oavoservice 的 VO代面 服务通过文字思路核对 + 静音连线进行,mentor 不出现在画面,候选人主控;这是 VO辅助 的延伸,并非替考。


正在准备 WeRide SDE OA / VO?

oavoservice 长期追踪 WeRide / Cruise / Waymo / Pony.ai / Zoox 等自动驾驶公司的 OA + VO。mentor 来自一线自动驾驶团队,可提供 题型分桶、限时模拟、系统设计复盘、VO代面 / VO辅助 全套服务。

👉 立即添加微信:Coding0201获取 WeRide 高频题与 VO代面 方案


联系方式

Email: [email protected]
Telegram: @OAVOProxy