2019最新java面试题及答案

目录:

    • 1、java基础
      • 1.1 原子操作与锁
      • 1.2 设计模式
    • 2、多线程
    • 3、jvm垃圾回收及相关算法
    • 4、数据结构与算法
    • 5、分布式
      • 5.1 nio
    • 6、数据库及缓存
      • 6.1 mysql
      • 6.2 redis
    • 7、消息中间件
    • 8、网络编程
    • 9、服务器
    • 10、spring

1、java基础

7、数组与集合
https://blog.csdn.net/wdsdads/article/details/80789096
8、Java强引用、软引用、弱引用、虚引用详解
https://blog.csdn.net/xiaofengcanyuexj/article/details/45271195
10、序列化与反序列化注意事项
https://blog.csdn.net/xlgen157387/article/details/79840134
12、内部类
https://blog.csdn.net/vcliy/article/details/85235363
29、静态内部类与非静态内部类
https://blog.csdn.net/vcliy/article/details/85235363
17、泛型常见面试题
https://blog.csdn.net/weixin_44433649/article/details/89453116
13、指令重排
https://www.linuxidc.com/Linux/2018-06/152705.htm
14、拆装箱
https://blog.csdn.net/wufaliang003/article/details/82347077
15、list、set、map
https://www.cnblogs.com/677-code/p/9738670.html
16、arraylist扩容
https://www.cnblogs.com/dengrongzhang/p/9371551.html
17、hashmap在jdk1.8后的优化
https://blog.csdn.net/lch_2016/article/details/81045480
18、concurrentHashMap在1.8前后的实现原理
https://blog.csdn.net/bill_xiang_/article/details/81122044
19、双亲委派模型
https://www.cnblogs.com/joemsu/p/9310226.html
20、java中的阻塞队列
https://www.cnblogs.com/bjxq-cs88/p/9759571.html

1.1 原子操作与锁

17、cas的深度理解
https://www.cnblogs.com/kisty/p/5408264.html
18、Volatile原理及原子操作原理
https://www.cnblogs.com/awkflf11/p/9218414.html
19、threadLocal原理,弱引用,存在问题,作用
https://www.imooc.com/article/45196
20、sychronezed原理及1.6后的优化
https://blog.csdn.net/sunayn/article/details/81390525
21、atomic原理
https://blog.csdn.net/wuzhiwei549/article/details/82621947
22、JUC包下的原子类
https://blog.csdn.net/qq_36771269/article/details/80889830
23、aqs原理
https://www.imooc.com/article/34476
24、aqs共享模式
https://blog.csdn.net/mypersonalsong/article/details/84335431
1、Lock 与 Synchronized
https://www.cnblogs.com/huangbw/p/8516024.html
2、Synchronized锁同一个对象,锁代码块以及不同对象调用被锁方法的分析
https://my.oschina.net/cnarthurs/blog/847801
3、偏向锁、偏向锁、自旋锁、重量级锁
https://www.cnblogs.com/paddix/p/5405678.html
4、自旋锁、阻塞锁、可重入锁、悲观锁、乐观锁、读写锁、偏向所、轻量级锁、重量级锁、锁膨胀、对象锁和类锁
https://blog.csdn.net/a314773862/article/details/54095819
5、对象锁与类锁的区别
https://www.cnblogs.com/codebj/p/10994748.html

1.2 设计模式

25、代理模式、静态代理、动态代理、jdk、cglib
https://blog.csdn.net/ShuSheng0007/article/details/80864854
11、动态代理、静态代理
https://www.cnblogs.com/maohuidong/p/7992894.html
26、三种工厂模式
https://baijiahao.baidu.com/s?id=1621464439653310895&wfr=spider&for=pc
27、装饰模式
https://blog.csdn.net/pihailailou/article/details/82813374
28、观察者模式
https://segmentfault.com/a/1190000014372254

2、多线程

1、线程池
http://ifeve.com/java-threadpoolexecutor/
关于corePoolSize和maximuxPoolSize
a.当加入的工作线程数小于corePoolSize,会新创建线程.
b.之后添加的线程会加入到阻塞队列,比如Executors.newFixedThreadPool创建的阻塞队列是LinkedBlockingQueue。
c.当阻塞队列满了的时候,会接着创建线程,直到活跃线程数达到maximuxPoolSize.
d.如果线程池里面的工作线程还没有释放,再接着添加线程的话,就会触发RejectedExecutionHandler.
2、java多线程api
https://www.cnblogs.com/kyleinjava/p/8758958.html

3、jvm垃圾回收及相关算法

1、jvm内存模型
https://www.cnblogs.com/rinack/p/9888692.html
2、JVM:四大垃圾算法和七大垃圾回收器
https://blog.csdn.net/qq_16557637/article/details/89478426
https://wangkang007.gitbooks.io/jvm/content/chapter1.html

4、数据结构与算法

1、红黑树
https://my.oschina.net/u/3874846/blog/2248835
2、排序算法
https://blog.csdn.net/hellozhxy/article/details/79911867
3、八种排序算法原理及java实现
http://ju.outofmemory.cn/entry/372908
4、谈心算法、动态规划、树

