WeRide 作为自动驾驶领域的领先企业,技术要求高,OA 难度不小。面试题多涉及算法、数据结构,还有工程实现细节。对于很多候选人来说,OA 是通往后续面试的第一道关卡,准备充分和临场发挥都很关键。得益于 Programhelp 远程语音助攻,我才能在紧张的时间里高效理清思路、快速写码,顺利通过 OA。
面试概览
WeRide OA 通常包括:
- 两道编程题,偏向算法和数据结构,难度中上,时长约 90 分钟。
- 一道设计或工程题,考察系统设计能力或编码细节实现。
- 部分选择题,涉及基础知识和编程常识。
整体时间紧张,题目偏难,要求写出高效、正确的代码。
WeRide Online Assessment 真题
1. Find the Closest Pair of Points
Given a list of points (x, y) on a 2D plane, find the pair of points with the smallest Euclidean distance between them. Return the distance.
Input:points = [[1,2], [3,4], [6,8], [2,3]]
Output:1.414 (distance between points [1,2] and [2,3])
2. Detect Lane Line from Sensor Data
You are given an array representing sensor data capturing the lane line positions on a straight road segment. The data contains some noise. Write a function to smooth the lane line positions using a moving average with window size k.
Input:data = [2, 3, 5, 8, 7, 6, 4]k = 3
Output:[NaN, NaN, 3.33, 5.33, 6.67, 7.00, 5.67] (first k-1 elements are NaN or None)
3. Calculate the Collision Probability
Given two cars moving towards an intersection from perpendicular roads, each with a constant speed, calculate whether they will collide assuming both start at time t=0 and move straight through the intersection.
Input:
- Car A start position and speed:
posA = 0,speedA = 10m/s - Car B start position and speed:
posB = 0,speedB = 15m/s - Intersection length = 5 meters
- Both start at t=0 from distance
posAandposBto intersection.
Determine if their paths overlap in the intersection.
4. Path Planning with Obstacles
Given a grid representing a map with 0 as free space and 1 as obstacles, write a function to find the shortest path from the top-left corner to the bottom-right corner, moving only up, down, left, or right.
Input:
grid = [
[0, 0, 1, 0],
[1, 0, 1, 0],
[0, 0, 0, 0],
[0, 1, 1, 0]
]
Output:
Length of the shortest path (number of steps), or -1 if no path exists.
5. Data Stream Median
WeRide receives a continuous data stream from sensors. Design a data structure that supports adding a number and finding the median of all added numbers efficiently.
Operations:
addNum(num)— Add a number to the data structure.findMedian()— Return the median of all elements so far.
FAQ
Q: OA 时间多久?
A: 通常 90 分钟左右。
Q: 题目难度怎样?
A: 算法题中上,设计题侧重基础数据结构和思路,整体偏硬。
Q: 可以用什么语言?
A: 常用 C++, Java, Python。
Q: 现场卡壳怎么办?
A: 建议提前做好题目分类准备,有 Programhelp 远程语音助攻随时帮你梳理思路,现场不慌。
Programhelp OA代写优势
WeRide OA 节奏快,时间紧,容易在细节或思路上卡点。Programhelp 的远程无痕联机代写与语音助攻,能实时帮你:
- 迅速提示思路转变,避免陷入暴力解泥潭
- 细致检查代码边界条件和复杂度分析
- 协助系统设计题拆解,梳理架构和关键点
- 行为和技术面试准备一应俱全,助力全流程过关
有 Programhelp 陪伴,线上 OA 再难也不怕!如果你也想拿 WeRide offer,找我安排专属助攻方案吧!