小米面经,二面等通知中。
一面:
1、自我介绍
2、zookeeper的原理,作用。主要用推模式还是拉模式。
3、mapreduce原理。
4、写代码,交换二叉树的父子结点。
5、介绍下红黑树。
6、类加载的机制,有哪些类加载器,分别负责加载哪些类。
7、双亲委派的原理。如何打破双亲委派?
8、hashmap的原理,hash冲突怎么解决,为什么默认初始容量为2的指数。
9、concurrenthashmap的原理,如何加锁,怎么获得他的size()。
10、spring中的ioc介绍下。
10、简单问了下项目。
二面:
1、自我介绍
2、介绍项目。我的数据库中用到哪些表,表里有什么字段,哪些关联表?一些功能具体的实现。
3、uml中聚合和组合的区别
4、介绍下范式。第一范式和第二范式有什么区别?
5、线程池的原理,作用。通常使用哪个类来实现?里面有哪些参数,都有什么作用。
6、线程池的拒绝策略介绍下。
7、手写单例模式的饿汉式,要求线程安全的双检锁模式。
8、工厂模式的作用?
9、写代码,如何判断单链表中是否有环?快慢指针的思路。