5、7种加密算法
https://blog.csdn.net/baidu_22254181/article/details/82594072
6、二叉树的前、中、后三种遍历
https://blog.csdn.net/qq_33243189/article/details/80222629
7、hash算法原理
https://blog.csdn.net/liyanan21/article/details/81745340
8、数据结构-链表
https://www.jianshu.com/p/6ebedde370b0
9、红黑树基础
https://my.oschina.net/u/3874846/blog/2248835
10、使用Linux命令找出日志文件中访问量最大的top10 IP地址
https://www.cnblogs.com/zhaijing/p/9767285.html
大文件先分割成小文件再排序计算
https://blog.csdn.net/weixin_34389926/article/details/90226204
11、链表删除指定节点值的节点
https://blog.csdn.net/nsjlive/article/details/82556715
12、B-树、B+树、B*树
https://blog.csdn.net/u013411246/article/details/81088914

5、分布式

1、dubbo支持的9种协议
https://blog.csdn.net/xiaojin21cen/article/details/79834222
各种协议链接方式及序列化等优缺点
https://www.cnblogs.com/yangzhilong/p/6121551.html
2、cap和base理论
https://yq.aliyun.com/articles/692238
4、zookeeper用于注册中心的缺点
https://www.jianshu.com/p/87ef94edaf5a
5、一致性哈希
https://baijiahao.baidu.com/s?id=1623504532153417105&wfr=spider&for=pc
6、eureka与zookeeper区别
https://blog.csdn.net/vtopqx/article/details/81537004
7、负载均衡算法
https://www.open-open.com/lib/view/open1446377378148.html

5.1 nio

0、bio、nio、aio
https://blog.csdn.net/rentian1/article/details/93846644
1、nio
https://www.cnblogs.com/sxkgeek/p/9488703.html
2、nio的reactor模型
https://www.jianshu.com/p/b4de9b85c79d
3、nio缓冲区详解
https://blog.csdn.net/xialong_927/article/details/81044759

6、数据库及缓存

6.1 mysql

1、B tree与B+tree及mysql使用B+tree索引的原理
https://blog.csdn.net/lnazj/article/details/90762470
https://www.jianshu.com/p/0371c9569736
https://www.cnblogs.com/kxdblog/p/4893735.html
2、索引原理、一级索引、二级索引
https://www.cnblogs.com/yuanrw/p/10225659.html
3、mysql的binlog有哪几种
https://www.cnblogs.com/baizhanshi/p/10512399.html
4、分库分表的分页

5、更新数据库与更新缓存不一致问题

6、mybatis底层实现原理
https://blog.csdn.net/w372426096/article/details/82622418
7、mysql普通索引和唯一索引
https://www.jb51.net/article/155737.htm
8、mysql的mvcc使用及原理
https://blog.csdn.net/w2064004678/article/details/83012387
9、数据隔离级别及可出现的脏读、不可重复读、幻读等
https://www.cnblogs.com/huanongying/p/7021555.html
10、jdbc中的接口和类
https://blog.csdn.net/sinat_37976731/article/details/79486440
11、mysql主从复制延迟问题
https://www.cnblogs.com/fengff/p/11011702.html
12、spring实现读写分离
https://www.cnblogs.com/surge/p/3582248.html
13、mysql主从复制原理
https://baijiahao.baidu.com/s?id=1617888740370098866&wfr=spider&for=pc

6.2 redis

1、redis过期策略及内存淘汰机制
https://blog.csdn.net/qq_28018283/article/details/80764518
3、redis与memcache区别
https://www.cnblogs.com/JavaBlackHole/p/7726195.html
4、redis线程模型
https://www.cnblogs.com/barrywxx/p/8570821.html

https://blog.csdn.net/m0_37524661/article/details/87086267
5、LRU算法
https://blog.csdn.net/xgq330409675/article/details/82691668
6、redis实现高可用、高并发
https://blog.csdn.net/ssllkkyyaa/article/details/84107474
7、redis各种集群模式
https://cloud.tencent.com/developer/news/8009
8、redis添加、删除节点
https://www.cnblogs.com/maybesuch/p/10309403.html
9、redis的并发竞争问题及事务的cas方案
https://blog.csdn.net/bigtree_3721/article/details/79633662
10、redis高可用、高并发
https://blog.csdn.net/ssllkkyyaa/article/details/84107474
12、redis主从复制原理
https://www.cnblogs.com/luao/p/10682830.html
13、缓存雪崩与缓存穿透解决方案
https://www.javazhiyin.com/22964.html
14、redis实现分布式锁
https://www.jianshu.com/p/47fd7f86c848

7、消息中间件

1、消息中间件activemq相关问题
https://blog.csdn.net/qq_28009065/article/details/79860610

8、网络编程

1、Java io
https://www.jianshu.com/p/715659e4775f
2、网络编程-select,poll.epoll
https://blog.csdn.net/zgege/article/details/81632990
3、tcp三次握手,四次挥手
https://blog.csdn.net/younglao/article/details/79453777
4、https原理
https://www.jianshu.com/p/14cd2c9d2cd2

