天天看点

2019年java最新面试题

以下问题是最近4次面试中总结的题目:

一定会问到的知识点:集合,多线程,流,动态代理,反射,框架,数据库,linux,分布式框架的概念

1、HashMap底层原理

2、HashMap如何解决哈希碰撞

3、ConcurrentHashMap与HashTable的区别

4、了解的锁有哪些?

5、synchronized底层原理

6、Lock锁底层原理

7、Lock实现类

8、synchronized与Lock锁的区别

9、CAS无锁机制(如何解决ABA问题)

10、什么是AQS

11、线程池的原理

12、线程池有哪些种类,特点

13、springIOC和AOP原理

14、动态代理的实现方式

15、创建对象的方式

16、类加载机制---双亲委派机制

17、JVM内存模型

18、垃圾回收机制

19、垃圾回收算法

20、垃圾回收器的种类

21、netty的原理

22、BIO,NIO,AIO的区别

23、static和final的区别:

24、String, StringBuffer,StringBuilder去区别

25、流的种类有哪些?

26、字节流如何转化为字符流?

27、什么是序列化和反序列化

28、如何不将一个字段序列化

29、深克隆和浅克隆的区别?

30、jvm类加载机制

31、什么是双亲委派模型

32、什么是泛型

33、泛型在什么期有效

34、反射的应用场景

35、反射的缺点

36、如何避免反射的缺点

37、字符串常量池的概念

38、如何根据业务创建表

39、多线程suspend()、resume()

40、多线程环境下并发修改hashtable 是否会引起Iterator迭代失败

41、Java中的那些基本类型属于原生类,而数组是引用类型,不属于原生类,可以看成是一种对象。

42、获取集合中的最大和最小值

44、mybatis如何调用存储过程

45、实现多线程的方式:继承Thread类,实现Runnable接口,实现Callable接口

46、动态代理实现方式

47、list中常用的方法

48、ArrayList线程不安全怎么解决

49、jvm参数设置依据,eden:from:to区的比例和依据

50、多线程相关,手写相关多线程题目

51、系统挂掉之后怎么排查问题

52、怎么排查gc内存溢出是哪个对象导致的问题

53、怎么攻击双亲委派机制,让jvm加载和系统类相同的包名,以及怎么预防

54、一个方法中如何管理两个事物

55、页面登录密码如何加密传至后台

56、spring中class循环依赖如何解决

57、linux查看内存和核数命令

lscpu(查看cpu), lsmem(查看内存大小), df(查看硬盘大小)

58、linux查询cpu使用情况

top

继续阅读