Java常见面试问题总结

2023-05-16

Java常见面试问题总结

说明:本人是二线城市工作4/5年的菜鸟程序员,以下面试问题更侧重于当地的初中级、高开。要是以北上广深的面试标准问则还远远不够,就比如在一线城市JDK(List、Map、Set)、JUC并发包和Mysql底层原理部分问的就会更多且更深,以下面试题是个人跳槽面试多年来对被问过的面试问题的总结,当然有一些是八股文里常会问到的。

一、微服务相关问题:

1、SpringBoot和Spring有什么区别?
2、SpringCloud、SpringBoot有什么区别和联系?
3、SpringCloud全家桶、SpringCloudAlibaba全家桶分别有那些组件?
4、为什么项目使用SpringCloudAlibaba全家桶而不使用SpringCloud全家桶?
5、Eurkea和Nacos和RPC三者有什么区别?(要是能根据CAP原理进行分析那就相当nice了,薪资绝对低不了!)
6、SpringCloudAlibaba的Sentinel组件有没有了解?什么是熔断?什么是降级?
7、SpringCloudGateway是怎么配置的?和Nginx有什么区别?项目已经有Nginx了为什么还要用Gateway?
8、在微服务中服务与服务之间的通信用得是什么?Open-Feign

二、Spring相关问题:

1、讲一讲对Spring IOC的理解,如何通过方法获取Spring中指定的Bean对象?
2、讲一讲对Spring AOP的理解,讲一讲Aop在Spring中有哪些应用,Aop的通知类型有哪几种?Aop在项目中有哪些应用场景?项目中除了日志用到了Aop还有哪里用到了Aop?
3、讲一讲静态代理、动态代理?

三、Mybatis相关问题:

1、Mybatis和MybatisPlus有什么区别?为什么你们项目要用MybatisPlus,MybatisPlus有什么好处?
2、Mybatis是怎样分页的?MybatisPlus又是怎样分页的?
3、Mybatis是如何防止Sql注入的?

四、Mysql相关问题:

1、数据库事务的ACID是什么?分别描述下?
2、Mysql的存储引擎有哪些?有什么区别?默认是使用哪些?
3、Mysql常用的索引有哪些?索引在Mysql起到了什么作用?
4、Mysql的having和where的使用方式?
5、知道哪些关于Mysql的优化方案?配合Mybatis的使用有哪些优化?

五、Http相关问题:

1、Http的请求方法有哪些?
2、常见的Http请求码有哪些?
3、Http和Https有什么区别?
4、讲讲Http建立连接时候的三次握手和四次挥手?
4、cookie和session有什么却别?配合前端的localstorage讲讲存储?
5、JWT是做什么的?有使用过嘛?配合SpringSecurity讲讲有什么联系和区别?
6、知道什么是跨域吗?

六、Redis相关问题:

1、项目中为什么要使用Redis?使用Redis有什么好处?
2、Redis常见的数据结构有哪些?各个数据结构一般都应用在什么场景?
3、Redis的持久化方式有哪些?分别有什么区别?
4、有了解过缓存淘汰策略吗?(此问题一般不会问,中级+、高级一般会问)
5、分别讲讲缓存穿透、击穿和雪崩?
6、Redis哨兵、集群私下里有搭建过吗?
7、CacheManager有什么用途?在Spring中怎样使用缓存管理器CacheManager?

七、MQ( 拿RabbitMQ举例)相关问题:

1、了解过哪些MQ?不同MQ之间有什么区别?
2、使用MQ的目的是什么?(削峰、异步和解耦)
2、RabbitMQ在项目里什么场景下使用的?以及如何使用的?
3、RabbitMQ的延迟队列、死信队列有了解和使用过吗?
4、如何保证消息的可靠性投递?
5、如何避免消息的重复消费?
6、MQ的集群私下里有搭建过吗?

八、并发锁相关问题:

1、在java的JUC包中有哪些常用的锁?(讲讲synchronized、ReentrantLock使用场景和区别)
2、什么是死锁?
3、项目中是否使用到了锁?为什么分布式下不用以上两种锁?分布式下用的应该是什么锁?
4、讲讲Redisson分布式锁的使用和机制?(项目用到了就会问)
5、假如没有Redisson分布式锁有什么可替代的方法?(高开+会问)

九、事务相关问题:

