小米Java开发一面面经
小米 一面 (70分钟)
自我介绍,介绍项目;
人脸识别怎么做的,facenet怎么改,怎么用的;
SpringBoot的启动流程;
SpringBoot比Spring优势在哪儿;
IOC流程,IOC的作用;IOC用什么技术实现的?
AOP有什么作用,AOP怎么实现的,Java动态代理和cglib区别?
项目里的结构,怎么分层的,MVC具体指什么?
Spring MVC实现原理
Spring常用注解
@Bean知道吗,有什么作用,@Configuration作用是啥?Spring是怎么加载@Configuration配置的类
什么是RPC,RPC全称;
如果自己实现RPC,你会考虑什么?
为啥用RPC,为什么不用HTTP。
Dubbo是基于什么协议传输的?Dubbo支持http协议嘛?
RabbitMQ作用是什么,为什么使用消息队列?
JVM内存结构?
虚拟机栈一般有是什么异常?
什么时候栈溢出,什么时候内存溢出?
栈帧里面有什么?局部变量表里存的是什么,比如对于(int a = 1; Integer b = new Integer())
如何设置栈大小,堆大小,新生代老年代大小——JVM参数
说说堆及对应的垃圾回收器?
CMS具体流程,STW是什么?用的什么垃圾回收算法?为什么先初始标记再并发标记;
G1 原理?标记清除算法存在的问题?
说说垃圾回收算法?什么是复制算法?
新生代为什么用复制算法?
创建一个对象的过程?
方法区主要放什么,会垃圾回收吗?方法区用的什么垃圾回收?方法区在对里面吗?
synchronized是什么,实现原理?对象头里的锁标志位干啥的?
synchronized锁升级过程?
说说ReentrantLock,与synchronized区别?
公平锁与非公平锁的区别?
说说AQS?说说volatile?
MySQL的SQL语句优化手段?
索引是什么,为什么会快,B+树和普通二叉树的区别?
MySQL有哪些数据引擎,InnoDB与MyISAM区别(面试官问到这里都笑了,感觉我俩就是没有感情的问答机器)
共享锁和排他锁?ReentantReadWriteLock是啥,原理?
算法题,二叉树前序遍历非递归;
反问