字节跳动 客户端实习生 1-5面 面经

作者:Simple零

链接:https://www.nowcoder.com/discuss/366054

来源:牛客网

目前已经拿到实习offer,牛客上各位牛友的面经真的帮助很大,回馈下

本人情况

目前大三,有一年左右的Android和Java学习经验,剑指offer只做过不到一半的题目,LeetCode刷过少量中等的链表二叉树数组相关的题目,准备了操作系统,网络原理,JVM常见的,Android和Java的部分源码。

字节跳动1面 1月20日 40min

1.自我介绍

2.操作系统线程和进程的同步机制和通信机制

3.手写Java双重检验的单列模式

4.数据库的索引和它的原理

5.Java的四种引用方式

6.osi和tcp/ip网络模型,路由器和交换机位于哪一层

7.Java synchronized的类锁和对象锁,它们区别,哪些是对象锁,哪些是类锁

8.算法题

9.你有什么想问的吗(怎么学习算法)

算法:(有三题,还有一题不记得了)

1.给一对无序数组,给一个target整数,找出数组中两个数字相加为target,并输出下标(不能用哈希)

2.给两对有序的数组,给出合并后有序的数组(归并)

字节跳动1.5面 1月20日 37min

1.自我介绍

2.操作系统线程和进程的同步机制和通信机制

3.什么是缓存溢出

4.osi和tcp/ip网络模型,路由器和交换机位于哪一层

5.Android中你常用哪些控件

6.说下Glide的使用

7.RxJava的通信机制

8.Android四大组件

9.手写SQL语句,分组查询

10.中断是什么,Linux的中断命令

11.算法题

12.你有什么想问的吗(开发项目时候应该重点关注哪些点,你对我有哪些建议)

算法:

1.汉诺塔

2.数组反转

字节跳动2面 1月21日 50min+

1.自我介绍

2.HTTP和HTTPS的区别

3.HTTP1和HTTP2的区别,HTTP2和HTTPS关系

4.操作系统的分页分段管理,虚拟内存

5.Java的GC机制,引用计数和可达性分析算法,finize()方法,四种回收算法,哪些对象可以作为GC ROOTS对象

6.说下Java的synchronized和volatile关键字,可见性,重排序,原子性

7.智力题:8个物品,有一个质量较大,如何两次称出它

8.算法题

习Android多长时间了,平时是怎么学的,你认为比起其他人,你有哪些优点

,看过哪些Android方面的书,讲一讲,未来的职业规划。。。

10.你有什么想问的(设计模式该怎么学习和使用)

算法:

1.最长连续子序列 O(n)

字节跳动3面 1月22日 50min+

1.自我介绍

2.介绍下你近期做的项目,有哪些难点,怎么解决的

3.图像识别是怎么做的

4.了解bitmap的解析吗

5.设计一个自定义View,View中包含图片和文字,并且只能继承View

6.用过约束布局吗,它的特点和原理,比起相对布局的优势

7.Glide相关

8.https的加密过程,为什么要这么做?

9.游览器输入一个url后发生了哪些,dns协议原理

10.get和post区别

11.封装一个单链表,要求实现删除,添加,反转方法

12.算法题

13.还有什么问题

算法:

数组反转,给一个target整数,每target长度反转一次

字节跳动4面 2月6日 47min

1.自我介绍

2.你觉得比起别人,你有哪些优势,你有哪些不足

3.算法题

4.看过哪些Android源码

5.okHttp的缓存策略,你觉得okHttp有哪些特别的优势(讲了***源码)

6.除了Glide还用过哪些图片加载框架,毕加索用过吗

7.Activity的四种启动模式,区别

8.Android的线程同步机制和进程通信机制

9.说下觉得最有难度的项目,有哪些难点,怎么解决的

10.Java中的泛型,类型擦除,如果说Java的泛型是伪泛型,为什么不直接用object代替

11.你还有哪些问题(阅读源码时候很吃力,效率很低,有没有阅读技巧)

算法:

手上握有一堆牌,分两步

1.把顶上的牌发出去

2.把顶上的牌放到底部

重复1-2步,直到手上没牌

给出桌子上的发牌顺序,求原来手牌顺序

HR面就是些常规的HR问题,自我介绍被吐槽是不是在背书了(ー_ー)!!(我从1面到HR面自我介绍就没变过,到底该怎么自我介绍啊▄█▀█●)

这次面试收获真的很多,面试难度不算难,但之前因为逃避算法(懒),导致算法基础很薄弱,数据库原理没准备,没答好,总的来说必须坚持刷算法。

最后更新于