收到字节月薪35k Offer,揭秘面试流程及考点
前段时间,有个朋友又出去面试了,这次他面试目标比较清晰,面的都是业务量大、业务比较核心的部门。前前后后去了不少公司,几家大厂里,他说给他印象最深的是字节。

3轮技术面 + 1 轮 HR 面,他最终拿到了 35k*15薪 的 Offer。
主要考察对应⽤技术和底层原理的掌握,以及对过往项目的业务理解。之所以令他印象深刻,是因为每轮都聊了一个半小时以上,确实让他受益匪浅。
## 一面
1.算法题:两个栈实现队列
2.算法题:输入一个数组,想一种方法让这个数组尽可能的乱序,保证功能能实现的情况下时间复杂度和空间复杂度尽可能的小,可使用随机数函数。(面试官最后说了 O(n)的时间复杂度能实现)
3.写一个单例(自己写一种就行)
4.ActivityA -> Activity B -> Activity A
Activity A 启动模式为 singleTask
Activity B 启动模式为常规模式
问A 启动 B,B 又启动 A 的生命周期调用顺序?
5.说一下onsaveinstancestate() 调用时机,它用来干什么的。
6.onsaveinstancestate() 保存的那个参数叫什么?Bundle 里面都放一些什么东西?怎么实现序列化?Parcelable 和 Serializable有什么区别?
7.数组和链表的区别
8.HashMap 的结构以及原理
9.你能说一下retrofit它是做什么的,如果知道基本框架也说一下
10.了解 View 的绘制机制吗,能说一下吗
11.我看你项目里用的 Fragment 能说一下 Fragment A 启动了 Fragment B,Fragment B 中按下返回键只退出 Fragment B 怎么实现。
12.为什么handler可以线程切换
13.Rxjava map关键字的作用是什么
14.怎么获取view的宽高,如何确定值是准确的,说了view.post()补充viewTreeObserverOnGlobalLayoutListener
15.你还有什么要问的吗?
## 二面
1.算法题:一个字符串,求最长没有重复字符的字符串长度
2.string stringbuffer 和 stringbuilder 区别
3.final finally finalize区别
4.数组和链表的区别
5.HashMap 了解过吗
6.Tcp 三次握手四次挥手
7.get 与 post 的区别
8.synchronized 的作用
9.你知道哪些设计模式
10.Android 进程通信的方法
11.那你能说一下 Intent 是怎么进程通信的
12.内存泄漏有哪几种情况,怎么查看内存泄露的问题
13.还有什么要问的
## 三面
1.项目深挖
2.ARouter路由原理
3.如何管理过多的路由表?
4.看视频的时候网络请求很慢怎么优化?
5.说说HTTP3.0有什么改进?
6.App上线后用户使用时卡顿怎么查看是什么原因?
后续就是HR面了,这里就省略了,这些大厂都不会有太大的差别。
我朋友最终选择字节,除了这是核心项目之外,还有一个原因,字节的福利号称业内最好,薪资也是同类公司中最高。
“薪资高、发展好、福利待遇优” 似乎已经成为字节跳动的标签。
而很多人觉得大厂门槛高:
**“渣本双非学历进不了大厂!”**
**“工作不满 3 年进不了大厂!”**
**“非科班毕业的,进不了大厂!”**
可对于我这个渣本双非毕业的朋友来说,进字节,似乎并没有那么难。用他的话说,进大厂就靠一条:技术实力。
你只要技术实力够好+在面试中表现得还不错,就能拿下 Offer。
下面是他分享给我的他的复习资料,在这里分享给大家,最后希望大家尽量避坑,可以拿到理想的offer。
#### 《高级UI》
UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。
不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!


#### 《Framework精编内核解析》
主要内容包含:
* 深入解析Binder
* 深入解析Handler
* Dalvik VM 进程系统
* 深入解析 WMS
* PackagerManagerService

#### 《360°全方面性能调优》
**内容主要包含一下几点:**
1、设计思想与代码质量优化
2、程序性能优化
* 启动速度与执行效率优化
* 布局检测与优化
* 内存优化
* 耗电优化
* 网络传输与数据储存优化
* APK大小优化
3、开发效率优化
* 分布式版本控制系统Git
* 自动化构建系统Gradle
4、项目实战
* 启动速度
* 流畅度
* 抖音在APK包大小资源优化的实践
* 优酷响应式布局技术全解析
* 网络优化
* 手机淘宝双十一性能优化项目揭秘
* 高德APP全链路源码依赖分析
* 彻底干掉OOM的实战经验分享
* 微信Android终端内存优化实践

#### 《Android第三方框架》
**本篇内容要点(1042页)**
* 热修复设计
* 插件化
* 组件化框架设计
* 图片加载框架
* 网络请求框架
* RXJava 响应式编程框架设计
* IOC 架构设计
* Android架构组件Jetpack

#### 《NDK模块开发》
NDK是原生开发工具包,这套工具允许Android使用C/C++代码,并提供了众多的平台库。
**主要内容包含:**
* NDK 模块开发
* JNI 模块
* Native 开发工具
* Linux 编程
* 底层图片处理
* 音视频开发
* 机器学习


#### 《Jetpack架构组件从入门到精通》
* Android Jetpack - Navigation
* Android Jetpack - Data Binding
* Android Jetpack - ViewModel & LiveData
* Android Jetpack - Room
* Android Jetpack - Paging
* Android Jetpack - WorkManger
* Android Jetpack架构组件之Lifecycle
* Android Jetpack Compose 最全上手指南

#### 《Flutter技术进阶》
* Flutter跨平台开发概述
* Windows中Flutter开发环境搭建
* 编写你的第一个Flutter APP
* Flutter Dart语言系统入门

