Java开发面试题 | 2023

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
RDS AI 助手,专业版
简介: Java开发面试题 | 2023

Java基础

  • 接口和抽象类的区别?
  • Java动态代理
  • HashMap 底层实现及put元素的具体过程
  • currenthashmap底层实现原理?
  • map可以放null值吗,currenthashmap为什么不能放null值
  • synchronze和reetrantlock区别?
  • 怎样停止一个运行中的线程?
  • 什么是悲观锁、乐观锁、公平锁、非公平锁
  • String、StringBuffer、StringBuilder的区别
  • Set是如何保证元素不重复的
  • ArrayList与LinkedList哪个更占空间?为什么?
  • Java的设计原则?
  • 什么是长连接、短连接?
  • i++是否是原子操作?
  • ThreadLocal用过吗?主要在哪些场景用到了?
  • Java 反射?以及优缺点?
  • 常用的排序算法有哪些?时间复杂度分别是多少?

多线程

  • 线程的生命周期
  • JMM内存模型
  • 线程池的工作原理、几个重要参数、几个参数是依据什么来进行设置的?
  • 怎么实现线程之间的通信?

JVM

  • JVM的基本组成,每部分作用是什么?
  • jvm几种垃圾收集器
  • 常见的GC垃圾回收算法
  • JVM怎样判断对象是否存活
  • 说说双亲委派机制
  • 怎样打破双亲委派机制
  • 为什么使用双亲委派机制(双亲委派机制的优势)
  • 怎样实现自定义一个类加载器
  • 常用的GC参数

设计模式

  • 单例模式实现的几种方式?各自有哪些优缺点?
  • 策略模式
  • 模板方法模式
  • 观察者模式
  • 装饰器模式

Mybatis

  • Mybayis中&与#的区别,底层实现是怎样的
  • Mybatis Plus 为什么可以使用this.save直接插入一个实体对象

Spring

  • 说一下你对IOC容器的理解?
  • 说说Spring的AOP,实现机制是什么、有几种通知类型、Spring AOP底层是怎样实现的?
  • Spring 事务失效的场景?
  • Spring 的循环依赖是怎么解决的?
  • 什么是事务、事务的ACID特性
  • 事务的传播类型有哪些?

Spring Boot

  • Spring Boot的Run方法
  • 自动装配实现原理
  • BeanFactory与FactoryBean的区别?
  • 自定义Stater实现

Spring Cloud

  • 项目启动是怎样把服务注册到nacos上去的?
  • 微服务各组件的原理?调用链路?

Mysql

  • Mysql 索引底层实现是怎样的?为什么底层使用B+树
  • Mysql 常见的索引有哪些?有什么区别?
  • Mysql 索引的最左匹配原则
  • Mysql 查询索引使用explain 具体的值有哪些
  • Mysql 的索引优化
  • Mysql 索引失效的条件
  • Mysql 的存储引擎
  • Mysql的日志
  • Mysql事务底层是怎样实现的?

缓存

  • 本地缓存与Redis的区别?优缺点有哪些?
  • Redis的持久化方式及原理?
  • Redis是单线程还是多线程?
  • 怎样保证缓存、数据库的双写一致性?
  • Redis的缓存穿透、缓存击穿、缓存雪崩的解决办法?
  • Redis分布式锁使用场景?
  • 项目中哪些地方使用了Redis缓存

消息队列

  • kafka的基本结构说一下,他是怎样保持消息顺序的
  • kafka和rabbitmq的区别?
  • kafka消息丢失怎样解决?如何保证消息的顺序性?

Linux

  • 查看内存使用率命令
  • 日志文件怎样根据关键字进行查找?
  • Linux常用的命令

Maven

  • maven 常用命令
  • mvn clean package与mvn clean install有什么区别

Git

  • 命令merge和git rebase的区别

场景题目

  • 订单超时自动关闭如何实现?
  • 接口限流怎么做?说一下具体的实现思路?
  • 线上SQL你是怎样来进行优化的?

其他

  • 线上SQL性能优化过程?
  • 针对生产环境问题是怎样排查的?
  • 公司整个开发流程是怎样的?

笔试

  • Map map = new HashMap<>(); 根据value进行排序,打印key?
  • String、StringBuffer、StringBuilder的区别?
  • CPU 100% 怎样定位所在代码行?
  • 数据库设计E-R图?
  • 写单例、策略、模板设计模式代码示例
  • 手写重写equal、hashCode方法
  • 手写排序算法
  • 什么是缓存穿透、缓存雪崩、缓存击穿以及解决办法?
  • 递归算法
  • 索引有哪些类型?区别是什么?
  • 怎样实现分布式事务?原理是什么?
  • 怎样杀死一个运行中的Java项目进程
  • 怎样实现分布式事务?原理是什么?
相关文章
|
6月前
|
安全 前端开发 Java
《深入理解Spring》:现代Java开发的核心框架
Spring自2003年诞生以来,已成为Java企业级开发的基石,凭借IoC、AOP、声明式编程等核心特性,极大简化了开发复杂度。本系列将深入解析Spring框架核心原理及Spring Boot、Cloud、Security等生态组件,助力开发者构建高效、可扩展的应用体系。(238字)
|
7月前
|
算法 Java
50道java集合面试题
50道 java 集合面试题
|
9月前
|
缓存 Java API
Java 面试实操指南与最新技术结合的实战攻略
本指南涵盖Java 17+新特性、Spring Boot 3微服务、响应式编程、容器化部署与数据缓存实操,结合代码案例解析高频面试技术点,助你掌握最新Java技术栈,提升实战能力,轻松应对Java中高级岗位面试。
607 0
|
9月前
|
安全 Java 领域建模
Java 17 探秘:不容错过的现代开发利器
Java 17 探秘:不容错过的现代开发利器
801 0
|
7月前
|
消息中间件 人工智能 Java
抖音微信爆款小游戏大全:免费休闲/竞技/益智/PHP+Java全筏开源开发
本文基于2025年最新行业数据,深入解析抖音/微信爆款小游戏的开发逻辑,重点讲解PHP+Java双引擎架构实战,涵盖技术选型、架构设计、性能优化与开源生态,提供完整开源工具链,助力开发者从理论到落地打造高留存、高并发的小游戏产品。
|
9月前
|
Java 数据库连接 数据库
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
本文全面总结了Java核心知识点,涵盖基础语法、面向对象、集合框架、并发编程、网络编程及主流框架如Spring生态、MyBatis等,结合JVM原理与性能优化技巧,并通过一个学生信息管理系统的实战案例,帮助你快速掌握Java开发技能,适合Java学习与面试准备。
400 2
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
|
8月前
|
JavaScript 安全 前端开发
Java开发:最新技术驱动的病人挂号系统实操指南与全流程操作技巧汇总
本文介绍基于Spring Boot 3.x、Vue 3等最新技术构建现代化病人挂号系统,涵盖技术选型、核心功能实现与部署方案,助力开发者快速搭建高效、安全的医疗挂号平台。
399 3
|
8月前
|
安全 Java 数据库
Java 项目实战病人挂号系统网站设计开发步骤及核心功能实现指南
本文介绍了基于Java的病人挂号系统网站的技术方案与应用实例,涵盖SSM与Spring Boot框架选型、数据库设计、功能模块划分及安全机制实现。系统支持患者在线注册、登录、挂号与预约,管理员可进行医院信息与排班管理。通过实际案例展示系统开发流程与核心代码实现,为Java Web医疗项目开发提供参考。
391 2
下一篇
开通oss服务