Java后端核心技能知识点

news2025/2/3 1:03:41

今天带来的是2022全新升级的《Java岗面试核心版》,这个版本里面不仅仅包含了面试题,还有更多的技术难点、大厂算法、实战项目、简历模板等等,全册接近1700页!相比上一个版本的287页,升级了多少内容你懂的

大概内容:Java基础、JVM、多线程、MySQL、Spring、SpringBoot、SpringCloud、Dubbo、Mybatis、Redis、网络、Linux、MQ、Zookeeper、Netty、大数据、算法与数据结构、设计模式、项目实战、简历模板等等

由于细节内容实在是太多了,毕竟将近2000页的文档,只能把部分知识点里面的章节挑出来介绍一下,每个章节的小节点里面都有更详细的内容!以下就是部分知识点的目录,由于平台的篇幅限制原因,子节点上的详细讲解也无法全部展示

Java基础部分

  • Java概述
  • 基础语法
  • 面向对象
  • 类与接口
  • 变量与方法
  • 内部类
  • 重写与重载
  • 对象相等判断
  • 值传递
  • Java包
  • IO流
  • 反射
  • 常用API
  • 集合容器概述
  • Collection接口
  • HashMap
  • 多线程
  • Java异常
  • Tomcat
  • 并发编程
  • Java基础面试题

JVM 部分

  • JVM 的主要组成部分及其作用
  • 堆栈的区别
  • 处理并发安全问题
  • 内存溢出异常
  • JVM内存模型,GC机制和原理
  • 双亲委派
  • 深拷贝和浅拷贝
  • JVM性能调优
  • 线程
  • JVM内存区域
  • JVM运行时内存
  • 垃圾回收与算法
  • JAVA四种引用类型
  • GC分代收集算法VS分区收集算法
  • GC垃圾收集器
  • JAVA IO/NIO
  • JVM类加载机制
  • JVM面试高频题

多线程部分

  • 线程,程序、进程的基本概念。以及他们之间关系
  • 线程的基本状态
  • 线程的创建方式
  • 线程池原理
  • 线程的生命周期
  • 线程安全
  • volatile关键字的用法:使多线程中的变量可见
  • volatile、ThreadLocal的使用场景和原理
  • synchronized、volatile区别
  • synchronized锁粒度、模拟死锁场景
  • Java并发和并行
  • 怎么有效提高并发量
  • 进程通讯的方式:消息队列,共享内存,信号量,socket通讯等
  • 线程通讯
  • 并发、同步的接口或方法
  • 同步锁与死锁
  • 进程调度算法
  • CAS
  • AQS
  • NIO
  • 多线程面试高频题

MySQL部分

  • 数据库基础知识
  • 数据类型
  • 引擎
  • 索引
  • 事务
  • 视图
  • 存储过程与函数
  • 触发器
  • 常用SQL语句
  • SQL优化
  • 数据库结构优化
  • MySQL锁:悲观锁、乐观锁、排它锁、共享锁、表级锁、行级锁
  • 分布式事务的原理2阶段提交,同步异步阻塞非阻塞
  • 数据库事务隔离级别,MySQL默认的隔离级别
  • Spring如何实现事务
  • JDBC如何实现事务
  • 分布式事务实现
  • SQL的整个解析、执行过程原理、SQL行转列
  • 红黑树的实现原理和应用场景
  • MySQL分表自增ID解决方案
  • 理解分布式id生成算法SnowFlake
  • MySQL索引背后的数据结构及算法原理
  • MVCC
  • MySQL索引原理之聚簇索引
  • 关系型和非关系型数据库区别
  • MySQL面试高频题

Spring部分

  • Spring lOC
  • Spring AOP的原理
  • Spring AOP两种代理方式
  • Spring 如何保证 Controller 并发的安全?
  • Spring 中用到哪些设计模式?
  • Spring IOC的理解,其初始化过程?
  • Spring 的事务管理
  • Spring MVC概述Spring概述
  • Spring 控制反转(IOC)
  • Spring 注解
  • Spring 数据访问
  • Spring面向切面编程(AOP)什么是AOP
  • SpringMVC 面试题
  • SpringMVC 原理
  • Spring 数据访问
  • Spring 原理
  • Spring 核心组件
  • Spring面试高频题

