自己收集的面试题

1、描述一下你最近的的一个项目架构

资金平台平台重构+后台对账业务?

如何快速接入银行、怎么保证可扩展性

针对银行接口的变化有哪些考虑

怎么考虑调单情况?

2、描述一下http请求到服务器返回发生了哪些过程

3、数据库死锁?线上怎么定位?怎么解决

4、为什么mysql中主键要自增?

5、你了解哪些sql优化

6、联合索引?where c=x and b=x and a=x是否还会用到索引,where c=x and b>x and a=x是否还会用到索引

7、b树是什么

8、线上如何利用jvm命令排查问题

9、java线程池常用参数及如何进行设置?

10、AQS锁机制

11、讲一讲你最近印象比较深刻的一件事情

​ 在进行放款匹配债权的时候,总是出问题,后台我就打了很多日志,发现是在生成债权协议的时候,文件平凡读写导致执行超时,后来把它单列了一个计划任务

多线程类别

1、线城池的最大线程数目根据什么确定
2、多线程的几种实现方式,什么是线程安全,什么是重排序
3、volatile的原理,作用,能代替锁么
4、sleep和wait的区别,以及wait的实现原理
5、Lock与synchronized 的区别,synchronized 的原理,什么是自旋锁,偏向锁,轻量级锁,什么叫可重入锁,什么叫公平锁和非公平锁
6、用过哪些原子类,他们的参数以及原理是什么
7、用过哪些线程池,他们的原理简单概括下,构造函数的各个参数的含义,比如coreSize,maxsize等
8、有一个第三方接口,有很多个线程去调用获取数据,现在规定每秒钟最多有10个线程同时调用它,如何做到。
9、spring的controller是单例还是多例,怎么保证并发的安全
10、用三个线程按顺序循环打印abc三个字母,比如abcabcabc
12、ThreadLocal用过么,原理是什么,用的时候要注意些什么

13、jvm中一次完整的GC流程(从ygc到fgc)是怎样的,重点讲讲对象如何晋升到老年代,几种主要的jvm参数等

14、你知道哪几种垃圾收集器,各自的优缺点,重点讲下cms
15、当出现了内存溢出,你怎么排错
16、JVM内存模型的相关知识了解多少
17、简单说说你了解的类加载器
18、JAVA的反射机制

当变量的值由自身的上一个决定时,如n=n+1、n++等,volatile关键字将失效,只有当变量的值和自身上一个值无关时对该变量的操作才是原子级别的,如n = m + 1,这个就是原级别的。所以在使用volatile关键时一定要谨慎,如果自己没有把握,可以使用synchronized来代替volatile。

JVM虚拟机的垃圾回收算法
偏向锁 自旋锁
数据库同步方案 binlog
怎么理解原子性和可见性
SQL 调优策略 索引相关实现和向左原则
Kafka设计原理
Kafka 内部 偏移量如何同步(例如A机器 offset100 B机器 95 C机器98) ISR协议?
服务化治理
如何设计高可用系统,从业务的角度出发呢,例如降级
Java容器 如何做容错的? 例如HashMap 或者List 容器 在删除数据的时候,如何避免出错
如何监控线上系统问题
— CPU 100%
— 内存溢出
如何排查线上系统性能问题,MySQL 慢查询

作者:六月星空2011
链接:http://www.jianshu.com/p/12bc20763fc9
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Share