面灵AI→

网易云音乐全栈笔试:BFS 算法与 AI Coding

轮次
笔试
时间
2026-09
来源
牛客网

《面试题目》

  1. 算法题:BFS 类题目(原帖未保留具体题面),难度偏高,50 分
  2. AI Coding 题:50 分,评分分三个维度——通过案例、test 文件、md 文件

《参考解析》

BFS 类题目的通用解法

BFS 的模板固定:队列存状态,入队时立刻打访问标记(不要等出队才标,否则同一状态会重复入队导致超时或内存爆掉),按层推进时用「先取当前层长度再循环」来记录步数。难点从来不在模板,而在状态怎么定义:网格最短路的状态是坐标,带障碍和钥匙的题要把钥匙集合压进状态,带转向代价的题要把方向也放进去,多起点题要把所有起点先入队,多终点题就在出队时判断是否命中任一终点。

另外要分清 BFS 和 DFS 的适用面:BFS 只有在边权都为 1(或相同)时才是最短路;边权不同要用 Dijkstra 或 0-1 BFS(双端队列),有负权才轮到 SPFA。数据量大时注意队列的实现(数组模拟比 STL 队列快)、用一维下标代替二维坐标、以及把 visited 开成位图或按需哈希。

AI Coding 三个维度的拿分点

评分维度已经明说了是「通过案例、test 文件、md 文件」,那就别只交一份能跑的主逻辑。

通过案例对应正确性:先把输入输出格式和边界条件读清楚,处理空输入、单元素、最大规模,写完后自己造几组极端数据验证,而不是只跑题目给的样例。

test 文件对应可验证性:要真的写出测试用例文件,覆盖正常路径、边界和异常分支,用断言而不是打印,让评分方一眼能看出你测了什么。用例要能被自动跑起来,别依赖手工输入。

md 文件对应表达:写清思路、复杂度、关键数据结构的选择理由、以及已知的限制(哪些情况没处理)。这不是走过场,评分方判断「你是否真的想清楚了」主要看这一页。

时间分配上,两道题各 50 分,先把确定性高的那部分做完再回头啃难题,不要在一道题上耗尽两小时。原帖作者记录的是算法题偏难、AI Coding 写完较早,说明这场的分差主要落在算法题上。