了解些常见的面试题

A公司

  1. 写出java中synchronized的使用方式。

  2. Java中设置最大堆和最小堆内存的参数是什么?

  3. volatile的作用?

  4. 一道设计题

  5. 多个线程同时读写,读线程的数量远远⼤于写线程,你认为应该如何解决 并发的问题?你会选择加什么样的锁?

  6. JAVA的AQS是否了解,它是⼲嘛的?

  7. 除了synchronized关键字之外,你是怎么来保障线程安全的?

  8. 什么时候需要加volatile关键字?它能保证线程安全吗?


C公司

  1. mybatis怎么防止SQL注入

  2. Hibernate的缓存机制

  3. Hibernate一级缓存

  4. Hibernate二级缓存

  5. 什么样的数据适合存放到第二级缓存中

  6. Mybatis和Hibernate的区别(优缺点)

  7. redis的使用场景

  8. Tomcat本身的参数你⼀般会怎么调整?

  9. 如果有很多数据插⼊MYSQL 你会选择什么⽅式?

D公司

1. 你知道哪些或者你们线上使⽤什么GC策略? 它有什么优势,适⽤于什么 场景?

2. JAVA类加载器包括⼏种?它们之间的⽗⼦关系是怎么样的?双亲委派机 制是什么意思?有什么好处?

3. 如何⾃定义⼀个类加载器?你使⽤过哪些或者你在什么场景下需要⼀个⾃ 定义的类加载器吗?

4. 堆内存设置的参数是什么? 5. Perm Space中保存什么数据? 会引起OutOfMemory吗? 6. 做gc时,⼀个对象在内存各个Space中被移动的顺序是什么?

7. 你有没有遇到过OutOfMemory问题?你是怎么来处理这个问题的?处理 过程中有哪些收获?

8. 1.8之后Perm Space有哪些变动? MetaSpace⼤⼩默认是⽆限的么? 还是 你们会通过什么⽅式来指定⼤⼩?

9. Jstack是⼲什么的? Jstat呢? 如果线上程序周期性地出现卡顿,你怀疑可 能是gc导致的,你会怎么来排查这个问题?线程⽇志⼀般你会看其中的什么 部分?

10. StackOverFlow异常有没有遇到过?⼀般你猜测会在什么情况下被触 发?如何指定⼀个线程的堆栈⼤⼩?⼀般你们写多少?

E公司

● 简述synchronized?Object;Monitor机制;

● 简述happen-before规则 ;

● JUC和Object ; Monitor机制区别是什么 ; 简述AQS原理 ;

● 简述DCL失效原因,解决方法 ;

● 简述nio原理 ;

● jvm运行时数据区域有哪几部分组成,各自作用 ;

● gc算法有哪些 ; gc收集器有哪些 ;

● 简述class加载各阶段过程 ; class ; loader有哪些模型 ;

● 简述常用的JDK命令行工具 ;

● 简述字节码文件组成 ;

● 讲讲你平常是如何针对具体的SQL做优化 ;

● mysql的存储引擎有哪些,区别 ;

● gc:内存模型;

● gc: 垃圾回收 ;

● 多线程:如何实现一个定时调度和循环调度的工具类。但提交任务处理不过来的时候,拒绝机制应该如何处理 ; 线程池默认有哪几种拒绝机制 ;

● 多线程: 如何实现一个ThreadLocal ;

● 说说你了解的一个线程安全队列 ;

● Atomic包的实现原理是什么 ;

● CAS又是怎么保证原子性的 ;

● string分析1000次循环subString用了多少内存 ;


猜你喜欢

转载自blog.csdn.net/fengyuhan123/article/details/79769069