前言 怎样的契机? 实际上,目前毕业已经两年时间了,在大学时就已经开始关注字节跳动的发展.一开始,我是电气自动化专业的,大二清楚目标之后就转计算机了,大四进了一家小型的互联网公司实习,具体就不说哪家了,这个实习工作也为日后我进字节做了很好的"铺垫". 清楚地意识到自己的目标是字节跳动之后,就开始疯狂做功课,了解字节喜欢考算法,因此在这方面也算是下足了功夫.之后在浏览某博客时,得到了一份"高分宝典",这份"高分宝典"在面试中帮助了我很多,就连我拿下…
架构就像是一场进化史,根据不同时期的需求,演变出不同的架构,车轮滚滚,到今天,移动端框架百花齐放,让人目不暇接.但是其中的本质是磨灭不了的,换言之根本没有磨灭而是隐藏到了人们所看不到的地方,但是依旧发挥着不可或缺的作用. 为什么需要架构? 一个Activity走天下,包含各种模块和功能 臃肿类太多 不同功能,不同层次拎不清楚,混合在一起 重复代码太多,复用性为差 无法协作开发, 耦合严重,bug太多 等等 当我们新进一个公司,接受别人的项目的时候,基本都会说句MMP,SHI一样的代码啊,啥玩意啊…
10 月 27 日举办的稀土开发者大会上,字节跳动 Web Infra 正式发起 Modern.js 开源项目,希望推动现代 Web 开发范式的普及,发展完整的现代 Web 工程体系,突破应用开发效率的瓶颈. 传统的 Web 开发是"服务器端为中心"的开发范式,近年来,已经越来越多的转移到"客户端为中心"的现代 Web 开发范式,开发门槛不断降低,效率不断提升.产品研发可以更少的关注底层技术细节,更专注在用户需求和市场价值上.而传统的前端技术栈难以解决"开…
整份手册分为两个部分,分别是:Java部分.Android部分.数据结构与算法篇.字节跳动2020年全年面试题总结篇! 每个知识点都有左侧导航书签页,看的时候十分方便,由于内容较多,这里就截取一部分图吧. Java部分 操作系统相关 JDK&JVM&JRE 面向过程&面向对象 八大基本数据类型&引用类型 数组 Java异常 NIO/BIO/AIO 集合(容器) 线程 泛型 反射 注解 Socket编程 设计模式 JVM相关 Android部分 Activity 典型情况下的…
前言 截至目前,字节跳动有很多业务落地了 Flutter 技术方案,包括今日头条.西瓜视频.皮皮虾等 20 多个业务在使用 Flutter 开发,有纯 Flutter 工程,也有 Flutter 与 Native 的混合工程. 字节跳动选择 Flutter 的初心 与其说Flutter是大前端技术,不如说是大移动端技术.Flutter 发展的 Roadmap 也是先全面支持 Android/iOS 端能力,再进一步完善 Web 端能力支持的. 字节跳动对于客户端技术还是非常重视的,字节跳动有很多…
字节跳动的面试难不难其实很难去非常准确的定义,但是能肯定的一点是,字节跳动的面试题都很有水平,真正考察了该岗位在以后工作中需要的能力. 大学学的Java后面又自学Android方向,跟着老师在实验室做了一些项目.以前听说,头条要手撕红黑树的事,心里还是蛮害怕.就想着,如果让我写红黑树,那我就直说写不来. 不过真正面试了,才发现,还好,没有让手写红黑树. 这次面试从6月2日开始一面,到6月10日hr面.一周过去仍未收到offer,内心实属煎熬.于是便整理了一下面经以及心理历程.没想到第二天一早HR…
前言 什么是组件化? 最初的目的是代码重用,功能相对单一或者独立.在整个系统的代码层次上位于最底层,被其他代码所依赖,所以说组件化是纵向分层. 为什么要使用组件化? 当我们的项目越做越大的时候,有时间就很难去维护,有时候让我们去改点东西,根本实现不了,与其让我们修修改改,还不如自己重新去写代码. 其实无论是大项目也好,或者是中小型项目也好,如果去使用组件化进行开发,那会使你很难割舍,因为它能在你开发中带来很多的便利,包括一些功能解耦和和一些功能的复用. 组件化的好处 组件,既可以作为librar…
前言 Flutter 已成为目前最流行的跨平台框架之一,在近期的几个大版本的发布中都提到了 Flutter 版本 Google 广告插件 [google_mobile_ads] .对于"出海"应用选择官方的插件非常稳定方便,对于国内的应用虽然我们的选择比较多,但是支持 Flutter 版本的则没有.在 Pub 和 Github 搜到几个广告插件,但是无法满足需求,问题也比较多,或是停止维护了,于是决定自己开发一款优质广告插件. 广告平台分析 广告平台 是否支持 Flutter Goog…
点这里申请 本文主要介绍Heimdallr对卡死.卡顿异常的监控原理,并结合长时间的业务沉淀发现的问题进行不断迭代和优化,逐步实现全面.稳定.可靠的历程. 作者:字节跳动终端技术--白昆仑 前言 卡死.卡顿作为目前iOS App的重要性能指标,不仅影响着用户体验,更关系到用户留存.DAU等重要产品数据.本文主要介绍Heimdallr对卡死.卡顿异常的监控原理,并结合长时间的业务沉淀发现的问题进行不断迭代和优化,逐步实现全面.稳定.可靠的历程. 一.什么是卡死/卡顿? 卡顿,顾名思义就是在使用过程…
作者:李卓立 仲凯宁 背景介绍 在<字节跳动 DanceCC 工具链系列之Swift 调试性能的优化方案>[1]一文中,我们介绍了如何使用自定义的工具链,来针对性优化调试器的性能,解决大型Swift项目的调试痛点. 在经过内部项目的接入以及一段时间的试用之后,为了精确测量经过优化后的LLDB调试Xcode项目效率提升效果,衡量项目收益,需要开发一套能够同时获取Xcode官方工具链与DanceCC工具链调试耗时的耗时监控方案. 一般来说,LLDB内置的工作耗时,可以通过输入log timers…