公司:字节跳动
北京字节跳动科技有限公司,简称字节跳动,是一家位于中国北京的跨国互联网技术公司,成立于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亿。
无人测试流水线建设之业务实践
目前各企业团队也正处于DevOps转型的不同阶段,产品研发部质量架构团队针对业务现状,建立无人测试流水线专项,帮助业务建设从需求至交付全阶段流水线,提升产品发布质量和效率。本文简要介绍方案并重点阐述多业务线的优秀实践案例,给大家参考借鉴。
抖音 Android 性能优化系列:启动优化之理论和工具篇
启动性能是 APP 使用体验的门面,启动过程耗时较长很可能导致用户使用 APP 的兴趣骤减,抖音通过对启动性能做劣化的 AB 实验也验证了其对于业务指标有影响显著。抖音拥有数亿的用户,启动耗时几百毫秒的增长就可能带来成千上万用户的留存缩减,因此,启动性能的优化成为了抖音 Android 基础技术团队在体验优化方向上的重中之重。
本文基于过往对抖音 Android 客户端做启动性能优化的实战经验总结提炼出普适性的方法论,并将该过程中沉淀的工具加以分享,希望能给大家带来一些新的思考。
sonic :基于 JIT 技术的开源全场景高性能 JSON 库
sonic 是字节跳动开源的一款 Golang JSON 库,基于即时编译(Just-In-Time Compilation)与向量化编程(Single Instruction Multiple Data)技术,大幅提升了 Go 程序的 JSON 编解码性能。同时结合 lazy-load 设计思想,它也为不同业务场景打造了一套全面高效的 API。
字节跳动 iOS Heimdallr 卡死卡顿监控方案与优化之路
本文主要介绍Heimdallr对卡死、卡顿异常的监控原理,并结合长时间的业务沉淀发现的问题进行不断迭代和优化,逐步实现全面、稳定、可靠的历程。
字节工程师自研基于 IntelliJ 的终极文档套件
众所周知,程序员最讨厌的四件事:写注释、写文档、别人不写注释、别人不写文档。因此,想办法降低文档的编写和维护成本是很有必要的。
理解 Language Server Protocol 的工作原理
一起来看看Language Server Protocol 的工作原理吧!
拯救OOM!字节自研 Android 虚拟机内存管理优化黑科技 mSponge
本文描述的虚拟机内存管理优化方案,是从应用侧视角对 Android 虚拟机内存管理进行改造,优化了虚拟机对 LargeObjectSpace 的内存管理策略,间接增加其它内存空间使用上限。改造后的方案,32 位运行环境 LargeObjectSpace 的内存使用上限可达到 2G 甚至更多(64 位环境使用上限理论上会趋于无限大)。通过本方案可以最大程度上从系统侧解决诸多应用都会遇到的内存瓶颈和 OOM 问题,一键接入,安全可靠。
字节跳动应用性能监控帮助客户Java OOM崩溃率下降80%
本文将会从Java内存基础开始,详细介绍“基于Hprof内存快照的线上Java OOM归因方案”的底层原理与技术细节,欢迎接入MARS-APMPlus 应用性能监控使用。
前端从web服务器或者CDN下载资源
前段时间听到前端同学说前端拿到资源的 CDN 链接后可以直接从 CDN 下载资源,不需要经过后端,感觉很神奇,但是一直不明白是怎么实现的,前两天整理了下关于" CDN 和对象存储的知识 "(原文见此文参考接最后一条),今天搜索学习了下前端直接下载资源的方式,特此记录。
抖音Android包体积优化探索:从Class字节码入手精简DEX体积
众所周知,应用安装包的体积会十分影响用户的应用下载速度和安装速度。据 GoolgePlay 平台对外发布相关的包大小对转化率影响的数据,我们可以看到随着包大小的增加,安装转化率总体呈下降的趋势。
基于跨站跳转和文本数据异构图的GCN模型实现恶意网站识别
本文介绍了一种基于网站之间跳转异构图,并利用深度学习技术进行恶意网页识别的创新方法,为恶意网页识别提供了新的思路和方向。
TypeScript 类型编程: 从基础到编译器实战
本文假定读者已经使用过 typescript 并且了解基础的类型概念,不会介绍基础概念,主要专注于介绍如何进行系统化的类型编程。示例主要来源于官网、类型挑战仓库以及日常开发。
西瓜视频iOS启动优化实践
西瓜App是一个迭代迅速的产品,每周在都会合入许多启动相关的代码,因此除了优化之外,还需要重视防劣化,避免一边优化一边劣化而相互抵消效果。另外,在优化与防劣化之外,架构的建设也十分重要,合理的架构可以提高App稳定性和研发效率。
btrace 开源!基于 Systrace 高性能 Trace 工具
btrace(又名 RheaTrace) 是抖音基础技术团队自研的一款高性能 Trace 工具,它基于 Systrace 实现,并针对 Systrace 不足之处加以改进。
组件发布效率提升15倍是怎么做到的——基于Gradle调度机制深度研究与优化
本文结合Android组件发布过程遇到的耗时问题,深度剖析了Gradle核心调度机制,并给出了此类问题的通用解决方案。
漫步于第三方线上代码中——记一次排查内嵌谷歌地图在 ios 上黑屏问题
某日,qa 反馈说『ios 上的谷歌地图显示不出来,黑屏啦~』,我一边心想本周已经是第 x 个内嵌链接的 bug 了,这些第三方链接还能不能好了一边很不追求极致的嘟囔着为什么第三方链接的 bug 也要我看,一边苦逼的打开 ipad 模拟器,投入到痛苦的 safari debug 工作中。