一、自我介绍
二、项目
1.自己抽一个项目介绍背景、流程、难点、挑战
2.项目从生产环境到上线、部署的流程
3.项目设计考虑的稳定性问题,是否有一些约束设计
4.线上跑的运行状况,是否有一些指标去判断当前服务的运行情况是否良好
三、基础
1.线程有哪些状态,状态的流转过程是怎样的?
2.怎样进入运行状态的?
3.waiting和blocked状态区别是什么?
4.调用sleep方法会进入什么状态?
5.访问一个IO资源的时候是什么状态(程序代码里试图去读一个本地文件,线程会处于一个执行中状态吗,还是会进入某种状态)?
6.线程池了解吗?
7.线程中的那几个核心参数(核心线程数、最大线程数)一般怎样设置比较合适,在代码里有使用过吗?
8.exception和error有什么区别
9.写代码时哪些异常需要被捕获?哪些异常不用被捕获?
10.了解已检查异常和运行时异常吗?
11.原子类的实现逻辑是什么?
12.CAS能保证线程安全吗?
13.多个线程都在给一个数据+1,CAS可以保证结果符合预期吗?
14.了解volatile关键字吗,它的作用是什么?
15.悲观锁和乐观锁的应用场景是什么?
16.synchronized是悲观锁还是乐观锁?
17.Synchronized关键字加在静态方法和一个实例方法上有什么区别?
18.InooDB存储引擎为什么用B+树而不是二叉树实现索引?
19.如果一个二叉树高度很高,会对索引产生什么影响?
20.设计了一个索引,怎样看这个索引的效果怎么样?
21.有没有遇到加了索引仍然很慢或失效的情况,有哪些案例?
22.Mysql数据规模大了之后的迭代方向,了解分库分表和主从复制吗?
四、其他
1.平常学习有没有阅读一些源码?
2.我们做程序员基本功有哪些?
五、手写题目
1.有两个都由数字类型的字符组成的字符串,长度非常长,不能转化为整型,如何实现他们数字形式上的相加?
六、反问
1.需要提高的地方以及怎样去提高?
#面试等了一周没回复,还有戏吗##面经攒人品#
#面试##简历被挂麻了,求建议#
#牛客解忧铺##牛客在线求职答疑中心##简历中的项目经历要怎么写##面经##美团##面试时最害怕被问到的问题#