面试题大汇总

it2022-05-05  94

所有的初级或中级程序员遇到的面试题不会出这个框架,当然,许多问题是我抄来的,也有自己面试中遇到的。

一、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


最新回复(0)