概述
非常喜欢小米这个公司,所以也非常想去,今天一面还是有点小紧张和小激动的,记录一下。一面 9.23 时间:55min
- 自我介绍
- 普通类和抽象类有什么区别?
- 接口和抽象类有什么区别?
- I/O分为几种?BIO、NIO、AIO的区别是什么?
- String、StringBuffer、StringBuilder的区别是什么?
- Sting string = “abc” 和 Sting string = new String(“abc”) 有什么区别?
- 说一下HashMap的实现原理
- HashMap的put操作底层是如何实现的?
- 为什么要用数组+链表的结构?
- 并行和并发有什么区别?
- 创建线程有几种方式?
- Runable和Callable有什么区别?
- 线程有哪些状态?
- 创建线程池有哪几种方式?
- 最基本的创建线程池的方式中,有哪些常用参数?
- 怎么保证多线程的线程安全?
- 多线程锁升级的原理是什么?
- 说一下synchronized 底层实现原理?
- synchronized 和 volatile 的区别是什么?
- 什么是反射?
- 动态代理是什么?有哪些应用?
- 怎么实现动态代理?
- 深拷贝和浅拷贝区别是什么?
- 说一下事务的四大属性?
- 说一下 mysql 常用的引擎?
- MyISAM和InnoDB的区别是什么?
- 怎么找到执行慢的SQL语句?
- 写个SQL吧(写的是带有子查询的SQL,从一个表中查出有重复的记录)
- 说一下 JVM 的主要组成部分及其作用
- 说一下新生代垃圾回收的流程
- 常用的JVM调优的参数有哪些?
- 设计模式了解过吗?实现一下单例模式
- 将此单例模式改成线程安全的
接下来是反问阶段了~
二面 9.25 时间:82min
- 自我介绍
- 说一下为小爱课程表做适配的具体方式
- 创建线程有几种方式?平时都用哪种方式?
- 写一下实现Runnable接口创建线程并启动
- Runnable和Callable的区别
- wait方法和sleep方法的区别
- 怎么停止当前线程?stop和interrupt的区别是什么?
- Threadlocal的作用是什么?
- 有AB两个线程,同时执行,如果B线程的某个方法需要在A线程执行之后才可以执行,应该怎么做?
- 线程池相比于线程的优势在哪?
- 创建线程池有哪几种方式?
- 怎么确定创建线程池时的参数(核心线程数等)?
- 线程有哪些状态?什么情况下会进入阻塞状态?
- 怎么保证多线程并发的安全性?
- synchronized 和 volatile 的区别是什么?和ReentrantLock的区别是什么?
- 为什么synchronized可以保证原子性,而volatile不能?
- 锁升级的原理?
- 网络的分层
- 应用层有哪些协议?HTTP和HTTPS的区别是什么?
- SLL怎么保证传输过程中的安全性?
- HTTP有哪些响应码?
- 应用层的主要功能是什么?
- 对称加密和非对称加密的区别是什么?
- 传输层协议有哪些?
- TCP和UDP的区别是什么?
- TCP如何保证可靠传输?
- HTTP请求的方式有哪些?有什么不同?
- HTTP请求的报文格式?
- 有哪些设计模式?这些设计模式分别的应用场景是什么?
- 编程题:层序遍历
- 情景题(做完之后我以为要结束了,结果后面还继续问 0.0)
- JVM如何进行调优?有哪些参数?有哪些调优工具?
- 你在项目中遇到的最大的难点是什么?
- 你简历上写的这个GPA是啥?(我内心:??????)
终于反问阶段了~ 一面和二面还是有些重叠的,我以为不会有重复的问题
许愿小米OC
最后
以上就是可靠冰淇淋为你收集整理的小米一面、二面,面经的全部内容,希望文章能够帮你解决小米一面、二面,面经所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复