小米Java后台 面经
小米信息部,做售后的。二面面试官问我面试难不难,😂 贴它。
9月10号一面的,10月12号二面,中间隔了一个月。每场面试持续时间都50+min差不多。
2019.09.10 一面
- hashmap的实现原理?
- hashmap的扩容是怎么做的?
- ConcurrentHashMap 和 HashMap 相比的差别?它是怎么保证线程安全的?
- 你了解的设计模式有哪些能说一下吗?
- 动态***用 JDK Proxy 和 CGLib 有什么区别?
- Java 的位操作(& | ^)能说一下吗?
- 一个数组,里面的数字都是成对出现的(有两个一样的),只有一个只出现了一次,有什么方法可以找出这个单独出现的数?
- 数据库索引的原理?(索引的数据结构)
- 分页查询的过程是什么样的?
- 当表很大的时候,有什么方法可以优化最后几页的查询?考虑数据只有逻辑删除,没有物理删除的情况,即,不考虑删除操作。
- 索引覆盖知道吗?
- redis 里hash数据结构,怎么给其中的一个 field 赋值?
- 如何保证多次重复 post 操作只做一次?
- linux 的命令知道哪些?
- 网络端口怎么看?
- 远程登陆的命令?
- 如果要在日志中查一个关键字,可以怎么做?
- 工作中遇到问题会怎么解决?
- 自己对工作环境的要求是怎么样的?
2019.10.12 二面
- Object 类里面的方法有哪些?
- wait() 和 notify() 方法的实现原理?和类中其他方法的实现有什么不同?
- native 方法知道吗?自己写过吗?
- String 的 toString() 方法是怎么实现的?
- String 和 StringBuilder 有什么区别?(说一个可变一个不可变)
- 为什么 StringBuilder 可变,String 不可变?
- StringBuilder 和 String 有长度限制吗?
- Java中的反射是什么?如何通过反射的方式获取一个对象实例?
- 获取一个类的Class对象的方法有哪些?
- 使用 JSON 进行数据交互的好处有哪些?
- 常用的 json 数据处理工具有哪些?
- RPC 了解多少?
- Spring 框架为 web 开发者做了哪些事情?
- 简历中写到嵌套事务,使用的场景是什么?
- 嵌套事务不一定安全,有什么方式可以保证多个数据库操作的最终一致性?(面试官:分布式事务一致性问题,消息中间件是一种解决方式)
- MySQL索引的数据结构有哪些?
- MySQL 为什么选用 B+ 树做索引?
- 如何进行 SQL 优化?
- 写sql:学生表、课程表、成绩表。1)查每个学生的平均成绩和学号;2)查询总分大于500分的学生的姓名和总分。
- 实现二叉树的后序遍历。
- 自己平时的学习方式是怎么样的?