【字节】广告架构后端实习/校招/北京/上海/可转正【精】
- 系统架构工程师 - 商业化技术 - 北京: https://jobs.toutiao.com/s/j6vGWh1
- 系统架构工程师 - 商业化技术 - 上海: https://jobs.toutiao.com/s/j6v3Lhe
- 所有岗位 (已附内推码): https://jobs.toutiao.com/s/j6vs8vy
- 核心业务:负责广告投放系统架构、广告算法核心服务、广告核心策略的设计与实现
- 优秀人才:来自 BATJMD / 微软 / Google / Facebook 等一线互联网公司的资深工程师
- 国际化团队:北京、上海、美国硅谷、西雅图均有岗位
- 快速成长机会:应对高并发、低延迟、高可用、海量数据的需求与挑战
- 广告投放架构实习生(可转正)- Ads Infra: https://job.toutiao.com/s/NLvQpGJ
- 广告算法架构实习生(可转正)- Ads Infra: https://job.toutiao.com/s/NLvQpGJ
- 内推码 65V7M7W ,内推链接 https://jobs.toutiao.com/s/LKHHWAr
普通后端 | Ads Infra |
接口 QPS 不高,几十到几百。 | 接口 QPS 日常十几万,活动期间量级更大。 > 工作挑战大 |
以实现业务逻辑为主,不出 bug 就好,稳定性要求不高。 | 服务核心,对稳定性要求很高。每宕机一分钟,对公司收入会有很大影响。 > 学习服务运维工具,提升运维能力 |
接口通常是 HTTP 协议,由前端调用。 | 接口都是 RPC 协议,以微服务的形式调用。 > 学习微服务的各种概念,包括 RPC、一致性等。 |
机器数较少,几台到十几台。 | 机器数很多,几万台。 > 学习容器化相关知识。 |
机器通常是单集群、水平扩容。 | 机器是多集群、多机房、分布式部署;部分服务还会使用分片、p2p 分发等技术。 |
通常是几个后端服务,负责实现具体功能。 | 由几十个微服务组成,分为投放、召回、粗排、精排、上下线、数据流等不同链路。 > 了解广告整体架构;从架构的视角看待问题。 > 不仅要写好代码,还要关注架构合理性。 > 平时很难体验到的复杂场景,开阔视野。 |
直接和产品、前端对接,承接业务需求。 | 由业务研发同学和产品对接、承接业务需求。Ads Infra 和这些业务研发同学对接,专注于架构升级优化、服务稳定性治理。 > 不会被 push、不需要赶需求。 > 更 focus,有更多的时间做深入的工作。 |
代码行数较少,一个团队开发和维护,逻辑简单,容易上手。一般是用同一个语言开发。 | 代码行数较多,每个仓库几十万行,不同团队同时更改,逻辑复杂。经常需要同时修改不同模块的代码,Golang 和 C++ 都有。 > 提升源码阅读能力。 > 掌握一门新的语言,如 Golang、C++,并且深入了解其在工程场景下的优化手段。 |
代码逻辑主要是以数据库 CRUD 为主,有时会操作 redis。 | 代码逻辑既包含大量的广告业务逻辑,也包含大量的 RPC 调用,其中还有 etcd、redis、zookeeper、数据库、kafka、metrics 等中间件的使用。 > 作为架构组,会使用各种中间件是基本要求。 > 我们既需要熟悉业务逻辑,才能排查问题;也需要了解服务间调用关系,从而优化架构;还需要开发通用的代码框架,方便业务同学快速接入。 |
文档较少,mentor 以答疑为主。事实是,我们如果有一定的自学能力,往往不需要太多文档和 mentor 的协助,也能很快上手。 | 注重文档建设,有完善的新人手册。mentor 都是资深工程师,并且组内常年有很多实习生,mentor 有丰富的带人经验。 |
枯燥。一旦上手,就会一直是熟练地、重复地做一件事。 | 有挑战。每项工作都需要了解很多业务背景、梳理源码、设计方案和讨论、测试验证。大部分工作的周期都比较长 (以月或年为单位)。 > 锻炼信息收集、整理能力;源码分析能力。 |
Code Review、代码发布流程简单。基本上会用 git 就可以。 | Code Review、代码发布流程严格。代码合入前,会审查代码风格、代码质量、单元测试覆盖率等,需要经过充分的测试;代码上线前,会走发版平台观察对业务指标的影响。重大节日前会禁止线上变更。 > 学习编写单元测试。 > 学习如何配置 CI (持续集成) 工具。 > 学习如何写出质量更高的代码。 |
因为资源占用不高,所以不太关注服务稳定性和服务性能。 | 关注服务稳定性,也会极致优化服务性能。
|
测试时,使用公司通用的测试平台,或自己团队内研发的专用工具。 | 有专门的 QA 团队,负责开发广告场景下专用的测试和问题排查工具,协助提升研发效率。 |
区分度不大。大部分同学的实习经历都是做 CRUD 开发,这和学校的项目似乎没有太大区别,面试官很难把你和其他同学的简历区分开来。 | 区分度明显。这种复杂庞大的业务场景,即使对于一些面试官来说,也是很难接触到的。面试官会对你的实习经历很感兴趣,这是一个很大的加分项。 |
工作时的产出都是业务逻辑,没有亮点,写到简历上面试官也不怎么会问。 | 每项工作都很有挑战,写到简历上很有说服力。此外,这里积累的源码阅读经验、RPC 相关知识、各种工具的使用、服务运维经验,都是很有价值的,认可度很高。 |
- Ads Infra 团队主页:https://imageslr.com/ads-infra.html
- Ads Infra 校招 Q & A:https://shimo.im/docs/98rrrqhP9rDw8kjr
- 牛客网春招宣讲帖:https://www.nowcoder.com/discuss/834943