小米java社招面试记录
一年多经验吧,最后就问了我入职时间和期望薪资待遇,估计是凉了
一面
二分查找(递归和非递归)反转链表(递归和非递归)
常用Java集合类
HashMap为什么长度是2的n次幂,数据结构,扩容(包括元素移动的细节),线程不安全的问题
ConcurrentHashMap怎么保证线程安全,1.7和1.8有什么变化,为什么要要这么优化
CopyOnWriteList怎么保证线程安全,为什么这么做
Java synchronized关键字的作用,原理,锁升级、锁粗化、锁消除
volatile关键字的作用,原理
MVCC
事务的ACID,每一项是如何保证的
MySQL的索引结构,为什么是B+树而不是B树
二面
先升序后降序的数组排序求递增数组中相加等于10的元素对
17^400 - 19100计算结果能不能被10整除
一个url对应一个random值,要求设计一个系统,根据url查询random值,具体到表怎么设计,索引怎么加,代码怎么写
讲项目,画架构图,为什么这么设计,哪一块是你做的,为什么这么做,做了多久
后面的记不住了…
三面
自我介绍镜像二叉树(递归和非递归)
删除二叉搜索树的某一个节点
给定数组,求第k大的数字
单例模式的几种写法,解释为什么
tcp握手挥手过程,以及socket的状态变化
线程的状态,以及变化的时机
Java内存模型,堆的组成,gc过程
synchronized修饰同一个类的两个静态方***同步吗,为什么
线程池设置了coreSize和maxSize之后,如果线程数量已经达到了coreSize,这个时候进来一个任务,会怎么处理
SQL查询优化怎么做
你的优点是什么,缺点是什么
最快什么时间入职,薪资要求
你有什么要问我的吗
#社招面经##小米##社招##Java工程师##面经#