SpringBoot部分

  • Spring Boot概述配置
  • 安全
  • 比较一下 Spring Security 和 Shiro 各自的优缺点
  • Spring Boot 解决跨域问题
  • 监视器
  • 整合第三方项目
  • Spring Boot 实现异常处理
  • Spring Boot 特性
  • Spring Boot 原理
  • Spring Boot 实现定时任务
  • Spring Boot比Spring做了哪些改进?
  • Spring Boot热加载
  • Spring Boot设置有效时间和自动刷新缓存,时间支持在配置文件中配置
  • hibernate和ibatis的区别
  • 讲讲mybatis的连接池
  • Spring Boot经典面试题

SpringCloud部分

  • 什么是Spring Cloud
  • 为什么需要学习Spring Cloud
  • Spring Cloud发展前景
  • Spring Cloud对比下Dubbo,什么场景下该使用Spring Cloud?
  • Spring Cloud熔断机制介绍
  • CAP原理和BASE理论
  • 分布式事务、分布式锁
  • 设计目标与优缺点
  • 整体架构
  • Spring Cloud Config
  • Spring Cloud Netflix
  • Spring Cloud Bus
  • Spring Cloud Sleuth
  • Spring Cloud Stream
  • Spring Cloud Task
  • Spring Cloud OpenFeign
  • Spring Cloud的版本关系
  • SpringBoot和SpringCloud的区别?
  • 服务注册和发现是什么意思?Spring Cloud 如何实现?
  • 负载平衡的意义什么?
  • 什么是 Hystrix?它如何实现容错?
  • 什么是 Netflix Feign?它的优点是什么?
  • Spring Cloud断路器的作用
  • Spring Cloud面试题

Dubbo部分

  • 基础知识
  • 架构设计
  • 注册中心
  • 集群配置
  • 通信协议
  • 设计模式
  • 运维管理
  • SPI
  • 分布式系统原理
  • Dubbo完整的一次调用链路介绍
  • Dubbo支持几种负载均衡策略?
  • Dubbo 支持哪些协议,每种协议的应用场景,优缺点?
  • Dubbo超时时间怎样设置?Dubbo有些哪些注册中心?
  • Dubbo 集群的负载均衡有哪些策略Dubbo是什么?
  • Dubbo的主要应用场景?Dubbo的核心功能?Dubbo的核心组件?
  • Dubbo 服务注册与发现的流程?
  • Dubbo 的架构设计?
  • Dubbo框架设计—共划分了10个层:Dubbo的服务调用流程?
  • Dubbo支持哪些协议,每种协议的应用场景,优缺点?
  • Dubbo有些哪些注册中心?
  • 为什么需要服务治理?
  • Dubbo 与 Spring 的关系
  • Dubbo 和 Dubbox 之间的区别
  • Dubbo 和 Spring Cloud 的关系
  • Dubbo 和 Spring Cloud 的区别

Mybatis部分

  • JPA原理
  • MyBatis简介
  • Mybatis 缓存
  • Mybatis的一级缓存原理(sqlsession级别)
  • MyBatis缓存
  • MyBatis数据源与连接池
  • MyBatis的解析和运行原理
  • Spring MVC运行流程
  • 什么是MyBatis?
  • 讲下MyBatis 的缓存
  • Mybatis 是如何进行分页的?分页插件的原理是什么?
  • 简述 Mybatis 的插件运行原理,以及如何编写一个插件?
  • 为什么说 Mybatis 是半自动 ORM 映射工具?它与全自动的区别在哪里?
  • MyBatis 与 Hibernate 有哪些不同?
  • MyBatis 的好处是什么?
  • 简述 Mybatis 的 Xml 映射文件和 Mybatis 内部数据结构之间的映射关系

