小米java岗面经
小米-java岗
一面(1小时)
- 自我介绍
- 在微博是主要做了啥
- 类加载机制
- jvm如何加载一个类到内存
- jvm垃圾回收算法
- 数据库有哪些索引
- 索引的实现,叶子结点存的是哪些数据
- java中有哪些线程池
- redis有哪些数据类型,持久化机制
- redis数据结构的底层实现了解吗
- 用过es吗
- 项目中的图片存在哪里的,用过图床吗
- spring读过那些源码
- 了解哪些集合类(说了下hashmap,chm,set,阻塞队列)
- 红黑树简单说一下
- java中如何保证线程安全
- 锁的实现机制,内置锁和显式锁区别
- 为什么要自旋,有什么好处
- 做个题吧,打印出一个二叉树每一层结点的平均值
二面(40分钟)
- 自我介绍
- java中有哪些线程池,重要参数的意义
- tcp三次握手
- 浏览器输入url之后的过程
- get和post的区别
- http和https有什么区别
- http1和http2有什么区别
- hashmap说一下,线程安全吗,树化的临界值为什么是8
- 数据库事务是怎么实现的
- 数据库主从同步是怎么做的
- 分布式了解吗
- 写个题吧,将两个升序链表合为一个
- 有什么问题
三面(50分钟)
- 自我介绍
- 实习时间
- 有十亿个query字符串,找出出现次数最多的十个(问着问着问到了第四题)
- 如何设计一个hash算法,hash冲突的可能大吗
- 有十亿个int型整数,如何去重(hash分片、bitmap)
- 有十亿个数,如何求出top10
- 有一个二叉树,如何存入磁盘中,以便于能从磁盘中再恢复到内存(先序加中序,领接表(特殊字符替代null),按层存储(特殊字符替代null),图像识别)
- 程序将一个字符串”1“写入磁盘,会经过哪些缓存
- 在微博实习做了啥,最大的收获是什么?
- 你的职业规划是什么
- 技术想往深了做,还是往广了做
- 会c吗,为啥不会
- 目前代码量有多少了
- 你的期望薪资是多少
- 希望我多长时间给你答复
- 有什么问题
不要脸的打个广告嘿嘿
需要更多资料和面经或想进行深度交流的同学,请关注技术公众号Vegout: