字节跳动Android实习面经
2.JVM的内存模型,堆和栈有什么区别?对象是存在那里的?对象里的属性,方法又是存在哪里的?
3.单例模式的最优写法,为什么最优?
4.计算机网络的五层模型,TCP和UDP的区别?
5.三次握手和四次挥手
6.线程和进程
7.是否了解安卓的四大组件?简历项目中用到了哪些组件?
8.Activity的生命周期和启动模式
9.是否了解Fragment
算法题:手撕快速排序
二叉树中每一层所有节点的和的最大值
10.简历中的项目的图片加载为什么用Fresco?有什么好处?Fresco的三级缓存策略是怎么样的?
简历中的项目是如何实现无限加载列表的?
11.什么是双亲委派模型?
12.JVM的垃圾回收机制,GC根搜索算法,什么样的对象可以做GC根。
13.死锁发生的四个条件,如何解决死锁?
14.volatile关键字的作用,synchronized锁的是什么?
15.生产者-消费者模型
16.ListView和RecyclerView有什么区别?
17.Service的生命周期,两种启动方式的区别?
18.Http和Https有什么区别?Https是如何保证安全性的?
19.快排最差的情况为什么时间复杂度是O(n2)
算法题:
也是一道二叉树题,想不起来了。。。
自我介绍
简历中项目如何实现前后两个页面的数据一致性的?
20. 算法题:使用堆来实现TopK
在上学的时候遇到过哪些困难,如何解决的
什么时候毕业,能够实习多久,什么时候能来上班