小米 java 社招面试记录,带备战思路
小米一面
二分查找(递归和非递归)
反转链表(递归和非递归)
常用 Java 集合类
HashMap 为什么长度是 2 的 n 次幂,数据结构,扩容(包括元素移动的细节),线程不安全的问题
ConcurrentHashMap 怎么保证线程安全, 1.7 和 1.8 有什么变化,为什么要要这么优化
CopyOnWriteList 怎么保证线程安全, 为什么这么做
Java synchronized 关键字的作用,原理,锁升级、锁粗化、锁消除
volatile 关键字的作用,原理
MVCC
事务的 ACID ,每一项是如何保证的
MySQL 的索引结构,为什么是 B+树而不是 B 树
小米二面
先升序后降序的数组排序
求递增数组中相加等于 10 的元素对
17^400 - 19100 计算结果能不能被 10 整除
一个 urI 对应一个 random 值 ,要求设计-个系统 ,根据 url 查询 random 值,具体到表怎么设计,索引怎么
加,代码怎么写
讲项目,画架构图,为什么这么设计,哪一块是你做的,为什么这么做,做了多久
后面的记不住了...
小米三面
自我介绍
镜像二叉树(递归和非递归)
删除二叉搜索树的某一个节点
给定数组,求第 k 大的数字
单例模式的几种写法,解释为什么
tcp 握手挥手过程,以及 socket 的状态变化
线程的状态,以及变化的时机
Java 内存模型,堆的组成, gc 过程
synchronized 修饰同一个类的两个静态***同步吗,为什么
线程池设置了 coreSize 和 maxSize 之后,如果线程数量已经达到了 coreSize ,这个时候进来一个任务,会怎么处理
SQL 查询优化怎么做
你的优点是什么,缺点是什么
最快什么时间入职,薪资要求
你有什么要问我的吗
备战思路
01,java 基础知识需要掌握好
解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法。
switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上?
用最有效率的方法计算 2 乘以 8?
&和 &&的区别?
....
这些都是容易被问到的知识点~ 还好我这边有准备整套的复习资料,如果你需要我准备的这些复习资料的话,点击此处 即可免费获取到
02,数据库知识点
03,微服务
在复习的时候有特意总结过一份文档:里面包括( JVM , JAVA 集合,网络, JAVA 多线程并发, JAVA 基础, Spring 原理,微服务, Zookeeper , Kafka , RabbitMQ , Hbase , MongoDB , Cassandra ,设计模式,负载均衡,数据库,一致性哈希,JAVA 算法,数据结构,加密算法,分布式缓存)等等,免费获取方式:点击此处 即可免费获取到
评论