小米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工程师##面经#
全部评论
是武汉小米吗?
1 回复 分享
发布于 2020-01-07 14:05
我为什么看到了好几篇一模一样的帖子?
点赞 回复 分享
发布于 2022-07-18 07:19
感谢分享,感觉考了好多算法啊
点赞 回复 分享
发布于 2020-12-11 19:36
synchronized修饰同一个类的两个静态方法同步吗,为什么? 同步,synchronized修改静态方法锁的是类 类锁是所有线程共享的锁,所以同一时刻,只能有一个线程使用加了锁的方法或方法体,不管是不是同一个实例。 具体可以看下这篇文章😁:https://mp.weixin.qq.com/s/Vy1hkFFZnVjVHJC-gjTKyA 也可以看下这篇文章: https://blog.csdn.net/u010842515/article/details/65443084
点赞 回复 分享
发布于 2020-01-09 19:00
感谢分享#社招面经# !
点赞 回复 分享
发布于 2020-01-07 14:34
妥了的节奏这是
点赞 回复 分享
发布于 2020-01-07 12:31
点赞 回复 分享
发布于 2020-01-07 12:21

相关推荐

11-18 17:25
门头沟学院 Java
1.项目介绍2.Redis的基本数据类型有哪些3.假设你系统有Redis做缓存,现在突然出现大量短链访问不存在的key,数据库压力暴增。你怎么办4.那这个其实就是穿透对吧?那你打算怎么防?你布隆过滤器放哪一层?你布隆过滤器误判了咋办?误判了是不是得兜底查库?那数据库就又被打爆了呀5. 一个热点数据刚好失效,被几万请求同时打到数据库,这时候你会锁住那个key吗?那锁的粒度是多大?Redis锁?本地锁?锁超时了咋办6.假如Redis故障恢复时间有1分钟,1分钟内所有请求都穿透到数据库,怎么处理7.说一下MySQL吧,MySQL 中有哪些存储引擎?InnoDB和MyISAM的区别?9为什么InnoDB选择B+树作为索引?10.数据库的第三范式?数据库的设计为什么要遵循三范式?11.Spring中处理一个请求,会经过 Spring 的哪些模块去处理12.Spring中的类在它启动之后,会执行哪些方法或者用到哪些注解13.静态代码块和构造方法,哪个先执行?14.构造方法和 Autowried 哪个先执行?15.了解过PostContrust注解吗?这个注解和实现InitializingBean接口重写它的init方法,哪个先执行?16.Java中HashMap和ConcurrentHashMap有什么区别17.什么是一致性哈希?和正常的哈希有什么区别?18.用过哪些设计模式?19.线程的创建方式有哪些?20.实现Runable接口创建线程和实现Callable接口创建线程有什么区别?哪一种接口可以拿到执行的结果?21.一般线程池通过什么方式来创建?线程池有哪些核心参数?22.谈谈线程池工作的流程23.核心线程是一开始就创建了还是任务来了才创建?24.假设一个场景,分别部署了A和B 两个服务,A服务需要调用 B服务,B服务的执行时间比较长。B服务执行完毕后,需要把结果返回给A服务,请你设计解决方法,如何让A和b进行一个交互?(三种方案)25.假如你有两个很大的集合,每个集合本身的数据是不重复的,但是两个集合之间的数据是存在重复的。集合很大,加载到内存中会出现问题,请你从数据结构和算法的角度来考虑,怎么样去找到两个大集合的重复元素26.手撕:(1)力扣 20.有效的括号;(2)手写单例模式27.反问
查看25道真题和解析
点赞 评论 收藏
分享
评论
9
113
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务