#### 《2020大厂面试高频知识点》
一、图片
二、网络和安全机制
三、数据库
四、插件化、模块化、组件化、热修复、增量更新、Gradle
五、架构设计和设计模式
六、性能优化
七、Android Framework
八、Android优秀三方库源码


#### **所有资料已经全部上传至开源项目[**【GitHub】**](https://github.com/zhireshini/Bytedance-Android-Learning-route/blob/main/%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8%E7%A7%BB%E5%8A%A8%E6%9E%B6%E6%9E%84%E5%B8%88%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0.md),有需要的朋友自取。**
收到字节月薪35k Offer,揭秘面试流程及考点的更多相关文章
- BAT Android工程师面试流程解析+还原最真实最完整的一线公司面试题
尊重原创,转载请写明原文出处:http://blog.csdn.net/sk719887916/article/details/47040931 (skay) 求职和我们每个人息息相关,而求职也有门道 ...
- Java面试总结(面试流程及核心面试题)
Java面试流程及核心面试题 面试整体流程 1.1 简单的自我介绍 我是xxxx,工作xxx年.我先后在xxxx公司.yyyy公司工作.先后做个xxxx项目.yyyy项目. 1.2 你简单介 ...
- 2020 校招,我是如何拿到小米、京东、字节大厂前端offer
前言 Hi~,我是 2020 届物联网专业毕业生,现就读于杭州.谨以此文来记录我的秋招以及入门前端以来的学习历程,如有错误,希望大家能及时提出! 面试情况 从19年8月初到11月底,前前后后一共面试了 ...
- 不等"金九银十",金风八月,我早已拿下字节跳动的offer
字节跳动,我是在网上投的简历,之前也投过一次,简历都没通过删选,后来让师姐帮我改了一下简历,重新投另一个部门,获得了面试机会.7月23日,中午HR打电话过来预约了下午4点半面试,说会在线写代码,让我准 ...
- 剑指Offer——中国银行面试知识储备
剑指Offer--中国银行面试知识储备+面试内容 事件介绍 时间:2016.11.23 08:30 地点:北京市海淀区永丰路299号南门(中国银行软件中心) 事件:中国银行面试(中英文面试) 注意事项 ...
- BAT大厂面试流程剖析
在当今互联网中,虽然互联网行业从业者众多,不断崛起的互联网公司也会很多,但如BAT等大厂,仍然是很多同学想要进入的企业.那么本篇文章将会为大家很直白的讲解大厂的面试流程以及侧重点. 首先闲聊一下,为什 ...
- 揭秘jbpm流程引擎内核设计思想及构架
揭秘jbpm流程引擎内核设计思想及构架 作者 胡长城(银狐999) 1 前言 2 阅读本篇的基础准备 2.1 概念的基础 2.2 环境的基础 3 什么是 ...
- php面试专题---5、流程控制考点
php面试专题---5.流程控制考点 一.总结 一句话总结: 看代码不要先看函数里面的内容,要用的时候再去看:注意静态,注意变量作用域,php中的内置函数需要去归类总结,就是太容易忘记了 1.写出如下 ...
- php面试专题---4、流程控制考点
php面试专题---4.流程控制考点 一.总结 一句话总结: 理解循环内部机制(指针操作),更易于记忆foreach的reset特性,分支结构中理解了switch...case的执行步骤(跳转表)也就 ...
随机推荐
- Unity VideoPlayer视频模糊
如果视频出现模糊或者尺寸不对只需要修改Texture的Size就可以 注意一点 Size的值要跟视频尺寸一直
- 15、oracle多表查询
15.0.实验建表: --父表 create table class( id number(10)constraint class_id_pk primary key, class_name varc ...
- frp+nginx内网穿透
frp+nginx内网穿透 背景:自己有台内网Linux主机,希望被外网访问(ssh.http.https): 准备工作 内网Linux主机-c,可以访问c主机和外网的主机-s(windows/lin ...
- Software Architecture软件架构(方法、模式与框架)纵横谈
Software Architecture软件架构是啥 随着软件行业的发展,软件的规模越来越大,"Software Architecture软件架构"这个名词开始频繁出现.&quo ...
- python base64(图片)编码
参考:https://blog.csdn.net/Good_Luck_Kevin2018/article/details/80953312 通常会在网页中遇到用src="data:image ...
- MRCTF (re和crypto)wp
RE: 一.PixelShooter(这题比赛我居然没看,靠,血亏,所以做不出来就不要一直死怼,这题挺好写的,) unity一般是用c#写的,刚好又是apk,可以用dnspy来反编译看看,在源码中找到 ...
- L inux系统安全及应用---暴力破解密码
系统安全及应用一.开关机安全控制① 调整BIOS引导设置② GRUB限制二.终端登录安全控制① 限制root只在安全终端登录② 禁止普通用户登录举例三.系统弱口令检测① Joth the Ripper ...
- Git初始化本地已有项目
1.初始化仓库 git init 2.remote git remote add origin 仓库地址 3.从远程分支拉取master分支并与本地master分支合并 git pull origin ...
- Scala学习——隐式转换
scala隐式转换 一.需求:为一个类添加一个新的方法 java:动态代理 scala:隐式转换 隐式转换例子: 1.man to superMan package top.ruandb.scala. ...
- 【开发工具】-- IDEA集成Git在实际项目中的运用
1.企业实际项目中Git的使用 在实际的企业项目开发中,我们一般Java的项目在公司都有自己的局域网代码仓库,仓库上存放着很多的项目.以我工作过的公司如华为的项目,一般是存放在企业内部的CodeHub ...