职位描述

  1. 负责节跳动 RTC 调度研发,包括但不限服务于抖音 /飞书 /云游戏 /元宇宙等场景需求的调度;
  2. 和产品经理一起挑战高难度、高复杂性、多样化的业务需求;
  3. 采用业内最先进的技术、最佳实践方法论解决分布式领域内的技术难题;
  4. 迎接抖音音视频通话场景下高并发、多活技术、流量工程、成本调度等挑战
  5. 在复杂模块到子系统级别独当一面,高质量把控相关研发工作的全生命周期,具体包括产品形态讨论、需求分析、文档撰写、设计编码、测试运维、效果追踪等工作;

关键词: 异地多活、高并发、分布式架构、千人 /万人 /百万人房间并发、流量工程、成本调度、分级服务

职位要求

  1. 过往行业不重要; [社招] 我们希望你能掌握网络协议、架构、存储、缓存、消息队列、安全等 IT 业内最基础的知识、技术、工具链,拥有良好的设计和编码品味,优秀的落地编码能力, [校招] 我们希望你有扎实的计算机基础,能有深入的思考习惯
  2. 过往经验不重要;我们希望你能具备较好的产品意识,深入参与产品设计 /讨论,理解且重视产品效果、认同产品成功是我们最重要的工作目标;
  3. 过往公司不重要;我们希望你能拥有良好的职业素养和自驱力,能够持续学习和自我提高
  4. 过往级别不重要;我们希望你乐于接受不同意见,对变化积极乐观,对挑战充满激情,善于沟通协作,不设边界,和优秀的人做有挑战的事

常见疑问

1. 我没有 RTC 相关的开发经验,可以应聘该团队吗?

  • 我们该岗位在 RTC 团队是后端开发团队,所用技术栈均是后端常用技术栈
  • 不需要具备 RTC 的开发经验
  • 不需要了解特殊的开发技术栈
  • 有 RTC/CDN 行业相关经验只是加分项

2. 什么是 RTC 调度团队?具体做什么事情?

负责抖音 /飞书产品下音视频通话基础设施研发,包括音视频全球边缘节点接入和分发调度,提升全球用户接入的准确性和质量、增强全球用户的音视频通话能力,解决全球机房的故障问题,实现全球服务层面上的异地多活,并支持飞书下千人会议 /万人会议 /百万人会议等高并发需求,要解决万人以上大房间的调度性能和用户体验问题、建立不同信任级别数据中心之间的业务互通能力、优化不同地域的用户协同使用产品的性能和体验等。

3. 该工作有什么技术挑战?

如果你是技术专家,那么日常工作中最大的挑战,是千人会议、万人会议、百万人会议、高并发大流量的环境中,保证以下六点:

  • 高可用:全球任意机房或者边缘服务器挂掉,不影响服务
  • 低延迟:99.99%的通话要在 300ms 内完成触达
  • 混合部署: 私有机房、私有云、混合云、公有云部署,同时需要具备跨云通信能力。

我们日常工作中,相当大一部分精力都在设计和实现能够支持上述目标的大规模分布式系统,并且这个系统很有可能是全世界独一无二的一份,遇到新的工程挑战就会持续迭代改进,你很难在公开环境中(互联网、教科书或者学术论文)获得这类系统的第一手资料,我们面临的技术挑战,难度和复杂度是前所未有的。

4. 该工作有什么业务挑战?

如果你是业务专家,你一定能强烈地感知到产品超高复杂性、超强个性化的客户需求, 你需要面对这些需求抽丝剥茧,分析和洞见沟通、协作的本质,系统高效地抽象出通用技术解决方案。

你将会面对的挑战有:

  • 千人房间 /万人房间 /百万人房间如何进行通话的,如何更清晰、完备、可扩展的解决这些问题?
  • 全球边缘节点这么多?如何更好的将用户接入最好的边缘节点,权衡成本前提下提升用户的接入质量
  • 如何进行流量工程调度?进行成本调度、免流调度、稳定性调度
  • 边缘节点和中心机房每天都面临很多故障,如何做到异地多活和业务无感知?

5. 现在加入会不会太晚?

目前 RTC 仍处于快速发展的时期,类似 tiktok 、飞书、元宇宙、游戏等产品仍保持高速增长,业务前景十分广阔,各种技术挑战与机遇,正是你有机会大展拳脚的广阔平台,在这里你有机会提出自己的想法并真正地去实现落地,不再是一个单纯的执行者,更是一个参与者与创造者。

6. 算法、coding 没准备好怎么办?字节的算法是出了名难的

我们只考察常规的算法,我们更看重候选人的计算机基础、广度以及培养的潜力,这些都是软素质,多准备十天二十天和少准备一段时间,差别不大,软素质短时间内很难变动。

7. 所用的是什么语言?我不会 golang 怎么办?

  • 团队的后端开发使用 golang 语言
  • 招聘不要求候选人会 golang ,只要熟悉一门后端编程语言即可
  • 没有 golang 经验就不会被考 golang 语言相关的知识
  • 只可能会对你简历中精通、熟悉的某些语言进行考察

8. 我现在使用的是 java 语言,不想转 golang

  • golang 是一门崛起的新兴语言,开发效率和运行效率都很均衡,属于对后端工程极度友好的语言
  • 多学一门语言技多不压身,熟悉其他编程语言的情况下,2-4 周时间可以熟练掌握
  • 目前包括谷歌、腾讯、字节在内的诸多互联网企业都在推广该语言
  • 多数互联网公司即便主体语言不是 java ,也都有 golang 岗位需求,无需担心前景

联系方式

有兴趣的同学欢迎留言或者邮件沟通 lihao.1991@bytedance.com ,面试全程远程,我可以帮忙内推和沟通面试流程。