2020/5/11 飞书 一面
整个过程还挺流畅,有一些比较深的问题不会
- 说一下项目(网络层的封装)
- 对MVP、MVVM的理解
- 线程安全的集合有哪些
- HashTable和CurrentHashMap的线程安全实现的区别(这个不会)
- 线程池有哪几种,他们的区别是什么
- SP的commit和apply的区别
- synchronized 关键字实现原理
- 线程池的种类,他们分别有什么区别
- 如果同时并发数超过核心线程数和临时线程数会怎样(我只说会回调一个接口,其他的没了解过)
- 然后我说到OKHTTP的线程池,因为它的线程池的临时线程数是MAX_INTEGER,不会出现Task超过线程数处理不了的情况,他说OKHTTP这样设计其实有点粗犷,然后问我遇到上面那种情况你会怎么设计线程池,我想了一下,说不要用
SynchronousQueue
,设定一个适当大小的队列,比如200,核心线程为0,临时线程为200.(随便说的,他也没说对不对) - 如何应对短时间的高并发
- 自旋锁的理解
- 自旋锁和互斥锁的区别
- 自旋锁在Java中的应用
- Android的事件分发机制
- 开始写算法
- 一个数组,不能取相邻元素,怎么取数才能让取到的数字之和最大(经典动态规划,打家劫舍)
- 二叉树每层的最大元素(BFS)