1、Spring中的事务使用的是哪个注解?说说事务的隔离级别?默认用的是哪个?
2、讲讲2PC 两段式提交、3PC、TCC柔性事务(能答出来你就牛逼了!)
3、在分布式中用到的分布式事务是什么?说一下Seata的注解是哪个?
4、Seata的处理过程,结合TC、TM、RM来讲?(高开+问)

九、JDK基础知识

1、List、Map、Set相关问题
2、JDK8新特性有哪些?关于Stream流在代码中的使用

十、其它问题

1、项目中你们的接口文档是如何编写的?要是有Swagger就简单讲讲
2、项目中有使用到什么设计模式吗?(回答单例的较多,回答简单工厂+策略的在面试官心中特别加分),描述下策略模式一般在什么时候用?

3*、你自己的职业规划是什么?(架构师/技术经理,要说下班后坚持学习,每年要学会哪些技术,每年都要有什么样的进步)
4*、你在工作中遇到都过什么样的困难?你是如何解决的?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java常见面试问题总结 的相关文章

  • html布局(Layout)

    一列布局 1 页面内容区域有一个固定宽度 2 页面内容区域在浏览器窗口中自动适应居中 实现方式 xff1a box widht 自定义 xff1b margin 0 auto 固定宽度设置 1 以主流的分辨率来判断 二列布局 xff08 1
  • C# Button 按钮控件

    目录 1 工具箱添加按钮 2 代码添加按钮 2 1 方法一 xff1a 绑定事件 xff08 43 61 new EventHandler xff08 xff09 xff09 2 2 使用lamada表达式添加 1 工具箱添加按钮 xff0
  • 制作U盘启动盘变成两个盘符怎么办

    很多朋友在给电脑重装系统时都是通过U盘制作启动盘来操作的 xff0c 不知道大家有没有遇到过在制作启动盘时 xff0c 盘符变成两个的情况呢 xff1f 这里就和大家分享一下如何解决这个问题吧 更多重装系统教程尽在小白系统重装官网 系统 x
  • Maven连接MySQL数据库

    配置Maven 1 官网下载maven包 xff0c 解压到英文路径下 xff0c 找到conf文件夹中的settings xml文件 xff0c 打开后添加本地仓库的路径 xff1a 再添加阿里maven的镜像网址 xff1a 配置完成后
  • 任务栏图标消失怎么办?三种方法教你快速恢复

    最近许多小伙伴在更新了操作系统之后 xff0c 发现自己的电脑任务栏图标全部都消失了 xff0c 不知道怎么显示出来 xff0c 非常的影响使用 更多电脑教程在这里 方法一 xff1a 1 首先按下快捷键 ctrl 43 shift 43
  • Win10怎么搜索文件内容?Win10通过文件内容查找文件的方法

    Win10怎么搜索文件内容 xff1f 有些朋友电脑里的文件很多 xff0c 想要找到某个文件 xff0c 但是不记得文件名 xff0c 只知道里面是有关什么的内容 xff0c 想要通过搜索里面的文字内容来找到具体的文件 xff0c 今天介
  • vista系统重装下载安装教程

    平常我们使用的电脑操作系统基本都是windows系统 xff0c win7 10 11甚至是xp都是较为常用的操作系统 xff0c 而其它的心态比如说vista系统也是有用户在使用的 xff0c 那么该如何安装这个系统呢 xff1f 下面给
  • 电脑重装系统后找不到硬盘怎么办

    有网友的win10系统电脑出了系统故障进行了重装 xff0c 但是又发现了重装系统后找不到硬盘的新问题 xff0c 那么重装系统后找不到硬盘怎么办呢 工具 原料 xff1a 系统版本 xff1a win10专业版 品牌型号 xff1a 戴尔
  • Linux客户端挂载nas存储

    在Linux操作系统中 xff0c 可以使用NFS xff08 Network File System xff09 协议将NAS设备的共享文件系统挂载到本地计算机上 以下是使用NFS挂载NAS设备的步骤 xff1a 确认NAS设备已经正确配
  • 合理使用CSDN-markdown编辑器进行转载

    转载自 xff1a https blog csdn net My daily life article details 108773671 前言 作为DSCN博客用户小萌新 xff0c 有可能自己写的博客还不够好 xff0c 或者当看到别人
  • python中break和continue的区别

    python中break和continue的区别 break 应用在循环中 xff0c 结束当前循环 continue 应用在循环中 xff0c 结束当前正在执行的循环 xff0c 继续下一次循环 实例 xff1a 统计100 200之间的
  • Ubantu基础指令大集合

    Ubantu基础指令大集合 1 打开ubantu终端 Ctrl 43 alt 43 T 2 定位到需要操作的文件夹cd cd home drl document 3 查询同级目录下其他文件夹tab 按下tab 4 查看该文件夹下有什么文件l
  • Shell脚本代码编写规则

    Shell脚本代码编写规则 Shell解释器 解释器 xff08 例如 xff1a bin bash xff09 2 Shell的变量类型 环境变量 Shell环境下已经存在的一些系统变量 xff0c eg PWD UID PATH 自定义
  • HTML基本表格的使用

    基本表格的使用 lt DOCTYPE html gt lt html gt lt head gt lt meta charset 61 34 utf 8 34 gt lt title gt 基本表格 lt title gt lt head
  • 华为私有云平台FusionCompute搭建

    一 FusionCompute架构 架构CNA作为虚拟化操作系统 xff0c VRM作为虚拟化管理平台 正常主机都安装CNA xff0c 单独建立VRM集群作为管理集群 xff0c 我测试环境就一台主机 xff0c 所以CNA和VRM装在同
  • HTML中的表格合并

    HTML中的表格合并 lt DOCTYPE html gt lt html gt lt head gt lt meta charset 61 34 utf 8 34 gt lt title gt lt title gt lt head gt
  • vba 正则表达式

    群友分享的 xff0c 内容解释非常清楚 Sub RegTest Dim oRegExp As Object 39 定义正则表达式对象 Dim oMatches As Object 39 定义匹配字符串集合对象 Dim str As Str
  • 一个可以直接使用的用于python日志记录的类

    一个用于Python3程序的日志记录类 xff0c 使用的时候 xff0c 将该类import进去后 xff0c 按照这里面的最后两行的测试程序使用即可 程序贴在这里 xff0c 省的以后造轮子 Github xff1a https git
  • python 安装 第三方库报错 -— 需要Visual C++ 14.0 compiler 及以上

    python 安装 第三方库报错 xff1a error Microsoft Visual C 43 43 14 0 or greater is required Get it with 34 Microsoft C 43 43 Build
  • 时间序列模型 (一):模型概述

    时间序列的其它博文系列 xff1a 时间序列模型 xff08 一 xff09 xff1a 模型概述 时间序列模型 xff08 二 xff09 xff1a 移动平均法 时间序列模型 xff08 三 xff09 xff1a 指数平滑法 时间序列