Redis部分

  • Redis概述
  • 数据类型
  • 持久化
  • 过期键的删除策略
  • 内存相关
  • 分区
  • 分布式问题
  • 其他问题
  • 消息中间件如何保证消息的一致性
  • 如何进行消息的重试机制?
  • Redis数据类型
  • Redis集群如何同步
  • Redis的数据添加过程是怎样的:哈希槽
  • Redis的淘汰策略有哪些
  • Redis集群基础
  • Redis Cluster主从模式
  • Redis为什么这么快?
  • Redis采用多线程会有哪些问题?
  • Redis支持哪几种数据结构Redis跳跃表的问题
  • Redis是单进程单线程的,如何能够高并发?
  • Redis如何使用Redis实现分布式锁?
  • Redis分布式锁操作的原子性,Redis内部是如何实现的?

网络部分

  • 计算机网络体系结构
  • TCP/IP四层体系结构
  • TCP/IP协议族常见面试题
  • Socket通信,以及长连接,分包,连接异常断开的处理
  • http中,get post的区别
  • HTTP报文内容
  • 说说浏览器访问http://www.taobao.com,经历了怎样的过程
  • HTTP协议、HTTPS协议,SSL协议及完整交互过程
  • Ping过程原理详解
  • TCP/IP协议详解笔记——ARP协议和RARP协议
  • DNS域名解析的过程
  • Http会话的四个过程
  • 网络7层架构
  • TCP/IP原理
  • TCP三次握手/四次挥手
  • HTTP原理
  • CDN原理RPC
  • Znode有四种形式的目录节点
  • 负载均衡
  • 四层负载均衡vs七层负载均衡
  • 负裁均衡算法/策略
  • LVS
  • Keepalive
  • Nginx反向代理负载均衡

Linux部分

  • 什么是Linux
  • Unix和Linux有什么区别?
  • 什么是Linux内核?
  • Linux的基本组件是什么?
  • Linux的体系结构
  • BASH和DOS之间的基本区别是什么?
  • Linux开机启动过程?
  • Linux系统缺省的运行级别?
  • Linux 使用的进程间通信方式?
  • Linux 有哪些系统日志文件?
  • Linux系统安装多个桌面环境有帮助吗?
  • 什么是交换空间?
  • 什么是root帐户什么是LILO?
  • 什么是CLI?
  • 什么是GUI?
  • 开源的优势是什么?
  • GNU项目的重要性是什么?
  • 磁盘、目录、文件
  • 安全
  • Shell
  • 磁盘管理命令cd命令
  • swap分区
  • overcommit_memory
  • Linux系统下查看CPU、内存负载情况
  • 经典面试题

消息中间件部分

  • 为什么使用MQ?
  • 消息队列有什么优缺点?
  • RabbitMQ有什么优缺点?
  • 你们公司生产环境用的是什么消息中间件?
  • Kafka、ActiveMQ、RabbitMQ、RocketMQ有什么优缺点?
  • MQ有哪些常见问题?如何解决这些问题?
  • 什么是RabbitMQ?
  • Rabbitmq的使用场景
  • RabbitMQ基本概念
  • RabbitMQ的工作模式
  • 如何保证RabbitMQ消息的顺序性?
  • 消息如何分发?
  • 消息怎么路由?
  • 消息基于什么传输?
  • 如何保证RabbitMQ消息的可靠传输?
  • 如何保证消息不被重复消费?或者说,如何保证消息消费时的幂等性?
  • 设计MQ思路
  • 消息中间件如何保证消息的一致性如何进行消息的重试机制?
  • 传递保证语义
  • 生产者的"Exactly once"语义方案
  • 消费者的"Exactly once"语义方案
  • ISR集合
  • 请说明什么是Apache Kafka?
  • 请说明什么是传统的消息传递方法?
  • 请说明Kafka相对传统技术有什么优势?
  • 在Kafka中broker的意义是什么?
  • Kafka服务器能接收到的最大信息是多少?
  • 解释Kafka的Zookeeper是什么?我们可以在没有Zookeeper的情况下使用Kafka吗?
  • 解释Kafka的用户如何消费信息?
  • 解释如何提高远程用户的吞吐量?

