所有的初级或中级程序员遇到的面试题不会出这个框架,当然,许多问题是我抄来的,也有自己面试中遇到的。
一、java基础
1、基础
(1)
(2)异常种类。
2、集合
ArrayList删除的原理或过程
https://www.cnblogs.com/huangjinyong/p/9455163.html
HashMap遍历删除
https://zhidao.baidu.com/question/442077920.html
3、IO和网络
BIO、NIO、AIO的概念什么是长连接和短连接Http1.0和2.0相比有什么区别,可参考《Http 2.0》Https的基本概念三次握手和四次挥手、为什么挥手需要四次从游览器中输入URL到页面加载的发生了什么?可参考《从输入URL到页面加载发生了什么》4、线程和进程
(1)
说说线程安全问题,什么是线程安全,如何保证线程安全重入锁的概念,重入锁为什么可以防止死锁产生死锁的四个条件(互斥、请求与保持、不剥夺、循环等待)如何检查死锁(通过jConsole检查死锁)volatile 实现原理(禁止指令重排、刷新内存)synchronized 实现原理(对象监视器)synchronized 与 lock 的区别AQS同步队列CAS无锁的概念、乐观锁和悲观锁常见的原子操作类什么是ABA问题,出现ABA问题JDK是如何解决的乐观锁的业务场景及实现方式Java 8并法包下常见的并发类偏向锁、轻量级锁、重量级锁、自旋锁的概念可参考:《Java多线程编程核心技术》(2)
1、ThreadLocal用过么,原理是什么,用的时候要注意什么
2、Synchronized和Lock的区别
3、synchronized 的原理,什么是自旋锁,偏向锁,轻量级锁,什么叫可重入锁,什么叫公平锁和非公平锁
4、concurrenthashmap具体实现及其原理,jdk8下的改版
5、用过哪些原子类,他们的参数以及原理是什么
6、cas是什么,他会产生什么问题(ABA问题的解决,如加入修改次数、版本号)
7、如果让你实现一个并发安全的链表,你会怎么做
8、简述ConcurrentLinkedQueue和LinkedBlockingQueue的用处和不同之处
9、简述AQS的实现原理
10、countdowlatch和cyclicbarrier的用法,以及相互之间的差别?
11、concurrent包中使用过哪些类?分别说说使用在什么场景?为什么要使用?
12、LockSupport工具
13、Condition接口及其实现原理
14、Fork/Join框架的理解
15、jdk8的parallelStream的理解
16、分段锁的原理,锁力度减小的思考
(3)
5 JVM
类加载的顺序
GC
二、框架
spring
1 springIOC和AOP
2 spring是如何管理事务的
springMVC
1 springMVC原理
mybatis
1 resultType和resultmap区别
2spring和mybatis集成后缓存会怎样?
springBoot
springCloud
Hibernate
三、web
JS
常用的协议有哪些
四、数据库
索引
oracle分页和mysql分页
事务级别
五、linux
linux常用命令
ls
find
cat
mkdir
vi wq
cd
ps -ef | grep 8080