# 字节提前批移动端面经（1-3面）已拿意向书

{% embed url="https://www.nowcoder.com/discuss/486381?type=post&order=time&pos=&page=1&channel=1009&source_id=search_post" %}

碎碎念：之前在牛客许愿，后来来了offer就忘记了要发，现在赶紧补上。三次面试是一天内完成的，意向书是面试结束后过了一周拿到的。

楼主投的大方向是：抖音/抖音火山版/直播。复盘一下：其实我总共被问得问题并不多，主要是实习问的较多，所以建议大家实习做的东西一定要保证能说出目的意义，讲清楚技术实现，以及相关的技术延伸。

## 一面（1小时14分）

> 主要问java，以及虚拟机，问了一点android

1.实习项目有关的介绍以及问题回答

2.反射与代理的区别，动态代理，静态代理，二者的区别，以及代理模式的UML图

3.字节码技术

4.虚拟机的双亲委派，以及好处

5.虚拟机栈的作用，以及什么情况下会发送Stack Overflow

6.谁能做GCRoot，为什么计数法不如可达性好

7.为什么要分新生代和老年代，如何区分

8.GC算法都介绍一下

9.类加载的过程，方法区中存的是什么，类型信息都包括什么，如何判断两个Class是否相等。

10.HashMap的put方法讲一下，讲一下如何扩容，讲一下一个类作为HashMap，要实现哪些方法，equals和hashCode有什么区别和联系

11.消息机制讲一下，讲一下 ThreadLocal，讲一下Handler处理信息有什么方法（除了handleMessage还有什么），MessageQueue是否有长度限制，android中Message多不多？

12.Activity A到Activity B跳转的一个生命周期的过程

13.Activity A（standard模式）跳转到B（单例模式），B再跳转到A，此时返回，会出现什么情况

14.InVisible和Gone的区别，Gone和ViewStub的区别

15.字符串第一次出现一个的字符

## 二面（34分）

> 计算机网络相关

1.osi七层架构，物理层做什么的

2.输入网址之后发生的一些列事情

3.DNS用了什么协议，具体是怎么做的

4.TCP的三次握手，以及流量控制

5.HTTP报文里有什么

6.HTTP与HTTPS有什么区别，加密算法是什么

7.HTTP的响应码有哪些？

8.get与post的区别

9.两个有序数组，找到中位数

## 三面（50分钟）

> 深入android方面以及实习经历

1.实习项目有关（包括一些具体实现，以及一些关键问题）

2.LayoutManager的作用

3.RecyclerView用的多么有哪些了解，如何去实现双层瀑布

4.如何去设计一个SDK（很多细节的问题）

5.扑克牌，抽五张是同花的概率，抽五张是顺子的概率

6.RN以及Redux的了解，好处，以及使用，以及工作中对于android和RN的比重

7.单例模式的好处，那么什么时候不去用单例呢?

8.SP的内部实现了解么？如何实现的序列化

9.了解注入么？
