公司:字节跳动
北京字节跳动科技有限公司,简称字节跳动,是一家位于中国北京的跨国互联网技术公司,成立于2012年3月,旗下有产品媒体聚合服务今日头条和短影音抖音(及其海外版本TikTok)、西瓜视频、社交平台Lemon8等,也有一些加入人工智能技术的专业生产力软件,例如剪映、办公套装拉客(lark,中国版本称飞书)等业务。
至2018年,字节跳动的移动应用月度用户超过十亿人,估值750亿美元,超越Uber成为全球最有价值的创业公司。截至2019年7月,字节跳动的产品和服务已覆盖全球150个国家和地区、75个语种,曾在40多个国家和地区位居应用商店总榜前列。
在中国互联网企业中,字节跳动是第一家没有向阿里巴巴、腾讯或百度寻求商业保护或融资的创业公司;相反地,字节跳动被认为与百度、腾讯两大巨头有强烈的竞争关系,因字节跳动资金主要来源于抖音和今日头条的广告收入。
至2020年3月,字节跳动已经有六万员工,并计划再增员一万人。投资人和内部消息将字节跳动2019年的营收定在1,040亿元至1,400亿元人民币,超过了Uber、Snapchat和推特的总和。在中国,其广告收入也超越了腾讯、仅次于阿里巴巴。抖音的全球下载量达1.15亿次,固定用户近10亿。
文本理解算法在抖音风控上的应用
在反作弊场景中,黑产必须通过文本进行信息传递或触达受害者,而文本由于其生产成本低廉、传递信息能力强的特点成为了黑产与我们进行对抗的主要战场。文本理解算法为应对各类强对抗提供了文本检索、文本风险标签、风险信息提取的能力,以及一个文本模型训练平台。这些能力的组合使用可有效打击文本内容维度的作弊行为,现已在反作弊的各业务场景中得到应用。
深入浅出 Semi Design 主题化方案
Semi Design 是由抖音前端团队,MED 产品设计团队设计、开发并维护的桌面端设计系统。它从字节跳动各业务的复杂场景提炼而来,支撑包括客服、建站、项目管理、创作者与音乐人服务在内的,多元品类下近千计平台产品,服务内、外部 10 万+ 用户。
字节跳动 Flink 状态查询实践与优化
本篇文章介绍了字节跳动在 Flink 状态查询方面所进行的优化,解决了查询 Flink 任务状态时开发成本高及无法查询状态元信息等问题,提出了 State Query on Flink SQL 的解决方案,让用户使用 Flink Batch SQL 就可以快速查询 Flink 任务状态。
Go 1.18 的那些事——工作区、模糊测试、泛型
2022 年 3 月 15 日,Google 发布了万众瞩目的 Golang 1.18,带来了好几个重大的新特性,包括:
- 解决本地同时开发多个仓库带来的一些问题的工作区(Workspace)
- 能够自动探测代码分支,随机生成输入,并且检查代码是否会 panic 的模糊测试(Fuzzing Test)
- 众多开发者盼星星盼月亮终于等到的泛型支持。
本文将简单讲述这三个特性的相关内容。
数据质量动态探查及相关前端实现
数据探查上线之前,数据验证都是通过写 SQL 方式进行查询的,从编写 SQL,到解析运行出结果,不仅时间长,还会反复消耗计算资源,探查上线后,只需要一次探查,就可以得到整张表的探查报告,但后续我们还发现了一些问题,主要有三点:
- 无法看到探查的数据明细以及关联的行详情,无法对数据进行预处理操作。
- 探查还是需要资源调度,等待时长平均分钟级。
- 与质量监控没有打通,探查数据的后续走向不明确。
针对这些问题,我们进一步开发了动态探查需求,解决的问题如下:
- 基于大数据预览的探查,支持对数据进行函数级别的预处理。
- 探查结果秒级更新,实时响应。
- 与数据监控打通,探索 SQL 的生成模式。
进化的隐藏水印:深度学习提升版权保护的鲁棒性
能抵抗剪切、拼接和编辑等攻击的隐藏水印了解一下?
基于 http-flv 的抖音直播端到端延迟优化实践
以抖音直播为例,直播链路各环节延迟贡献如下:
- 推流端——网络延迟平均 20 ~ 30ms,编码延迟依赖编码参数设置而定
- 流媒体服务——在拉流转码的场景下,会额外引入 300ms ~ 2s 的转码延迟(大小与转码参数相关),如果直接播放源流,则不存在转码延迟
- 播放端——网络延迟 100ms ~ 200ms 左右,主要是链路分发节点之间的传输延迟;防抖 buffer——5 ~ 8s
从各环节延迟贡献看,容易得出一个直观的结论:端到端延迟过大主要是播放器的防抖 buffer 造成,这个表面现象也经常会导致很多同学,认为降低播放器的 buffer,就能降低延迟。这个说法的对错,取决于从什么角度解释。
为Chromium实现MediaConfig API - 过程分享
在实现实现任何功能前,一般都需要有数据统计支撑,作为收益验证的手段以及测试 Case 收集的手段。因此,在尝试实现 HEVC 硬解前,首先需要统计有多少视频是 HEVC 视频,并拿到视频的解码参数。
很不幸,浏览器层面并未给我们暴露出视频的解码信息,比如分辨率,编码,Profile,色彩空间。这些一系列的视频参数,对于前端都是无感知且无法感知的。
因此,在往常,如果需要获取视频信息做数据统计,首先需要拿到视频的二进制数据,在前端解析视频的元数据(比如 HEVC VPS、SPS、PPS),来提取视频参数。这样做,缺点是显而易见的,这种方式并不支持原生的 Video 标签播放的内容,且需要额外二次发起请求,且需要针对每种编码均实现一遍。
因此,如果能从 Renderer 层,以浏览器视角,监听视频的解码信息,那或许我们则不需要做任何 Trick 的操作?我在这个过程尝试探索了一下,并成功实现了这个诉求。
融合模型权限管理设计方案
本方案梳理了业界主流权限模型,IT Saas 化中权限管理要解决的问题,参考了公司内外、国内外的一些权限设计方案,结合 RBAC、ABAC 模型提出了 ITAM 融合模型权限管理方案。
WebAssembly生态及关键技术综述
以全局视角论述 WebAssembly 技术生态发展情况以及其中涉及到的关键技术。是建立完整技术认知和体系的综述性文章,文章链接较多,建议在 PC 上访问阅读。
海量数据冷热分离方案与实践
随着财经支付业务的快速发展,考虑到未来订单量持续增长,在线存储遇到更大的挑战,需提前做好规划。目前财经支付主要业务都是使用 mysql(InnoDB)作为数据存储,因历史订单信息访问频率低并占用了大量数据库存储空间,期望将历史数据跟生产最新交易数据进行分离,当前数据库保留最近一段时间的数据作为热库,历史交易存入另一个数据库压缩存储作为冷库(rocksdb),即数据库冷热分离。此举将会极大的节省数据库设备成本,减少因在线存储空间不足扩容导致停服不可用的时长,以下基于财经支付的统一交易系统现状做的相关案例分析仅供大家参考。
都“2220”年了,Web前端测试就别“卷”了
前端测试也是一种自动化测试技术,其测试的主要对象就是 Web 应用的图形用户界面(GUI)、功能和可用性,以确保 Web 应用的 GUI 层在连续的更新迭代中没有 Bug。
例如,可以检查输入字段是否接受正确的字符,表单是否仅在填写所需字段后才提交,导航是否足够简单,页面加载是否足够快,等等。
前端测试的目标是测试功能,并验证网站或应用程序的表示层是否存在错误或无错误。测试必须在每次系统更新或变更后执行,以确保最近的更改不会对 UI 层产生任何预期外的影响。
星夜搭建平台结合微前端在火山引擎官网上的实践
搭建平台解决方案除了常见的 DSL 还是否有其他解决方案?Code In & Code Out 方案的价值在哪里?搭建平台又如何与微前端进行结合?
电影兑换券的推荐策略——二分图最优匹配算法
用户下了一笔订单,订单中有 x(根据业务场景,x <= 6)张电影票,y 张兑换券,从这 y 张兑换券中选择不超过 x 张兑换券,使得该笔订单的实际支付金额最少,如果有多种解决方案,那么根据以下优先级为用户推荐选券的方案:
- 优先级 1: 选择实际支付金额少的方案
- 优先级 2: 如果实际支付金额一致,则优先使用面值小的方案
- 原因:如果用户想购买一张票价为 38 元的电影票,当前他有一张 40 元和一张 60 元的兑换券,任意使用一张兑换券能得到的实际支付金额都是 0 元,那么优先为用户选择 40 元的兑换券,这样 60 元的兑换券就能服务于用户的下一笔订单,更能为用户省钱。
- 优先级 3: 若面值大小也一致,则优先使用优惠券所在券包消耗券数目多的优惠券
- 优先级 4: 若消耗券数目一致,则优先使用过期时间早的优惠券
字节跳动埋点数据流建设与治理实践(上)
本文将介绍字节跳动在埋点数据流业务场景遇到的需求和挑战以及具体实践,分为上下篇呈现。上篇主要包含埋点数据流简介与埋点数据流建设实践;下篇主要包含埋点数据流治理实践以及未来规划。
充分理解WebGL(六)
在前面几篇的内容里,我们的例子大部分都是黑白的,那是因为我们着重于渲染形状,基本没有考虑渲染成不同的颜色。
我们既然把 shader 中文翻译成“着色器”,顾名思义,“着色器”本身就是用来在画布上“着色”的,自然和颜色有着密切的关系。
话不多说,我们仍然通过代码由浅入深地来看一看。