Zookeeper部分

  • ZooKeeper是什么?
  • ZooKeeper提供了什么?
  • Zookeeper文件系统
  • Zookeeper怎么保证主从节点的状态同步?
  • 四种类型的数据节点Znode
  • Zookeeper Watcher机制-数据变更通知
  • 客户端注册Watcher实现
  • 服务端处理Watcher 实现
  • 客户端回调Watcher
  • ACL权限控制机制
  • Chroot特性
  • 会话管理
  • 服务器角色
  • Zookeeper 下 Server 工作状态数据同步
  • zookeeper是如何保证事务的顺序—致性的?
  • 分布式集群中为什么会有Master主节点?
  • ZK节点宕机如何处理?
  • Zookeeper有哪几种几种部署模式?
  • Zookeeper 的java客户端都有哪些?
  • Chubby 是什么,和zookeeper 比你怎么看?
  • 说几个zookeeper '常用的命令。
  • ZAB和Paxos算法的联系与区别?
  • Zookeeper的典型应用场景Zookeeper都有哪些功能?
  • 说一下Zookeeper的通知机制?
  • Zookeeper和 Dubbo的关系?
  • Zookeeper集群之间如何通讯
  • Zookeeper面试题

Netty部分

  • Netty简介
  • Netty高性能设计
  • Netty架构设计
  • Netty面试题
  • Netty是什么?
  • Netty特点是什么?
  • Netty的优势有哪些?
  • Netty的应用场景有哪些?
  • Netty高性能表现在哪些方面?
  • BIO、NIO和AIO的区别?
  • NIO的组成?
  • Netty的线程模型?
  • TCP粘包/拆包的原因及解决方法?
  • 什么是 Netty 的零拷贝?
  • Netty 中有哪种重要组件?
  • Netty 发送消息有几种方式?
  • 默认情况 Netty 起多少线程?何时启动?
  • 了解哪几种序列化协议?
  • 如何选择序列化协议?
  • Netty支持哪些心跳类型设置?
  • Netty和Tomcat的区别?
  • NIOEventLoopGroup源码?
  • Netty 原理
  • Netty RPC 实现
  • Netty经典面试题

大数据部分

  • Hadoop
  • SPARK 概念
  • SPARK 核心架构
  • SPARK 核心组件
  • SPARK 编程模型
  • SPARK 计算模型
  • SPARK 运行流程
  • SPARK RDD流程
  • SPARK RDD
  • Storm
  • 集群架构
  • YARN
  • 负载均衡的原理
  • 六大Web负载均衡原理与实现
  • http重定向
  • DNS负裁均衡
  • 反向代理负载均衡
  • IP负载均衡(LVS-NAT)
  • 直接路由(LVS-DR)
  • IP隧道(LVS-TUN)
  • Tomcat并发
  • Exchange类型
  • base概念
  • 列式存储
  • Hbase核心概念
  • Hbase核心架构
  • Hbase的写逻辑
  • HBase vs Cassandra
  • CLH队列

