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 提供:
- VO代面:当天实时辅助,特别针对感知 / 规划 / 控制系统设计题
- VO辅助:mentor 出题 + 录像复盘,按真实节奏练
- 题型分桶:一亩三分地 6 个月帖子按主题分类,找出反复出现的设计题
- C++/ROS 深度复盘:内存模型、移动语义、ROS 节点编排
加微信 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