随机推荐

  • ubantu18开启audit审计日志

    1 检查系统是否安装audit服务 service auditd status 2 安装命令 sudo apt get install auditd 审计规则 auditctl w etc passwd p rwxa xff08 注意 xf
  • CentOS8 使用yum 安装 jdk8

    原文地址 1 安装方法 CentOS8上使用 yum 直接安装 xff0c 环境变量自动配置好 2 查看是否已安装 看到下面结果 xff0c 说明已经安装配置 jdk 1 2 3 4 root 64 localhost java versi
  • npm 更新不了,一直提示not support Node.js v12.18.4

    使用npm命令一直提示 xff1a npm WARN npm npm does not support Node js v12 18 4 根据网上提供的方法是全局更新npm npm i g npm 运行后仍然一直提示 npm WARN np
  • 特别实用而且功能强大的attributedText属性

    span class hljs preprocessor import span class hljs title 34 ViewController h 34 span span span class hljs preprocessor
  • 基本计算器算法实现

    基本计算器 没有括号基本计算 题目 给你一个字符串表达式 s xff0c 请你实现一个基本计算器来计算并返回它的值 整数除法仅保留整数部分 你可以假设给定的表达式总是有效的 所有中间结果将在 231 231 1 的范围内 注意 xff1a
  • 在windows和ubuntu下安装Syncthing

    Syncthing 一个可以用在不同设备之间 xff0c 同步文件的工具 window下安装 有客户端版本的 xff0c 由社区维护 xff0c 我下下来试了下 xff0c 没有跟到最新版本 xff0c 看其他文章好像有 bug xff0c
  • 自定义手写JDK动态代理

    前言 根据Java Porxy 实现原理实现我们手写的自定义代理类 xff0c 实现简易的动态代理流程 自定义InvocationHandler span class token keyword package span com span
  • PDFBox 优化内存方案

    前言 版本基于2 0 27 最近使用pdfbox 导入发现内存使用占用特别高 xff0c 通过查阅官方资料发现pdfbox 在处理一些复杂的pdf 消耗内存特别高 xff0c 这个是没法避免的 xff0c 内存设置小的很有可能导致内存溢出
  • 使用PageOffice实现文档(word,excel,pdf)在线预览编辑

    最近发现一款不错的插件的PageOffice 地址是 xff1a http www zhuozhengsoft com Technical 他可以实现word excel pdf在线预览以及在线编辑 虽然商用的话需要收费 xff0c 但是有
  • 存储过程实现批量插入数据

    前几天在公司做一业务模块测试的时候 xff0c 将测试都删除了 xff0c 导致客户端想拿测试数据拿不到了 xff0c 一下没时间一条一条的录数据 xff0c 所以只有采取存储过程实现模拟数据插入 数据需求 xff1a 有两个字段类型是De
  • 如何排查 tomcat 启动失败一闪而过原因

    1 问题描述 xff1a tomcat这个一闪而过 应该是老生常谈的问题了 xff0c 今天主要是以我出现的问题 xff0c 提供一个解决方案 因为一闪而过原因有多种 2 前面的基本配置就不再这里一一阐述了 直接记录我怎么找到自己的一闪而过
  • Java 实现表格导出到Excel(.xlsx)

    最近项目中需要将table 中数据导出到excel xff0c 当时我想的两种方案 xff0c 一种是通过前端插件TableExport js 发现简单使用的话 xff0c 只是可以导出table 中原生的数据 一旦table 有jstl
  • git 常用命令以及提交步骤

    git常使用的命令 1 git init 在当前目录新建一个代码库 2 git config user name 61 git config user email 61 设置代码提交时候的信息 3 git clone 需要clone 远程地
  • Java日志门面技术 SLF4J

    文章目录 背景SLF4J概述切换日志框架实际应用配合自身简单日志实现 slf4j simple 配置logback日志实现配置Log4J日志实现 需适配器 配置JUL日志实现 需适配器 添加slf4j nop依赖 日志开关 桥接旧的日志实现
  • 阿里云服务器(Ubuntu18.04版本)中安装coturn穿透服务器

    阿里云服务器 xff08 Ubuntu18 04版本 xff09 中安装coturn穿透服务器 一 安装依赖库二 下载源码并编译安装三 coturn启动命令四 阿里云端口配置五 安装 配置完成后测试 一 安装依赖库 sudo apt spa
  • 阿里云服务器(Ubuntu18.04版本)中安装Kurento流媒体服务器

    阿里云服务器 xff08 Ubuntu18 04版本 xff09 中安装Kurento流媒体服务器 一 安装coturn穿透服务器二 kurento Media Server KMS 卸载 安装 配置 一 安装coturn穿透服务器 具体如
  • Java抽象类及其实现

    任务描述 定义一个形状 xff08 sharpe xff09 的抽象类 xff0c 具有求面积的抽象方法 再分别定义sharpe类的实现类 xff1a 三角形 xff08 triangel xff09 编程要求 定义一个描述形状 xff08
  • 基于kurento-one2many二次开发实现多房间直播+共享桌面+切换摄像头+聊天互动

    基于kurento one2many二次开发实现多房间直播 43 共享桌面 43 切换摄像头 43 聊天互动 一 安装coturn穿透服务器二 安装kurento Media Server KMS 流媒体服务器三 开源项目访问地址四 压力测
  • MySQL基础学习笔记

    MySQL学习文档 一 MySQL基础知识 1 1 mysql各个版本的重要性介绍 MySQL Community Server 社区版本 xff0c 开源免费 xff0c 但不提供官方技术支持 MySQL Enterprise Editi
  • Java常见面试问题总结

    Java常见面试问题总结 说明 xff1a 本人是二线城市工作4 5年的菜鸟程序员 xff0c 以下面试问题更侧重于当地的初中级 高开 要是以北上广深的面试标准问则还远远不够 xff0c 就比如在一线城市JDK List Map Set x