算法与数据结构部分

  • 红黑树
  • 红黑树在STL上的应用
  • AVLtree
  • 二叉搜索树
  • 红黑树的定义
  • B树定义
  • B+树
  • Trie树((字典树)
  • 贪心算法和动态规划的区别
  • BitMap从字面的意思
  • Bitmap应用
  • Bitmap排序复杂度分析
  • BitMap算法流程
  • BitMap算法评价
  • 七大查找算法
  • —致性算法
  • JAVA算法
  • 数据结构
  • 加密算法
  • 顺序查找
  • 二分查找
  • 插值查找
  • 斐波那契查找
  • 树表查找
  • 分块查找
  • 哈希查找

项目实战部分(完整项目白皮书+视频+源码)

  • 日志
  • Slf4j
  • Log4j
  • LogBack
  • 以网约车为例,切入分布式项目
  • 互联网高并发项目需求分析
  • 高并发场景业务漏洞,正确理解技术赋能业务
  • 实际生产项目中高并发微服务架构设计
  • 合理制定业务架构图支持高并发和扩展性挑战
  • 如何在项目开发中沉淀中台能力
  • 项目拆解技术选型以及技术架构图
  • 网约车业务中的派单功能设计
  • 网约车中开放平台接口设计
  • CAP定理在实际生产中的应用
  • 网约车中数据—致性的保障上:分布式锁
  • 网约车中数据—致性的保障上:分布式事务

设计模式部分

  • 单例模式
  • 工厂模式
  • 抽象工厂模式
  • 建造者模式
  • 原型模式
  • 适配器模式
  • 装饰器模式
  • 代理模式
  • 中介者模式
  • 命令模式
  • 责任链模式
  • 策略模式
  • 迭代器模式
  • 组合模式
  • 观察者模式
  • 门面模式
  • 备忘录模式
  • 访问者模式
  • 状态模式
  • 解释器模式
  • 享元模式
  • 桥梁模式
  • 模板方法模式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/103893.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

南京邮电大学编译原理实验二(语法分析程序)

文章目录一、文法二、源代码模块(一)消除文法的左递归(二)求First集(三)求Follow集(四)构建LL(1)分析表(五)符号串分析(六)主函数三、…

破解色带现象(下)

编者按:本文是“破解色带现象”文章的第二部分,Fabio Sonnati进一步 分析了色带现象产生的原因,并提供了新的检测办法。本文已获得作者授权转载。翻译:Argus原文链接:https://sonnati.wordpress.com/2022/09/16/defea…

Flink实战案例四部曲

Flink实战案例四部曲 第一部曲:统计5分钟内用户修改创建删除文件的操作日志数量 输入 1001,delete 1002,update 1001,create 1002,delte 输出 1001,2 1002,2代码如下。 import org.apache.flink.streaming.api.environment.StreamExecutionEnvironmen…

Anlios装grouplist 组件之后报错,安装tiger-vncserver

因为之前升级了一个epel-release源,然后containerd也装进去了,但是版本太低 然后以为是runc挡住了,发现没有runc 删完了containerd就可以装了 rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm dnf install wntp…

【性能篇】30 # 怎么给WebGL绘制加速?

说明 【跟月影学可视化】学习笔记。 常规绘图方式的性能瓶颈 例子&#xff1a;在一个画布上渲染 3000 个不同颜色的、位置随机的三角形&#xff0c;并且让每个三角形的旋转角度也随机。 <!DOCTYPE html> <html lang"en"><head><meta charse…

SpringBoot+Vue实现前后端分离的高校思政课实践教学管理系统

文末获取源码 开发语言&#xff1a;Java 使用框架&#xff1a;spring boot 前端技术&#xff1a;JavaScript、Vue.js 、css3 开发工具&#xff1a;IDEA/MyEclipse/Eclipse、Visual Studio Code 数据库&#xff1a;MySQL 5.7/8.0 数据库管理工具&#xff1a;phpstudy/Navicat JD…

基于SSM的大学生心理健康系统设计与实现

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a; 网站前台&#xff1a;关于我们、联系信息、文章信息、咨询师信息、服务信息、测试信喜 管理员功能&#xff1a; 1、管理…

继续谈谈从Rxjava迁移到Flow的背压策略

前言 对于背压问题不久前就讨论过了&#xff0c;这里就不过多介绍了&#xff0c;总之它是一个非常复杂的话题&#xff0c;本文的主要目的是分析我们如何从Rxjava迁移到Flow并且使用其背压方案&#xff0c;由于本身技术的限制以及协程内部的复杂性&#xff0c;不会做过多的深入…

下载安装PyTorch

1、下载并安装Visual Studio Code选择合适版本安装 2、下载安装conda并配置环境 下载方式一&#xff1a;官网下载 下载方式二&#xff1a;清华镜像安装 3、conda配置环境 打开电脑高级系统配置点开系统环境变量&#xff1a; 找到path然后点击Edit或者直接双击&#xff1a; 之后…

利用LSTM识别篇章关系实战代码+数据

1.显式篇章关系分类概述 案例知识点: 任务描述:篇章关系分析是自然语言中处理篇章级基础语言分析任务,其目的是利用规则或机器学习等计算机处理手段判别篇章各组成成分之间的修辞逻辑关系,从而从整体上理解篇章。其中论元之间有连接词连接的此类关系称为显式篇章关系。本教…

实验七、MOS管分压式偏置共源放大电路的静态和动态参数

一、题目 搭建MOS管分压式偏置共源放大电路。利用Multisim研究下列问题&#xff1a; &#xff08;1&#xff09;确定一组电路参数&#xff0c;使电路的 QQQ 点合适。 &#xff08;2&#xff09;若输出电压波形底部失真&#xff0c;则可采取哪些措施&#xff1f;若输出电压波形…

Mysql概念知识

Mysql数据库基础知识为什么要使用数据库数据保存在内存数据保存在文件数据保存在数据库什么是SQL&#xff1f;什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有几种录入格式&#xff1f;分别有什么区别&#xff1f;数据类型mysql有哪些数据类型引…

计算机毕设Python+Vue学生资源管理系统(程序+LW+部署)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

websocket使用方法

前言 最近项目用到了websocket接口&#xff0c;用来做长连接&#xff0c;监听服务器数据变化&#xff0c;保持各终端数据同步。 用下来发现确实很好用&#xff0c;避免了轮询&#xff0c;开销小&#xff0c;而且最重要的是没有同源策略限制。 websocket WebSocket 是一种在…

Nginx-安装和部署全过程

前言 OpenResty是一个基于Nginx与 Lua 的高性能 Web 平台&#xff0c;其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。openresty官网&#xff1a;OpenResty - 中文官方站 …

软件著作权到底享有哪些权利?

根据《计算机软件保护条例》相关规定 软件著作权人享有下列各项权利: &#xff08;一&#xff09;发表权&#xff0c;即决定软件是否公之于众的权利&#xff1b; &#xff08;二&#xff09;署名权&#xff0c;即表明开发者身份&#xff0c;在软件上署名的权利&#xff1b; &a…

iOS的启动优化

应用的启动优化 当我们参与到大型应用的时候 会遇到一些启动时间过长的情况 这时候就需要使用到相关的操作。 总结来说&#xff0c;main()方法调用前&#xff0c;启动过程大体分为如下步骤&#xff1a; 先是LLVM把项目翻译成IR文件然后到backend&#xff0c;PRE_MAIN,main。 …

感冒咳嗽土法子

目录介绍 01.常见的感冒药02.止咳的土方法03.感冒的土方法 01.常见的感冒药 感冒是生活中最常见的疾病 患者往往会有&#xff1a;头昏、发烧、浑身酸痛、鼻塞、流鼻涕等症状 注意点 注意休息&#xff0c;适当补充水分&#xff0c;保持室内空气流通。 常见感冒药 主要成分的作…

CSS规范

CSS规范 命名规范 页面外围控制整体布局宽度&#xff1a;wrapper、页头&#xff1a;header、页面主体&#xff1a;main、内容&#xff1a;content、页脚&#xff1a;footer、导航&#xff1a;nav、主导航&#xff1a;mainbav、子导航&#xff1a;subnav、顶导航&#xff1a;t…

利用FormData上传本地文件

前言 最近接了个小项目&#xff0c;有个用客户端本地文件的需求。 正常这种需求都是前台传文件&#xff0c;后台去解析。 但这次C的老哥非让我给文件路径&#xff0c;说公司平台有解析文件的能力。 我说web不是桌面端&#xff0c;拿不到真实路径&#xff0c;他还不信&#…