高级Java技术面试-高频知识点一览
写于之前:
1、Java技术体系庞大且繁杂,各公司的面试要求和侧重点也会有所不同,本文仅列举了笔者认为比较常见及重要的知识点,对应的链接内容也是笔者网上找的相对比较靠谱的解答。
2、以笔者多年大厂的工作经验,如果面试者能够很好地掌握本文的内容,理论上从技术知识储备来说大厂的高级Java开发应该是没有问题的,小公司的架构师技术要求应该也是达标的。
3、实际面试不完全是技术能力的要求,一般公司还会考察学历、工作经历背景、项目经验、沟通表达能力、稳定性等方面,所以不仅需要深入地掌握技术知识、还需要能够灵活地进行运用,并最好有相关实践经验,同时对于软实力也需要关注。
4、本文是笔者近期看新机会整理的知识点,受限于时间和个人知识水平,难免有错漏或不当之处,欢迎批评指正,也欢迎交流沟通。
通用知识
数据结构
二叉树
https://www.jianshu.com/p/44f7d9bbebfe
红黑树
https://segmentfault.com/a/1190000012728513
B树和B+树
https://cloud.tencent.com/developer/news/367683
最大堆/最小堆
https://baike.baidu.com/item/%E6%9C%80%E5%B0%8F%E5%A0%86/9139372
算法
排序算法
https://zm8.sm-tc.cn/?src=l4uLj4zF0NCIiIjRnJGdk5CYjNGckJLQkJGaj5aHmpPQno2LlpyTmozQyMnIy8nKxtGXi5KT&uid=3185b927c10e3c53e3d4d816420e06cb&hid=cebf49a0e969ff1153890c35ebe3c30e&pos=1&cid=9&time=1557964390382&from=click&restype=1&pagetype=0020000002000408&bu=ss_doc&query=%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95&mode=&v=1&force=true&wap=false&uc_param_str=dnntnwvepffrgibijbprsvdsdichei
一致性hash算法
https://zhuanlan.zhihu.com/p/34985026
https://blog.csdn.net/cywosp/article/details/23397179/
二叉树的遍历实现算法
https://www.jianshu.com/p/36b043bf0f4c
https://blog.csdn.net/shufac/article/details/26979517
Java基础
集合
常用集合及底层实现
https://blog.csdn.net/smxjant/article/details/82899430
hashmap 1.8和1.7的区别,为什么线程不安全
https://www.jianshu.com/p/8324a34577a0
CuncurrentHashMap内部实现
https://blog.csdn.net/u011716215/article/details/78607246
TreeMap实现
https://blog.csdn.net/qq_42022528/article/details/82932591
priority Queue
https://www.jianshu.com/p/b308d23f3775
BlockingQueue实现
https://www.cnblogs.com/KingIceMou/articles/8075343.html
IO
bio,aio,nio的区别及应用场景
https://www.jianshu.com/p/ef418ccf2f7d
nio的整体介绍
http://ifeve.com/overview/
reactor模型
https://juejin.im/post/5b4570cce51d451984695a9b
java io的设计模式
https://blog.csdn.net/tianyue168/article/details/5786642
多线程
线程的状态及切换
https://www.jianshu.com/p/ce1a33b0d7e5
线程,进程,协程的区别
https://blog.csdn.net/WJWFighting/article/details/82589177
内存模型看线程安全的问题
https://m.toutiao.com/i6694579428191633932/
synchronized的实现原理
https://www.jianshu.com/p/70421c088275
volitale实现原理
https://mp.weixin.qq.com/s?__biz=MzAxODcyNjEzNQ==&mid=2247485250&idx=1&sn=7b82b40125db73cd89be963dea66a78c&chksm=9bd0aadaaca723ccc13265ebc43ba8d5d1330eb9430118c0c7f9b0354a47fa9e3c618ddbeaed&scene=27#wechat_redirect
schronized和lock优缺点比较
https://cloud.tencent.com/developer/article/1396207
死锁的产生及实现示例
https://m.runoob.com/java/thread-deadlock.html
线程池的关键参数及作用
https://baijiahao.baidu.com/s?id=1595521551376533549
合理的线程数如何评估
http://ifeve.com/how-to-calculate-threadpool-size/
threadlocal的实现原理及应用场景
https://www.jianshu.com/p/69ae8c213b30
轻量级锁,偏量锁,重量级锁
https://zm8.sm-tc.cn/?src=l4uLj4zF0NCIiIjRnJGdk5CYjNGckJLQiJ6bmtKTipmZhtCejYuWnJOajNDKxsnGy87H0ZeLkpM%3D&uid=3185b927c10e3c53e3d4d816420e06cb&hid=b34efaece451c368d17bb71aa9a550ab&pos=6&cid=9&time=1558223552210&from=click&restype=1&pagetype=0020000002000408&bu=ss_doc&query=%E8%BD%BB%E9%87%8F%E7%BA%A7%E9%94%81+%E5%81%8F%E5%90%91%E9%94%81+%E9%87%8D%E9%87%8F%E7%BA%A7%E9%94%81&mode=&v=1&force=true&wap=false&uc_param_str=dnntnwvepffrgibijbprsvdsdichei
cas的实现原理及应用点
https://blog.csdn.net/u014082714/article/details/50825597
aqs的底层实现及应用场景
https://blog.csdn.net/zzpueye/article/details/90047556
automic原子操作类实现原理
https://www.jianshu.com/p/84c75074fa03
Java进阶
JVM
Java内存模型
https://blog.csdn.net/laomo_bible/article/details/83067810
https://mp.weixin.qq.com/s?__biz=MzUzMTA2NTU2Ng==&mid=2247485316&idx=1&sn=5f8da2cdee78d09f0015b4d3e3790411&chksm=fa497835cd3ef123d31f9e4abd171025df173476a4b32283a311f6ae19f930a53758bedb11f7&scene=27#wechat_redirect
类加载机制与双亲委派模式
https://www.jianshu.com/p/ced09a741388
GC算法和收集器
https://www.jianshu.com/p/2d848c14d40b
强引用,软引用,弱引用,虚引用
https://www.jianshu.com/p/70e1900c1b33
JVM调优经验
https://blog.csdn.net/hjxgood/article/details/53896229
http://virtual.51cto.com/art/201902/592177.htm
调优工具
https://www.jianshu.com/p/a75c1253fc11
线上问题定位解决方法(oom,full gc)
https://mp.weixin.qq.com/s?__biz=MzI3MzU2NDIxNA==&idx=1&mid=2247484081&sn=4e6b6e4f8c6d45ea6a17eee4214b3df9
https://blog.csdn.net/weiquanaishiyao/article/details/83578999
Web
网络
select poll epoll区别
https://www.cnblogs.com/jeakeven/articles/5435916.html
http协议
https://hit-alibaba.github.io/interview/basic/network/HTTP.html
tcp协议
https://hit-alibaba.github.io/interview/basic/network/TCP.html
session与 cookie的区别
https://blog.yoodb.com/yoodb/article/detail/1492
数据库
Mysql
数据库常用的执行引擎和区别
https://blog.csdn.net/longjialin93528/article/details/80693748
事务的隔离级别,对应解决的问题
https://baijiahao.baidu.com/s?id=1611918898724887602
乐观锁和悲观锁区别,使用场景,实现方式
https://zhuanlan.zhihu.com/p/63768500
聚集索引,非聚集索引,覆盖索引
https://blog.csdn.net/itguangit/article/details/82145322
数据库优化经验
https://mp.weixin.qq.com/s?__biz=MzI3NzE0NjcwMg==&mid=2650123161&idx=1&sn=9eee9653311848e11b56d0786fac518d&chksm=f36bb6b8c41c3faeb4e6923cb296e5652fa100176f0c424fd699e240a88ae6ac478e69bf7868&scene=27#wechat_redirect
https://juejin.im/post/5c6b9c09f265da2d8a55a855
sql优化经验
https://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&mid=2651960284&idx=1&sn=d427372dd71b7f598f9ddc99b58f8b35&chksm=bd2d06008a5a8f164503bf2d10ea4d6ad482e496195436ff2573cd4440b3f44654820f353651&scene=27#wechat_redirect
https://blog.csdn.net/youthsunshine/article/details/53465847
分库分表的应用场景及实现方式
https://www.infoq.cn/article/key-steps-and-likely-problems-of-split-table
跨库分页的实现方式
https://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&mid=2651962256&idx=1&sn=9ec7b5a70b72e4d949b3c75d4d2ad19b&chksm=bd2d0e4c8a5a875a86b87e26144c9954a1efaae15f7e2f706700aac72231b77d87a83ebef95c&scene=27#wechat_redirect
大表分页查询优化方案
https://mp.weixin.qq.com/s?__biz=MzAxODcyNjEzNQ==&mid=2247487471&idx=1&sn=041198a5a48b60d32e786276ccb160b2&chksm=9bd0a277aca72b61cbd5762c33d07ba66969c3d1a2370a00496a6d371cbe219994d6905027e2&scene=27#wechat_redirect
redis
支持的数据类型及如何选用
https://www.cnblogs.com/mrhgw/articles/6278619.html
https://segmentfault.com/a/1190000012374621
redis为什么设计为单线程且性能还很好
https://www.cnblogs.com/yangqiong1989/articles/10745329.html
https://m.toutiao.com/i6694407063117758980/
持久化机制及优缺点
http://www.chenxm.cc/article/38.html
事务处理
https://zm8.sm-tc.cn/?src=l4uLj4zF0NCGkIqGisvRlouahprRnJCS0J2TkJjQzczLzM%2FPxw%3D%3D&uid=3185b927c10e3c53e3d4d816420e06cb&hid=cd2f04033e5587765cab3ac3f07de69b&pos=1&cid=9&time=1558484531458&from=click&restype=1&pagetype=0000004000010402&bu=ss_doc&query=redis%E4%BA%8B%E5%8A%A1%E5%A4%84%E7%90%86%E6%9C%BA%E5%88%B6&mode=&v=1&uc_param_str=dnntnwvepffrgibijbprsvdsdichei
高可用如何保证
https://www.jianshu.com/p/c2abf726acc7
过期策略,淘汰策略及实现机制
https://blog.csdn.net/HUXU981598436/article/details/66543494
缓存穿透,雪崩,击穿处理
https://mp.weixin.qq.com/s/SQQy6NKvoAgIaeAjzkRpDw
操作系统
Linux
cpu过高如何定位线程
https://www.jianshu.com/p/45c6bcb85934
用户态和内核态
https://blog.csdn.net/jek123456/article/details/80448967
监控命令及工具
https://www.cnblogs.com/defias/p/3426976.html
https://www.cnblogs.com/hanxiaobei/p/5514544.html
应用框架
Spring
spring bean生命周期
https://www.jianshu.com/p/0c8a1b5e3808
spring ioc实现原理及作用
https://blog.csdn.net/lhx13636332274/article/details/81123369
spring aop实现原理及应用场景
https://blog.csdn.net/a772304419/article/details/78958999
事务管理的实现机制
https://www.liangzl.com/get-article-detail-16667.html
https://zhuanlan.zhihu.com/p/37113044
Spring MVC
DispatchServlet的整体处理流程
https://www.jianshu.com/p/5807fd45b86d
interceptor的使用和应用场景
https://blog.csdn.net/cheng_fangang/article/details/49995811
面试题
https://baijiahao.baidu.com/s?id=1623441037596227099
知识点
https://www.iteye.com/blogs/subjects/kaitao-springmvc
Spring Boot
自动配置实现原理
https://www.jianshu.com/p/4a6094542f45
面试题
https://www.songma.com/m/news/txtlist_i24822v.html
Spring cloud
spring cloud常用的组件及对应作用
https://blog.csdn.net/qiuyinthree/article/details/80408751
netflix zuul的应用场景及作用
https://m.toutiao.com/i6685540072659354126/
netflix eureka的服务注册发现机制
https://blog.csdn.net/qiansg123/article/details/80127590
netflix eureka的高可用及故障处理机制
http://blog.didispace.com/springcloud6/
https://cloud.tencent.com/developer/article/1354059
netflix ribbon的应用场景和作用
https://blog.csdn.net/luanlouis/article/details/83060310
netflix feign的应用场景和作用
https://blog.csdn.net/weixin_40663800/article/details/88117920
netflix hystrix的实现原理及应用场景
https://www.jianshu.com/p/e07661b9bae8
spring cloud config的应用场景
https://springcloud.cc/spring-cloud-config.html
spring cloud sleuth/zipkin的应用场景
https://blog.csdn.net/zhllansezhilian/article/details/83001870
dubbo
服务注册发现机制
https://blog.csdn.net/qq_27529917/article/details/80632078
高可用机制
https://www.cnblogs.com/zjfjava/articles/9704417.html
zookeeper
zab协议
http://blog.jobbole.com/104985/
面试题
https://segmentfault.com/a/1190000014479433?utm_medium=referral&utm_source=tuicool
Mybatis
通用分页实现
https://blog.csdn.net/itcats_cn/article/details/81586724
批量操作
https://blog.csdn.net/w605283073/article/details/83064000
动态sql
http://www.mybatis.org/mybatis-3/zh/dynamic-sql.html
一级缓存和二级缓存
https://blog.csdn.net/weixin_36380516/article/details/73194758
消息队列
队列整体设计
https://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650993240&idx=1&sn=bb2c943ee7aeabc3b5962056534d36b5&scene=27#wechat_redirect
消息队列应用场景
https://zhuanlan.zhihu.com/p/60289581
Jms整体介绍
https://baike.baidu.com/item/JMS/2836691
常用的消息队列中间件及比较
https://mp.weixin.qq.com/s?__biz=MzAxODcyNjEzNQ==&mid=2247485037&idx=1&sn=7ab8eeb739c479006d1ee48440bcbbb2&chksm=9bd0abf5aca722e3cb9f04fd3ea9ece96bf1484bef4ebb3bf20950897cc3ddaca79f871c4181&scene=27#wechat_redirect
事务性消息实现机制
https://yq.aliyun.com/articles/596022
消息重复消费
https://github.com/doocs/advanced-java/blob/master/docs/high-concurrency/how-to-ensure-that-messages-are-not-repeatedly-consumed.md
消息的持久化机制
https://blog.csdn.net/haoran_10/article/details/88330065
消息队列的高可用保证
https://www.jianshu.com/p/6940f7e1d962
架构设计
设计思想
设计模式
https://m.runoob.com/design-pattern/design-pattern-tutorial.html
微服务架构
https://zm8.sm-tc.cn/?src=l4uLj4zF0NCIiIjRnJGdk5CYjNGckJLQnpOTnJOQipvQno2LlpyTmozQyMnOy8zPxtGXi5KT&uid=3185b927c10e3c53e3d4d816420e06cb&hid=6c955294e68c37648ed36a538cf58149&pos=8&cid=9&time=1558881227809&from=click&restype=1&pagetype=0020000002000408&bu=ss_doc&query=%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9E%B6%E6%9E%84%E4%B8%8E%E5%AE%9E%E8%B7%B5&mode=&v=1&force=true&wap=false&uc_param_str=dnntnwvepffrgibijbprsvdsdichei
SOA架构
https://baijiahao.baidu.com/s?id=1566727073842273
分布式
分布式session共享问题
https://blog.csdn.net/u010902804/article/details/81182223
负载均衡的实现原理与实践
https://zhuanlan.zhihu.com/p/51041804
https://www.cnblogs.com/saixing/articles/6730201.html
分布式事务的解决方案
https://mp.weixin.qq.com/s?__biz=MzI5ODQ2MzI3NQ==&mid=2247486113&idx=1&sn=bde545f4f5efacb6a68df3ae9a8f1ec1&chksm=eca433e5dbd3baf344af2dd70e46233dd64047a4dd6ac487ba353fb5546da3aa68c65580c3e4&scene=27#wechat_redirect
分布式应用追踪实现方案及原理
https://mp.weixin.qq.com/s?__biz=MzAxODcyNjEzNQ==&mid=2247486899&idx=2&sn=20e0047e89f3bfded8fdac0d9dd97d41&chksm=9bd0a02baca7293da4c35c36ae8ace12e78f553454388ac538cbba6c0b5e076430884fbf9919&scene=27#wechat_redirect
分布式全局唯一seq id生成方案及优缺点比较
https://mp.weixin.qq.com/s?__biz=MzIwMzY1OTU1NQ==&mid=2247486313&idx=2&sn=82564895b6b7dca6b367d2295b862c2d&chksm=96cd4b25a1bac233a344016f2728db280fd297de28fc35abb8dbc31b4cfc838ac918afd2538b&scene=27#wechat_redirect
分布式锁实现
https://www.jianshu.com/p/4e75e17e960a
大流量
限流算法及实现手段
https://mp.weixin.qq.com/s?__biz=MzIwMzY1OTU1NQ==&mid=2247484306&idx=1&sn=b6c1b7b9d7c57bbb9f82ec451bcda867&chksm=96cd43dea1bacac8a24cde429146f69dba8bb15c5c9c3fe9adfe858d9a4349cc127fbfa84a8c&scene=27#wechat_redirect
https://www.infoq.cn/article/UhixHoWebU_TYJewJwcL
削峰填谷方案
https://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&chksm=bd2d07098a5a8e1fd9b505778b551002ab59c35953fa3deaaddc79e3f21bcea5ff48076b4a89&idx=1&mid=2651960021&scene=21&sn=4bbe275c249a70ab20e36959fc01d4e0
缓存实现方案及应用场景
http://www.dalbll.com/Group/Topic/ArchitecturedDesign/5205
缓存数据跟数据库数据一致性保证
cache aside pattern:https://www.colabug.com/3565367.html
https://www.cnblogs.com/rjzheng/p/9041659.html
搜索
lucence
https://blog.csdn.net/yiluoak_47/article/details/18963909
solr与elaticsearch
https://blog.csdn.net/qq_33314107/article/details/79481930
安全
常见六大Web安全攻防
https://blog.csdn.net/howgod/article/details/93729459
sql注入及防控
http://baike.sm.cn/item/05c54a9ce150b35262ed84b37b3046c4.html?from=smsc&uc_param_str=dnntnwvepffrgibijbpr
高级Java技术面试-高频知识点一览相关推荐
- 年底了,如何准备 Java 初级和高级的技术面试?
作者:hsm_computer 来自:cnblogs.com/JavaArchitect/p/9032323.html 本人最近几年一直在做java后端方面的技术面试官,而在最近两周,又密集了面试了一 ...
- java面试总结(一)-----如何准备Java初级和高级的技术面试
java面试总结(一)--如何准备Java初级和高级的技术面试 本文内容来自:https://mp.weixin.qq.com/s?__biz=MzAxNDMwMTMwMw==&mid=224 ...
- 2020年Android面试高频知识点小结+9家公司面试真题
作者:小羊子说 前言 正直2020金九银十,第一次换工作或是面试候选人,我们都会对面试知识做一次总结梳理,毕竟开发技术无边界,不同人对技术的解读不同.文章总结了最近大半年中的面试考查点V1.0,希望对 ...
- Java开发面试高频考点学习笔记(每日更新)
Java开发面试高频考点学习笔记(每日更新) 1.深拷贝和浅拷贝 2.接口和抽象类的区别 3.java的内存是怎么分配的 4.java中的泛型是什么?类型擦除是什么? 5.Java中的反射是什么 6. ...
- 面试题:460道Java后端面试高频题答案版「模块九:Spring」
Spring 写在前面 相信对于 Spring 这个模块,只要是做过 Java 开发的同学都是不陌生的,或多或少都使用过 Spring 体系的框架.对于平时自己做点小项目会写配置文件可能就行了,但是对 ...
- 顽石系列:Java技术面试
顽石系列:Java技术面试 JDBC相关 1.Statement与PreparedStatement的区 别,什什么是SQL注⼊入,如何防⽌止SQL注⼊? PreparedStatement支持动态设 ...
- java技术面试之面试题大全
转载自:http://blog.csdn.net/lijizhi19950123/article/details/77679489 Java 面试知识点总结 本篇文章会对面试中常遇到的Java技术点进 ...
- java技术面试一定要跳出来的坑,可曾听闻!
感谢颜群老师的指点,博主特别喜欢他,感觉干货满满,分享给大家 技术面试指导 本文从"必备项"和"加分项"两个角度分析. 一.必备项 0.自我介绍 表达流畅,不要 ...
- Java技术面试与HR谈薪资技巧
作为"生在红旗下,长在春风里"的"四有新人",笔者从毕业至今,与各路 HR.HRD 斗智斗勇,再加上自己的不懈努力,历尽千辛万苦终于将毕业时的 1500 每月的 ...
最新文章
- 循环神经网络实现文本情感分类之使用LSTM完成文本情感分类
- PythonGUI开发:59行代码开发小型商店添加系统
- JUC并发编程八 并发架构--park,unpark
- 编程语言之类型之间转换
- MFC中动态获取/设置按钮的文字
- Apache Camel 2.18 –即将推出的功能的亮点
- 前端学习(2970):div的scoped
- java 判断客户端_javaweb服务端判断客户端使用的是手机还是电脑访问
- 算法工程师面试备战笔记9_支持向量机(SVM)中的支持向量是什么意思
- 51NOD 1185 威佐夫游戏 V2(威佐夫博弈)
- Atitit 翻页功能的解决方案与版本历史 v4 r49
- 你对云存储的安全性了解多少?
- LINUX---安装Hadoop集群时,把hadmin用户的shell脚本添加到开机自启动脚本
- java简历编写及面试技巧
- 手机局域网关闭计算机的方法,用手机控制电脑关机 方法介绍【图文】
- 点击上下左右按钮让背景上下左右移动
- 网络SSID是什么意思
- C++ 实现文件分割、合并
- 叶俊:没有人会把钱存在有漏洞的账户
- 基于kinect的人体动作识别系统