下面要给大家分享的是一个java小米面经,具体内容包括了小米三面的面试题,在准备三面的小伙伴可以一起来了解一下哦。

面试题(三面)

1、请做一下自我介绍

2、镜像二叉树(递归和非递归)

3、删除二叉搜索树的某一个节点

4、给定一个数组,求第k大的数字

5、单例模式的几种写法,解释为什么

(1)懒汉式:指实例在用到的时候才去创建,比较的懒用的时候才去检查有没有实例,加油有就返回,没有就新建。

(2)饿汉式:比较的勤快,实例在初始化的时候就已经建好了,不管有没有用到,建好再说。

(3)双检锁:有被叫做双重校验锁,综合了懒汉式和饿汉式两者的优点和缺点整合而成。

(4)静态内部类:静态内部类的方式效果类似双检锁,可是,实现会更加的简单。但这种方式只适用于静态域的情况,双检锁方式能够在实例域需要延迟初始化时使用。

(5)枚举:枚举的方式是比较少见的一种实现方式,但是看上面的代码实现,却更简洁清晰。

6、tcp握手挥手过程是怎样的?socket的状态变化

7、线程的状态,以及变化的时机

8、Java内存模型,堆的组成,gc过程

9、synchronized修饰同一个类的两个静态方***同步吗?为什么?

10、线程池设置了coreSize和maxSize之后,假如线程数量已经达到了coreSize,这个时候进来一个任务,会怎么处理?

11、SQL查询优化怎么做?

12、你觉得你自己的优点是什么?缺点是什么?

13、最快什么时候可以入职呢?薪资要求是怎样的?

14、有什么想要问我的吗?

以下就是一个java小米三面面经的分享了,你都了解吗?更多小米面试题,可以继续通过面试题专栏来了解哦。