目录 前言 一、线程几种状态以及什么时候产生调用sleep()后线程处于什么状态? 二、loadClass和forName的区别 三、字符流和字节流的区别 四、观察者模式 五、模板模式 六、协程是什么? 七、RPC框架和普通http有什么区别和优势? 基于Tcp封装还是http封装的? 八、RPC是长连接吗?如果要传输一个特别大的文件底层还是基于流吗?NIO是一个什么IO模型? 九、GitHub的watch、star和fork的作用 十、Exception和Error的区别,OOM是Error还是Exception? 十一、拥塞控制算法有哪些?