好吧我刚走完 NBCUniversal 的 coding 轮,真的需要找个地方把这些吐出来,因为我找了好几周,看到的基本都是过期的帖子。
online assessment(OA): 在任何真人交流之前,他们先给我发了一个 HackerRank 链接。两道题,90 分钟。 题 1:array manipulation,经典 sliding window 变体。不难,我觉得算 medium-easy。 题 2:string parsing,带一些边界条件。也在 medium 范围,但你一着急就会被 edge cases 绊住。
平台是 HackerRank,运行很稳。没有监考软件,没有摄像头。就是题目加计时。我大概 55 分钟做完,还有时间检查 edge cases。
onsite 里的 coding 轮: 虚拟 onsite 有两轮 coding。形式:共享 coderpad,每轮一个面试官,45 分钟。
第 1 轮更偏算法。trees 和 graphs 那类。他们给我的题大概是「在这些约束下找最短路径」这种,关键是边写边讲,自己把 bug 抓出来。
第 2 轮更偏面向对象设计。他们让我给一个内容 catalog 搭一个小的 class hierarchy,然后问我会怎么扩展。更少讨论 algo complexity,更多是设计取舍和怎么讲 tradeoffs。
整体难度:NBCU 的 coding 轮不是 faang-hard。我做过 netflix 和 amazon 的 coding,那个更狠。NBCU 的感觉是他们真的想招能做实际问题的人,不只是刷 leetcode 的。如果你能稳定做 medium 并且能边写边沟通,基本就没问题。
一个让我意外的点:他们在一轮之后问我有没有关于 engineering culture 的问题。我没想到这么早就问。准备一个真正的问题,不要用那种模板化的「what does a typical day look like」(典型的一天长什么样)问题。
愿意回答更具体的细节。也很想听听做过他们 data engineering 或 ML 岗的人,想知道形式是不是差不多。