今年早些时候走完 Cohere 的 coding 面试后,分享一些形式笔记。外面具体信息不多,希望能帮到别人。
他们用的是 take-home 风格的 online assessment,而不是 live coding(至少对我这个岗位和 seniority,mid-to-senior backend)。形式是:2 道题,90 分钟,通过他们的内部平台提交。支持常见语言,我用 Python。
难度
整体中等。不是简单,但我也没在刷 LeetCode hard。一题偏 graph(类似 BFS/DFS 的思路,但放在真实场景里,不是赤裸裸让你「遍历图」)。另一题是解析并转换结构化文本,感觉跟他们实际做的东西相关。面试里没人直接问时间复杂度,但 test cases 会在大输入下卡你,这点很明显。
除了正确性之外,他们在意什么
拿到 offer 后我收到了反馈,说我代码清晰、结构好是加分项。我加了简短注释解释思路,变量名比较语义化,把逻辑拆成小函数。感觉这比微优化更重要。
边界情况:我写代码前花了大概 15-20 分钟专门想 edge cases,并显式处理了空输入、None 等。我觉得这步做对了。
一个提醒
题目不是直接从 LeetCode 抄的,是定制的,或者至少做过轻度定制。别指望能一眼认出来。重点是把问题推理清楚,而不是靠刷题记模板。
OA 后大概等了 5 天才知道能不能进入下一轮。recruiter 说他们是人工 review,不只是自动判分,这也符合我后来拿到反馈的体验。
欢迎提问。这个是 mid-senior backend 岗(申请时 5 YOE),不是 ML 或 infra。