每天一个面经系列--面经27:小米Java一面

待完善

    详述线程池构造方法有哪些各有什么用、ctl、allowCoreThreadTimeOut变量的作用,初始化阶段、大量提交任务阶段、执行完所有任务阶段这写过程。(addWorker过程和其它部分回答得不错 runWorker getTask的一些细节回答的不好。) HashMap数据结构,resize过程,如果多线程去操作会出现哪些问题,1.7和1.8有什么变化,既然提到了红黑树那么来聊聊它和BST、AVL各自有啥特点有啥区别,说一下平衡过程 接下来聊聊concurrenthashmap怎样保证线程安全的1.7和1.8区别 线程有几种状态,sleep wait 区别 synchronized Lock区别,synchronized工作原理对象头、JVM中锁的优化,再聊聊并发包的AQS、公平锁非公平锁 读写锁、CAS和底层的unsafe JVM内存结构,堆的内存结构哪些是线程共享的呢,使用过javap命令吗结合这个命令你个谈谈对JVM内存各个区的理解。调优相关。 聊一下GC,可达性分析算法、哪些对象可以作为GC ROOT,根据新生代老年代特点的不同来说一下他们适合使用哪些垃圾回收算法。对比一下标记清除和标记整理。 类加载器,双亲委派,安全沙箱机制 聊聊IO吧,BIO、NIO,IO模型,jvm怎样实现NIO的呢(ok。还好之前略看了一下JVM这一块的c c++代码。多路复用 非阻塞之类的就不细说了。说几个关键点,IO模型参照《unix网络编程》。select、poll、epoll。fcntl) 巴拉巴拉聊项目牵扯出一堆问题 一致性hash算法、分布式事物、Service Mesh实践、rabbitmq TCP滑动窗口 ACK机制 zuul、hystrix、feign工作原理,springmvc工作原理 举例说明spring中使用到的设计模式(ok,掘金有这个文章) git使用规范、gitflow dubbo 相关问题
经验分享 程序员 微信小程序 职场和发展