Hulu 是这几个公司里唯一一个我没有找人内推而拿到面试机会的,也是面试体验最好的一个公司。Hulu 和 Twitter、Zynga、Foursquare 等公司一样,用了 jobvite 接 受和追踪职位申请。因为是申请的第一家公司,我在申请 Hulu 时的 cover letter 写得很详细,针对职位需求上的每一条都写了我的相关工作经验,这也许是最后能拿到面试机会的原因吧。其他公司的 cover letter 都写得很简单,短短两段就结束了。
Hulu 的第一轮电面和其他公司的有些不同。45 分钟里要做四个题。面试官提前十分钟发了一封邮件给我,上面有两段代码。第一段代码是一个检查两个字符串是否是 anagram 的程序,写得很绕而且性能很差。面试官先问我这段代码的用途,然后问有什么方法优化,并要求我把代码写在 titanpad 上。接着他问了我第二段代码是做什么的。第二段代码也写得有点复杂,不过可以看出是一个检查有向图里面是否存在环的程序。
然后是设计题,要求设计一个 LRU Cache,只要说出接口、用到的数据结构和大致的算法就可以了,我想了个用一个 LinkedList 和一个 HashMap 的方案。
第四题还是代码题,写一个合并两个有序链表的程序。
面 完后还有点时间,我们就聊了聊。面试官是在 Hulu 做支付的,主要用的语言是 Scala(Hulu 里面各个团队用的技术都很自由,可以选择自己喜欢的语言开发,Python Ruby C# Java 都有)。我当时正好在字节社做 iOS 上的应用内购验证,就问了他有没有处理黑卡坏账方面的经验。可惜 Hulu 在 iOS 上只有订阅方式的支付途径,没有 non-consumable product 的相关经验。
面完后 HR 给我安排了第二轮电面。面试官来自法国人,是 FFmpeg 的维护者之一。面试官看我简历上有星际比赛的奖项,还当过校队的队长,就和我聊起了星际2的平衡性。接着说到最近的虫群之心 beta,他觉得改动没有当年母巢之战的有意思,因为前期的改动不大。
聊了二十分钟的星际2后才切入正题,coding 题很简单,就是在一个数组里找出两个数,使得他们和为给定的数。写完这个最基本的版本后还有些别的变化,比如如果所有的数都是一定范围内的正整数,这时可以用一个数组统计每个数字的出现频率。
二面结束后等了三星期还没有消息,不知道是默拒了还是 HR 忘了。三星期后我又写了封信询问我的二面结果,HR 回信说欢迎我去他们公司 onsite 面,之前校招忙把我忘了。
Hulu 的总部在洛杉矶,Santa Monica 附近,离海滩只有几公里的路程。一进面试的会议室就看到白板上写着「Welcome Yuanxuan to Hulu」,一下子对这个公司充满了好感。
Hulu 的 onsite 面试题是面过的几家公司里最难的,一共有四轮。前三轮由来自内容团队、API 团队和架构团队的工程师面试,最后一轮的面试是 CTO 亲自面的。题目也是涵盖了算法、设计和实际的编码,有一轮的问题从设计一个分布式系统开始,讨论了这个系统的身份验证、数据分片、原子性、容错等问题的设 计,考察了很多细节的地方,最后还让我写了 SQL,以及如何优化这些查询指令。不过我对 SQL 很不熟悉,每次用都要查手册,当时用了 ActiveRecord 的查询接口代替。
CTO 面完后 HR 进来问了我有没有其他公司的 offer,接着带我逛了一圈 Hulu 的工作场所。Hulu 总部只有 40 位左右的工程师,大家相互之间都很熟,气氛非常好,也比较自由。逛完后 CTO 带我出去买了杯咖啡,在回来的路上给我发了 offer。Hulu 的 package 和 Facebook 的在数额上差不多,但是因为公司性质的问题没法发股票给我,只能用相近的奖金代替。
回到公司后,CTO 问我对哪个团队比较有兴趣,我说如果我最后签了 Hulu 的话应该会想去做后端。HR 就安排了这个团队的工程师和我一起出去吃晚饭,还给了我两张 voucher 用于支付回去的出租车。当时因为觉得去 Hulu 可能性不大,觉得对方这么热情实在不好意思,可是还是推脱不掉,只得跟着他们去了附近一家餐厅。因为 Hulu 主要内容是美剧和电影的,饭桌上讨论的主题也是各种电视剧,还提到接下来 Hulu 可能会搬到附近另一个办公楼。
最后还是没有接受 Hulu 的 offer,虽然对他家印象非常好。一方面我更希望在湾区工作,另一方面小公司吸引人的一个点在于初期的股票,由于 Hulu 没法发股票所以这个优势也就没了。
- 本文固定链接: https://zxbcw.cn/post/1657/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)