问:在 Tubi 做前端是一种什么体验?
答:本答案来自 Tubi Web Team 播放器团队的 Senior Tech Lead Heng。
你关心的其他问题(比如, Tubi 前端工程师的一天, Tubi 有没有弹性工作制,如何确保工作生活平衡还能有职业成长,Tubi 最特别的福利和活动是什么),欢迎观看完整版采访视频。
在 Tubi 做前端,和在其他公司有什么不一样?
公司有很多,每家公司的风格,甚至每个团队的风格都不太一样;而且,团队的风格也可能随着时间发生变化,所以我只能大概谈谈, 在我看来,Tubi 的前端团队与我之前待过的公司有差异的方面。
在技术上,Tubi 其实和业界没有太多差异。我们是基于 React 的技术栈,TypeScript 为主要开发语言。利用 Jest 实现单元测试覆盖,Cypress 实现 E2E 测试覆盖。这些技术栈和我以前经历的团队比较类似,很多业界优秀的公司应该也是这种配置。
我待过的公司中,大企业相对较多,公司里造的轮子比较充足,我们会使用很多公司自建的内部系统。Tubi 相对来说比较开放,也考虑到人力的原因,我们使用了非常多的外界 SASS 系统。比如代码协作使用 Github 的 Private Team 功能,监控使用 DataDog 系统,前端监控有付费的 Sentry Account,取数平台会用 Sisense。使用第三方 SASS 系统的好处是一般文档会比较齐全,而且趟坑的人也不少,有些问题也能借用社区方案。缺点就是需要付费,有的功能因为很贵所以不能肆意用,有时出问题了需要找到相关人员,不如以前内部系统方便。但到目前,我个人感觉还可以。
另一个差别比较大的方面,还是在业务上。以前做国内业务时,集中处理 PC Web / Mobile Web 的场景更多。Tubi 是流媒体业务,加上美国 OTT 行业比较发达,我们目前会兼容之前我没有接触过的很多设备,比如三星、 LG 、海信、 Vizio 这些电视机, Xbox One 、 PS4 、 PS5 游戏机等。如果之前对海外流媒体业务了解不多的话,会感到有些新奇。
工作感受上也有一些不同。由于我们的需求一般没有 Deadline,我没有了那么多焦虑感。之前我会掰着手指数,我还能有多少时间完成需求,必要的话也会压榨一下自己;现在,我可以每天自己给自己定目标,专注于完成自己想完成的任务。相比以前,我没感觉到生产力下降,反而犯的错更少了,思路更清晰。
还有一点差别是,我接触的工作范围在 Tubi 有所增加。在 Tubi,我们工程师做完的 Feature 需要进行实验,实验后需要分析数据;因此,我的取数能力、统计分析能力都增强了许多。另外,因为 Tubi 没有大型运维团队,我也有机会接触 Kubernets 技术,学到了不少 Infra 技能。
—— Heng
(观看视频,了解另一位 Tubi 前端工程师 Chun 的工作体验)
Tubi 中国团队和美国总部之间的分工是什么样的?
其实,Tubi 中国团队和美国总部没啥分工,大家的工作内容基本是一致的。
首先,Tubi 在美国也是分布式办公的,Tubi 除了旧金山总部,还有洛杉矶、纽约、芝加哥分部,还有众多在美国其他城市远程的同事。美国团队本身就存在时差,再加上美国是个移民国家,我们公司有很多非美国本土工程师,他们偶尔得回国办公。因此,Tubi 在远程办公这方面积累的经验很多,远程同事和办公室里的同事本质上没有差别。在这样的情况下,我们可以理解 —— 中国团队的工程师就是相对于美国总部的远程工程师,只不过中国团队人数较多,因此租了在北京和杭州的办公室。
硬要说分工的话,美国同事负责白天,中国同事更多负责晚上。例如,Tubi 网站高峰期是在美国下班时间后,因此,美国的发布时间在他们的上午,中国的发布时间在美国的深夜(北京的下午)。之前有人怂恿 CTO 搞个伦敦团队,这样我们在 GMT +8 , 0 , -8 三个时区都有团队,就可以实现无缝办公了。
另外,美国和中国的假期安排不一样,刚好可以彼此接力支援。例如,刚过去的中国国庆节,中国团队就可以把任务扔给美国团队然后放心休假,而到了接下来的感恩节、圣诞节、新年,美国团队就可以把任务交给中国团队。
—— Heng
Tubi 前端技术岗面试都会考察什么,难不难?
Tubi 前端技术面试风格比较实际。
我们不太考核算法,也不会每一轮都是干巴巴的聊天。因此,面试 Tubi 不需要刷题,也不需要背八股文。比较费时间的是需要准备一下英语,如果没有 React 经验需要学习一下 React。
Tubi 的面试以 Online Coding 为主。我们会出一道与实际需求较为类似的题目,面试者在限定时间完成即可。面试期间,面试者可以上网搜索,有需要的话可以使用自己的编辑器开发环境,有任何问题也可以咨询面试官。我们可以理解 —— Tubi 面试就是做一个 40 分钟就能完成的小需求。
面试会覆盖这几个方面:JS 能力、React 能力、使用框架开发的能力、架构能力等。如果面试的是播放器团队的岗位,会增加播放器相关的面试轮次,相应地, React 能力的考核标准也会相对降低一些。
我个人觉得,难度其实不算高。如果你之前的工作是基于 React 技术栈的,应该可以说是无缝迁移。考虑到国内用 Vue 框架的公司也不少,我们也有对应的 Vue 版本考题,并不只限制于 React。
另一个小提示 —— 面试时,不要只闷头做题。和平常的开发一样,我们不是接到需求不评审就马上开干的,因此,建议大家花点时间整理思路,看看有没有特别的 Edge Case。遇到卡点时,也可以咨询面试官,就像平常寻求同事帮助一样。
—— Heng
( 了解 Tubi 英文面试指南、英文使用场景、工程师英文学习经验分享)
关于岗位 —— 资深前端工程师
先介绍一下 Tubi 前端团队做什么,这样可以更好地理解 Tubi 在招的这个岗位。
Tubi 是流媒体公司,我们构建的是一个流媒体平台。我们的主要服务平台是各大 OTT 设备,诸如电视机、游戏主机、数字视频转换盒、投屏设备、带屏幕的智能音箱等设备。因为绝大部分厂商采用的都是内置浏览器这种方案,使用 HTML5 技术构建应用是开发效率最高的选项,因此,我们也是 Tubi 维护最多平台的团队。
Tubi 基于 React 开发代码,有一层比较薄的 Node 中间层。因此,我们希望候选人能够掌握这两种技术。OTT 设备相比于 PC,算力还是会差一些,因此,我们对性能也有一定的要求,希望候选人能有相关经验。
当然,如果你对流媒体业务十分了解,甚至有播放器经验,或者对 React , RxJS 等技术掌握得很好,这些都是十分有竞争力的加分点。
在 Tubi 工作是一个能很好地体验工程师自主性、了解自己技术影响力的机会。在这里,你有更多的话语权,能从头到尾体验一个功能、一个产品的诞生与实现;你也有充足的时间思考论证你的想法,锻造自己的技术能力。
欢迎加入!
Tubi 有更多