话题公司 › 字节跳动

公司:字节跳动

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

西瓜卡顿 & ANR 优化治理及监控体系建设

卡顿 & ANR 在各 APP 中都是非常影响用户体验的问题,关于其的分析和治理一直也是个老生常谈的话题。过去调查卡顿 & ANR 问题主要依赖上报的堆栈和 traceInfo 文件,通过这些信息还原问题的现场情况。但是在实践过程中发现,现有监控机制下堆栈的抓取时机是晚于问题发生的,大部分情况获取到的是问题发生后某一瞬间的堆栈,随机性强,是不置信的,无法反映问题的真实现场情况,同一个问题可能聚合到不同堆栈中,无法清晰的归类和定位问题,这就使得很多开发者清楚原理,但到了具体 case 时无从下手,调查起来缺乏方向甚至因堆栈聚合的不置信而陷入了错误的排查方向,效率低下。另一方面,大多能够准确衡量性能的工具本身会带来严重耗时问题,无法用于线上,而性能问题大多发生于复杂的线上用户场景。所以,如何对卡顿 & ANR 进行有效的防治就是我们需要考虑的问题。

抖音Android无障碍开发知识总结

抖音的无障碍功能实现主要是通过开启 Google TalkBack(或第三方屏幕阅读)功能,将用户在屏幕上触摸选中区域的内容朗读出来,使得视障人士可以根据朗读的内容获取自己当前操作区域的信息,从而提升视障人士的使用和交互体验。

Android 调用链——自动化精准测试

通过Android调用链算法落地自动化测试场景,能够提供自动的、精准的测试能力,从而提高代码的质量保障以及减少测试的人耗。

火山引擎流批数据质量解决方案和最佳实践

火山引擎数据质量平台是如何弥合大数据场景下数据质量校验与计算消耗资源大、校验计算时间长的冲突?

西瓜视频稳定性治理体系建设三:Sliver 原理及实践

卡顿和 ANR 问题一直是 Android 性能优化的重点问题,直接关系到用户体验。当主线程的消息执行耗时过长时,轻则出现不流畅,不跟手,重则有肉眼可见的卡顿感,最严重则是发生 ANR,系统会弹出弹窗提示用户等待或关掉程序,严重影响用户体验。

对于卡顿的监控,现有的方案大多是在消息执行前埋点,当消息耗时过长时进行抓栈操作,ANR 的监控则是通过监听 SIGQUIT 信号并判断进程状态,在 ANR 时拿到各线程堆栈及各类辅助信息来定位问题。这种抓堆栈的方案对于单点长耗时是有效果的,比如锁等待和死锁,但是对于由多个消息和函数耗时累积造成的 ANR,一次堆栈是无法定位问题的,所以经常会出现 ANR 堆栈不准的情况。

西瓜视频的 Android TOP 1 ANR 就是聚类到了 nativePollOnce,根据 ANR 前的消息调度耗时可以看到存在许多长耗时消息,这些长消息是造成 ANR 的根本原因,而不是真的阻塞在了 nativePollOnce。分析发现其实这部分问题都是由于抓栈时机滞后导致的,从感知到 ANR 到完成抓栈存在一定的时间间隔,很容易错过现场,而 nativePollOnce 是主线程中执行频率最高的函数,抓栈很容易落到这里,所以导致很多 ANR 都是 nativePollOnce 的堆栈。另外传统的监控方案对于多个耗时消息累积导致的 ANR 也很难做到有效监控,单次抓栈大概率无法明确问题。所以如果能拿到 ANR 前的一段时间的 Method Trace,那么就能看到主线程到底在做什么,进而准确定位问题。

抖音音乐在跨端性能及异常监控上的实践

抖音音乐业务在端内开展 Hybrid 场景时,就选择了 Lynx 技术框架。得益于公司自研,业务在监控上有了非常多的自主性。针对实际业务场景,从用户视角出发,定制了一套业务监控指标。

“后门”寻找之旅:表里不一的Android权限认证机制

议题聚焦Android权限管控机制的一些常见问题和设计缺陷,通过历史多个安全漏洞,提出了系统权限管控设计的4条基本原则,以此来提醒和帮助厂家提高系统权限认证模型的安全性。

Flutter 疑难杂症系列:实现中文文本的垂直居中

通过代码自适应的方式实现文本的垂直居中,避免了针对不同字体、字号及手机的适配工作。

前端 debug 的奇技淫巧

找 bug 的方式都不是很高效,导致最终 bug 找不到或者走了很多弯路。

字节跳动大规模埋点数据治理最佳实践

流量平台已经覆盖了 2000 多个应用,管理埋点(事件)数 20 万,每天产生的埋点数据量超过万亿。

奔跑吧!智能Monkey之Fastbot跨平台

近年来 AI+Test 相关的智能化测试技术,已经逐步成为国内·国际大型互联网公司和各大测试服务提供商的基础能力。其智能化包含测试代码的自动生成、大规模测试结果分析、自动化探索性测试、缺陷定位及修复等。相关公司、产品或服务比较有代表性的有:Test.AI、Applitool、Totoro、Eggplant、Appdiff 等。

「番茄原创」体验设计

过去的一段时间,团队希望打造有温度、有人情味的产品设计,力求在追求高效的同时也能传递出沉浸、有趣味的设计体验。

从零开始手写一个「开箱即用的大文件分片上传库」

各位小伙伴可能遇到过「大文件上传」的场景,在这种场景下,我们需要采用「大文件分片上传」的技术方案。但是我发现已有的一些分片上传库的使用体验都不太好,因此在这里从零开始手写一个大文件分片上传库,一是加深理解,二是方便大家后续直接使用。

大家来找茬:记一起 clang 开启 -Oz 选项引发的血案

编译器作为一个复杂的软件也会有 bug,也会有各种兼容性和正确性的问题,这里我们分享一则开启 clang 的 -Oz 优化选项时发现的编译器缺陷。

Android / iOS Webview 容器下 JSBridge SDK 原理浅析 —— 前端视角

在 Hybrid 开发的过程中,由于前端和客户端同学存在认知差异,导致在解决一些 bridge 问题时存在一定的沟通成本和信息不对称。本文从前端视角切入,讲述 bridge 方法如何和客户端进行交互,以及在此过程中进行的各种中间处理。

聊聊字节跳动 Node.js RPC 的设计实现

对于 RPC 的一种重新思考,还会设计细节、拆解、落地遇到问题。

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