总结的知识点包括:
- Java基础
- Java集合
- Java多线程
- JVM虚拟机
- Spring系列(SpringIOC、SpringAOP、SpringMVC及SpringBoot)
- ORM(Mybatis)
- 数据库(Mysql和Redis)
- 微服务(Dubbo)
- 消息队列(RocketMQ)
- 计算机网络
- 操作系统(Linux系统)
- 微服务项目(SpringBoot+Mybatis+Dubbo+Mysql+Redis+RocketMQ)
- 数据结构与算法(Leetcode/剑指Offer)
- 设计模式
- 常用工具
如果观看不流畅,可以去我的博客浏览面试知识点dreamcat.ink
- 总体架构 这边就不放图了,放图的字体小,放大可能模糊。该图还在持续总结中...
- Java常见基础问题 常见的基础问题,这是必须要掌握。
- Java常见集合问题 还没总结,后续总结...
- Java常见多线程问题 常见的多线程问题,也是必须掌握...
- JVM常见问题 常见的JVM要掌握的点...
本来是不想贴的,之前做了图,见丑了...
- JavaGuide:大家都懂的,帮这位老哥宣传一下-->"开源项目—JavaGuide (56k+Star)作者运营维护。专注Java后端学习!内容涵盖Java面试指南、Spring Boot、Dubbo、Zookeeper、Redis、Nginx、消息队列、系统设计、架构、编程规范等内容。"
- 程序员乔戈里:我也经常浏览,大佬也非常勤奋,也宣传一下-->"开源项目—JavaGuide (56k+Star)作者运营维护。专注Java后端学习!内容涵盖Java面试指南、Spring Boot、Dubbo、Zookeeper、Redis、Nginx、消息队列、系统设计、架构、编程规范等内容。"
- 帅地玩编程:少不了帅地呀,hhh-->"本号专注于讲解数据结构与算法、计算机基础(如计算机网络+操作系统+数据库+Linux)等编程知识,期待你的关注。"
- GitHubDaily:经常分享Github一些项目-->"专注于分享 Python、Java、Web、AI、数据分析等多个领域的优质学习资源、开源项目及开发者工具。"
- 方志朋:号主为BAT一线架构师,CSDN博客专家,博客访问量突破一千万,著有畅销书《深入理解SpringCloud与微服务构建》。主要分享Java、Python等技术,用大厂程序员的视角来探讨技术进阶、面试指南、职业规划等。15W技术人的选择!
- 好好学java:学习Java必备公众号,关注于Java、算法,公众号每日与您分享Java知识,定期的分享面试题,关注我们吧,和小海一起学习进步!
- 小鹿动画学编程:和小鹿同学一起用动画的方式从基础学编程,将 Web前端领域、数据结构与算法、网络原理等通俗易懂的呈献给小伙伴。先定个小目标,原创 1000 篇的动画技术文章,和各位小伙伴一起学习!
- Java3y:看人家说的:”只有光头才能变强“,头像也是个光头呢。
- 简述线程、程序、进程的基本概念。以及他们之间关系是什么?
- Java 语言有哪些特点?
- 面向对象和面向过程的区别
- ==、hashcode和equals
- 关于 JVM JDK 和 JRE 最详细通俗的解答
- Java和C++的区别?
- 基本类型
- 构造器
- String
- 对象
- 为什么Java中只有值传递?
- 关键字
- 关于 final 关键字的一些总结 一般关键字的面试,答的时候按照变量、方法和类去总结
- static 关键字
- this 关键字
- super 关键字
- final, finally, finalize 的区别
- 请说出作用域 public,private,protected,以及不写时的区别
- 异常
- IO
- 反射
- 拷贝
- Java面经-Java集合框架
- Java面经-ArrayList源码解析
- Java面经-LinkedList源码解析
- Java面经-HashSet-HashMap源码解析
- Java面经-LinkedHashSet-Map源码解析
- Java面经-TreeSet-TreeMap源码解析
- Java面经-PriorityQueue源码解析
- Java面经-Stack-Queue源码解析
- HashMap-ConcurrentHashMap面试必问
- 多线程思维导图
- Java多线程-并发基础常见面试题总结
- Java多线程-Synchronized
- Java多线程-volatile
- Java多线程-CAS
- Java多线程-ThreadLocal
- Java多线程-Atomic原子类
- Java多线程-AQS
- Java多线程-线程池
- Java多线程-并发进阶常见面试题总结
- 代码例子
-
- 说一说自己对于 synchronized 关键字的了解
- 说说自己是怎么使用 synchronized 关键字,在项目中用到了吗
- synchronized关键字最主要的三种使用方式:
- 双重校验锁实现对象单例(线程安全)
- 讲一下 synchronized 关键字的底层原理
- 说说 JDK1.6 之后的synchronized 关键字底层做了哪些优化,可以详细介绍一下这些优化吗
- 谈谈 synchronized和ReentrantLock 的区别
- 说说 synchronized 关键字和 volatile 关键字的区别
-
- 介绍一下ThreadLocal是什么
- 介绍一下底层原理
- 说一下ThreadLocal内存泄漏问题
- 谈谈Java内存模型
- 有个成员变量int a = 1,那么a和1分别在jvm哪里
- 线程的状态周期图
- volatile保证内存可见性和避免重排
- volatile不能保证原子性操作
- 无锁-偏向锁-轻量级锁-重量级锁
- 内存屏障
- 微服务班车在线预约系统 本项目是基于微服务架构的班车预约系统,采用springboot+mybatis+dubbo+rocketmq+mysql+redis等。当然,该项目也是前后端分离,前端采用比较流行的vue框架。
- 网络7层和4层的区别
- DNS
- HTTP
- 请求和响应报文
- HTTP请求方法
- HTTP状态码
- Cookies
- Session
- 浏览器在与服务器建立了一个 TCP 连接后是否会在一个 HTTP 请求完成后断开?什么情况下会断开?
- 一个 TCP 连接可以对应几个 HTTP 请求?如果维持连接,一个 TCP 连接是可以发送多个 HTTP 请求的。
- 一个 TCP 连接中 HTTP 请求发送可以一起发送么(比如一起发三个请求,再三个响应一起接收)
- 为什么有的时候刷新页面不需要重新建立 SSL 连接?TCP 连接有的时候会被浏览器和服务端维持一段时间。TCP 不需要重新建立,SSL 自然也会用之前的。
- 浏览器对同一Host建立TCP连接到数量有没有限制?
- HTTPS
- HTTPS是什么
- 对称密钥加密
- 非对称密钥加密
- HTTPS采用的加密方式
- HTTPS的缺点因为需要进行加密解密等过程,因此速度会更慢;需要支付证书授权的高额费用。
- Redis-面试常见的问题
- Redis是什么?
- 为什么要用Redis/为什么要用缓存?
- 使用Redis有哪些好处?
- 为什么要用Redis而不用map/guava做缓存?
- Redis相比Memcached有哪些优势?
- Redis的线程模型?
- Redis常见性能问题和解决方案
- Redis常见数据结构以及使用场景分析
- Redis设置过期时间
- MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据
- Memcache与Redis的区别都有哪些?
- Redis持久化机制(怎么保证Redis挂掉之后再重启数据可以进行恢复)
- AOF重写
- Redis事务
- Redis常见的性能问题都有哪些?如何解决?
- Redis的同步机制了解么?
- 是否使用过Redis集群,集群的原理是什么?
- 缓存雪崩和缓存穿透问题解决方案
- 如何解决Redis的并发竞争Key问题
- 如何保证缓存与数据库双写时的数据一致性?