9、服务器

1、linux编程fork
http://www.makeru.com.cn/news/135.html
2、unix的fd
https://blog.csdn.net/u013319359/article/details/81091176
3、tomcat优化
https://blog.csdn.net/lifetragedy/article/details/7708724
4、top命令隔行含义
https://www.cnblogs.com/fuqu/p/10230385.html
5、cpu负载高及top、jstack的使用
https://blog.csdn.net/u014532775/article/details/97121690
6、jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令
https://www.cnblogs.com/owenma/p/8561792.html
7、linux五大网络io模型
https://www.cnblogs.com/wlwl/p/10291397.html

10、spring

1、applicationContext初始化过程
https://blog.csdn.net/u010209217/article/details/80828067
https://blog.csdn.net/m0_38043362/article/details/80284534
2、
3、spring cloud代码实例
https://gitee.com/ityouknow/spring-cloud-examples

多线程callable future zk的永久节点 nio的缓冲区参数 jdbc接口 mq的过期时间维度
redis实现分布式锁 redis分布式锁丢失处理 线程池拒绝策略 top命令各行含义 快速排序、插入排序、堆排序 | 层次遍历二叉树 创建最小堆 创建图实现拓扑排序 归并排序
反转单链表 回文判断 幂数 二分查找 红黑树与查找树区别 无序数列中求第k大的数(维护最小堆,然后依次遍历,与堆顶比较) 图的遍历 最小生成树 最短路径 字符串转数 lru 矩形内求最大面积 链表相交 字符串反转 链表归并排序 版本号比较 平方和为1 二叉树转链表 二叉树最近公共父节点 分布式事务 数据库索引原理(主键索引、其他索引)
限流方案 秒杀系统设计 多种io 限流方案(单机、集群具体实现原理)
spring初始化流程以及相关接口 集合的快速失败 mq消息序列化 threadlocal原理,内存泄漏及优化

常用算法
1、将数组中val移到后面去
https://blog.csdn.net/Fly_Fly_Zhang/article/details/84962129
2、使用Linux命令找出日志文件中访问量最大的top10 IP地址
https://www.cnblogs.com/zhaijing/p/9767285.html
3、两个链表相交
https://www.cnblogs.com/jiameng991010/p/11271927.html
4、两个链表合并
https://blog.csdn.net/zl18310999566/article/details/79931029
5、删除链表中的节点
https://blog.csdn.net/nsjlive/article/details/82556715
6、计算无重复字符串的最大长度
https://blog.csdn.net/weixin_42036647/article/details/94587482
7、单链表是否有环
https://segmentfault.com/a/1190000016721940?utm_source=tag-newest
8、括号的有效性
https://www.jianshu.com/p/4db98b92f1c0
9、lru算法实现
https://www.jianshu.com/p/ec1952b9d84a
10、前、中、后、分层遍历二叉树
https://blog.csdn.net/wayne566/article/details/79106372
11-1、快速排序
https://blog.csdn.net/shujuelin/article/details/82423852
11-2、归并排序

12、顺序打印字符串(第二种实现)
https://www.jianshu.com/p/b036dda3f5c8
13、股票最大利润
https://blog.csdn.net/qiannuo_/article/details/84062976
14、字符串去重
https://www.cnblogs.com/zhujiabin/p/5128359.html
15、数组连续子串相加最大值
https://www.cnblogs.com/liu-ya/p/8665175.html
16、无重复最长子串
https://blog.csdn.net/weixin_42036647/article/details/94587482
17、两链表相加实现两数之和
https://blog.csdn.net/qq277630673/article/details/81674659
18、堆排序
https://www.cnblogs.com/Java3y/p/8639937.html
19、反转单链表
https://www.cnblogs.com/loong-hon/p/10978238.html
20、镜像二叉树判断
https://blog.csdn.net/qq_23031939/article/details/82218654
18、innodb与mvcc原理

19、spring事务传播机制

20、分布式事务解决方案
http://developer.51cto.com/art/201808/581174.htm
https://www.jianshu.com/p/08a8dd6c4cef
21、限流方案
https://blog.csdn.net/my_csdn_lsq/article/details/89602753
22、分布式限流
https://www.jianshu.com/p/518fc3849320
https://blog.csdn.net/fouy_yun/article/details/81025984
https://blog.51cto.com/14480698/2432673
23、秒杀系统设计
https://yq.aliyun.com/articles/618443
https://my.oschina.net/feinik/blog/1807902

汇总:
二叉树相关面试题
https://blog.csdn.net/jisuanjiguoba/article/details/80471018
链表相关面试题
https://www.cnblogs.com/qianguyihao/p/4782595.html

其他面试总结
http://mini.eastday.com/mobile/190902003846723.html

往年面试题及答案总结:https://blog.csdn.net/u014664750/article/details/78980133
https://www.cnblogs.com/huxiuqian/p/9672313.html

你可能感兴趣的:(2019最新java面试题及答案)