我已经做过两次 HF 的 coding 轮了:几个月前一次(没拿到),最近一次换了另一个团队(拿到了)。所以我比我希望的有更多数据点。
Online assessment(看团队,可能是第 1 轮或第 2 轮): 不是所有团队都有。我的第一轮是 HackerRank 限时 OA,两道题,90 分钟。难度:一道 easy,一道 medium-hard。medium-hard 是树相关。第二次流程直接跳过 OA,从 recruiter screen 到 live coding。所以差异挺大。
Live coding: CoderPad,可选 share-screen,但他们不强制。语言随你。我经验里 Python 让面试官最舒服,但第二轮我用 Go 也没被扣分。
难度拆解(按我的体验): 第一轮:medium、medium-hard。我第一轮第二题没写完,时间不够。 第二轮:两道 medium,如果不想太多,给定时间内都能写完。
题目风格: 不是纯刷 LeetCode 那种题。更偏实用:比如「parse 这个结构然后返回 X」「给你一份 dataset,高效地找到 Y」。还是算法题,但更接地气。我第二次有一道题要处理一个类似 JSON 的结构,很有 HF 味道。
Live 轮的面试官其实会交流。有一位在我卡住时给了提示,也没有因为我需要提示就把结果打崩。这和一些地方面试官只盯着你不说话很不一样。
我会怎么准备: BFS/DFS 熟练 Tree traversal 熟练 字符串处理 Hash map 贯穿所有题 轻量图论
不用深刷 DP。我两次都没遇到。