话题公司 › 字节跳动

公司:字节跳动

北京字节跳动科技有限公司,简称字节跳动,是一家位于中国北京的跨国互联网技术公司,成立于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亿。

深入了解魔性的CSS字体

最近在开发遇到了两个一直困扰我的问题:

  • 当 font-family 为 PingFangSC-Regular 时,为什么设置了 font-weight 为 500 和 font-weight 为 400 的现象一样?
  • 在某些Android 系统手机中,中文和数字/英文同时设置了 font-weight 为 500,为什么只有数字/英文实现了加粗?

看到这两个神奇的现象的时候,让我陷入了深深的沉思,原来我撸了这么多代码,还是没能真正了解字体。不甘心被这魔性的字体困扰,发誓一定要拿出一个解决方案,在不断翻箱倒柜查阅资料之后,我想我现在开始有点懂了。

iOS 符号解析重构之路

通过对线上iOS符号解析服务的持续探索和优化,最终完整落地了一套将平均单行解析效率提升70倍的技术方案。

如何用Rust做Android UI渲染

Rust优秀的安全性、媲美C++的性能以及对跨平台编译和外部语言(ffi)的支持使得其成为高性能跨平台库的上佳实现语言。然而,Rust是否可以在逻辑层之上进一步服务于一些通用性的UI渲染?我们大力智能客户端团队针对开源项目rust-windowing( https://github.com/rust-windowing )中几个核心工程进行剖析,并结合在Android系统的接入对此进行探索。

HTTP 请求库 - Axios 源码分析

说到 JS HTTP 请求,就不得不提 Axios,作为前端网络请求库领域中的霸主,被广泛应用于众多的 web 项目中。

一文读懂字节跳动自研移动研发工具链 MBox

MBox 是字节跳动抖音基础技术、Client Infra-DevOps根据移动端研发出现的现状与问题,结合移动端研发工具相关实践经验,自研的一款面向移动端开发者的研发工具链产品。

如何将 Canvas 绘制过程转为视频

在一些需要动态回放需求的场景里,我们可以用 Canvas 实时创建视频。

Flutter 疑难杂症系列:键盘原理及常见问题解决方案

通过提供 Flutter 键盘调用流程相关分析和已知问题的解决思路,让开发者对 Flutter 键盘使用有更深入的了解和认识。

如何基于分布式KV研发一款消息中间件

本文介绍如何基于计算存储分离架构,在分布式KV存储的基础上研发一款MQ的核心思路。

CQ: 字节系创作质量中台实践

创作资源是指道具、模板、小程序等由设计师制作的资源,会应用于抖音、火山、剪映、轻颜、醒图等多款字节 APP 上。随着 UGC 模式的发展,越来越多的用户也加入到创作者行列,提供了大量、新颖的创意与玩法。创作者的增加,也导致资源数量急剧上涨,安全与质量问题也日益突出,而人工检测也存在着较大的效率、漏审等问题。为提升效率和测试覆盖率,给予创作者更好的创作环境与用户更好的使用体验,我们打造了一个专业垂类化测试服务化平台——创作质量平台(简称 CQ ),来保障创作者生产资源的质量。

Electron / Chromium 屏幕录制 - 那些我踩过的坑

我们选择 webRTC API 直接录制的方案实现了录屏功能,并在后续踩了一些列的坑,以下是一些分享。

深入理解 Node.js 的 Inspector

Node.js 提供的 Inspector 非常强大,不仅可以用来调试 Node.js 代码,还可以实时收集 Node.js 进程的 Heap Snapshot、Cpu Profile 等数据。

对比与理解:模糊测试(fuzzing)与变异测试(mutation)

谈到模糊测试(fuzzing)与变异测试(mutation),在很多场合下这两个概念会被混为一谈,可能很多人分不清它们究竟有什么区别。他们之间的相同点在于,这两种方法都是通过<改变某些东西>来引入变化,从而实现检测<系统,接口,服务,测试用例集,etc.>的稳定性与有效性。

火山引擎 A/B 测试的思考与实践

本文整理自火山引擎开发者社区 Meetup 第四期同名演讲,主要为大家介绍了为什么要做 A/B 测试、火山引擎 A/B 测试系统架构及最佳实践。

字节跳动开源 Android PLT hook 方案 bhook

随着 Android App 开发的技术栈不断向 native 层扩展,native hook 已经被用于越来越多的技术场景中。Android native hook 的实现方式有很多种,其中使用最广泛,并且通用性最强的是 inline hook 和 PLT hook。

inline hook 的功能无疑是最强大的,它受到的限制很少,几乎可以 hook 任何地方。inline hook 在线下场景中使用的比较多,业内现有的通用的 inline hook 开源方案或多或少都存在一些稳定性问题,而且基本都缺乏大规模的线上验证。

PLT hook 的优点是稳定性可控,可以真正的在线上全量使用。但 PLT hook 只能 hook 通过 PLT 表跳转的函数调用,这在一定程度上限制了它的使用场景。

在真实的线上环境中,经常是 PLT hook 和 inline hook 并存的,这样它们可以各自扬长避短,在不同的场景中发挥作用。

一个神奇的交叉观察 API Intersection Observer

现在判断一个元素是否能被用户看见的使用场景越来越多,监听 scroll 事件以及通过 Element.getBoundingClientRect() 获取节点位置的方式,又麻烦又不好用。

为君作磐石——人人都能搭建大规模推荐系统

什么是个性化推荐?简单说,就是给用户推荐他喜欢的物品。近 10 年,移动互联网高速发展,个性化推荐扮演了很重要的角色。以运营一款内容类产品为例:用户增长团队通过广告投放等手段为产品拉新,提升 DAU;产品技术团队为用户分发感兴趣的内容,提升留存及停留时长;商业化团队分发用户可能感兴趣的广告,提升单位流量变现效率;商业化收入又用于用户增长,形成正向循环。个性化推荐技术贯穿每个环节,成为了很多公司的高速增长引擎。

怎么做个性化推荐?通常,对一项业务来说,首先会定义出多个优化目标(例如视频的播放时长、点赞、分享,电商的点击、加购、购买等),之后构建一个或多个模型来预估这些目标,最后融合多个目标的预估分来完成排序。对推荐系统来说,最核心的工作,便是构建精准的预估模型。这些年,业界的推荐模型一直朝着大规模、实时化、精细化的趋势不断演进。大规模是指数据量和模型非常大,训练样本达到百亿甚至数万亿,单个模型达到 TB 甚至 10TB 以上;实时化是指特征、模型、候选实时更新;精细化则在特征工程、模型结构、优化方法等多方面有所体现,各种创新思路层出不穷。

大规模推荐系统的落地,工程挑战很大。本文选择大家最关心的 Training 和 Serving 系统,介绍搭建过程中会遇到哪些挑战,我们做了哪些工作。对任何一家公司来说,从 0 搭建这样一套系统都绝非易事,投入非常大。在字节跳动内部,我们也经过了多年的探索与沉淀,有上千名工程师,不断迭代和优化推荐系统。那么,搭建推荐系统一般会遇到哪些问题?

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.130.1. UTC+08:00, 2024-07-27 13:59
浙ICP备14020137号-1 $访客地图$