1. 自我介绍
    2. 说一下留学小程序或者滴滴工单系统你们的实现过程,挑了第一个说的
    3. 用两个栈实现一个队列,没让写,只说思路。继续追问,在并发场景下,这种实现方式有什么问题?如何保证并发安全?java里的锁机制你都了解哪些?详细说下reentrantlock的底层实现?
    4. HashMap为什么用红黑树?为什么不用完全平衡二叉树?使用红黑树这种方式的代价体现在哪里?(我这里说的是链表和红黑树转换过程中的时间资源消耗,面试官纠正:实际上是红黑树插入的时间资源消耗)
    5. 看过java的netty框架吗
    6. 介绍一下NIO,我这里自己作,提到了堆外内存的概念,被追问了,问到堆外内存解决的问题,我说的是避免了数据读到内存,再由程序读取的这个过程,程序可以直接读磁盘数据。但是这个说法不大对,面试官纠正:其实是避免了内核态到用户态的切换
    7. 做一个抽奖系统,有ABCD四种奖,也可能什么都抽不到,每种奖有对应的概率,说一下实现思路。