Java面试必备题
文章平均质量分 69
Java面试必备题
阿呆布衣酷
纯干货学习笔记:无盈利目的,只想帮自己成长
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
54.数据库常见面试题有哪些?
第一范式(1NF):确保字段原子性。第二范式(2NF):消除部分依赖。第三范式(3NF):消除传递依赖。通过遵循这些范式,可以设计出更加规范的数据库结构,从而减少数据冗余,提高数据的完整性和一致性。虽然在实际应用中,有时会为了性能考虑而适当放宽范式要求,但理解和应用这些范式是数据库设计的基础。以上是一些常见的数据库面试。原创 2024-11-02 12:51:21 · 568 阅读 · 0 评论 -
41.RocketMQ常见面试题有哪些?
准备这些问题时,建议结合实际案例和项目经验进行回答,以便在面试中展示你的深入理解和实践能力。原创 2024-10-29 23:17:34 · 467 阅读 · 0 评论 -
40.git常见面试题有哪些?
你最喜欢的Git特性是什么,为什么?可以谈谈分支管理、合并策略等。原创 2024-10-29 23:07:13 · 604 阅读 · 0 评论 -
39.React常见面试题有哪些?
以上是一些常见的React面试题,准备面试时,建议结合实际项目经验和示例代码进行深入理解和练习,能够更好地展示对React的掌握程度。希望这些问题对你有帮助!原创 2024-10-29 22:58:40 · 389 阅读 · 0 评论 -
38.K8s常见面试题有哪些?
以下是一些关于Kubernetes (K8s) 的常见面试题,涵盖基础知识、架构原理、常用概念、管理操作、网络、安全性等多个方面。原创 2024-10-29 22:49:11 · 572 阅读 · 0 评论 -
37.Kafka常见面试题有哪些?
以下是一些关于Kafka的常见面试题,涵盖基础知识、架构原理、消息处理、性能优化以及一些高级特性等方面。原创 2024-10-29 22:41:29 · 631 阅读 · 0 评论 -
36.rabbitmq常见面试题有哪些?
以上问题覆盖了RabbitMQ的多个方面,可以帮助面试者全面理解RabbitMQ的特性和应用。在准备面试时,结合实际项目经验和使用案例,能够更好地展示自己的能力和理解。原创 2024-10-29 22:35:03 · 358 阅读 · 0 评论 -
35.Redis常见面试题有哪些?
INCR。原创 2024-10-29 21:36:03 · 456 阅读 · 0 评论 -
34.分布式系统如何设计和调优?
设计和调优分布式系统是一个复杂的任务,涉及多个层面,包括架构设计、数据管理、网络通信、故障处理等。原创 2024-10-29 15:24:54 · 488 阅读 · 0 评论 -
33.JVM如何性能调优?
JVM(Java虚拟机)的性能调优是提升Java应用程序性能的关键步骤。原创 2024-10-29 15:22:55 · 588 阅读 · 0 评论 -
32.常见分布式架构技术组合有哪些?
分布式架构是现代软件系统设计中的一种重要模式,广泛应用于互联网、云计算和微服务等领域。常见的分布式架构技术组合通常涵盖多个层面,包括数据存储、计算、消息传递、服务治理等。原创 2024-10-29 15:22:01 · 830 阅读 · 0 评论 -
# 31.NoSQL常见技术有哪些?
NoSQL(Not Only SQL)是一种非关系型数据库管理系统,主要针对大规模数据存储和处理的需求。它们通常用于处理结构化和非结构化数据。原创 2024-10-29 15:20:09 · 448 阅读 · 0 评论 -
30.MyBatis常见面试题有哪些?
在MyBatis框架的面试中,面试官通常会问一些关于MyBatis的基本概念、配置、使用和性能优化等方面的问题。原创 2024-10-29 15:18:16 · 385 阅读 · 0 评论 -
29.Spring常见面试题有哪些?
在Spring框架的面试中,面试官通常会问一些关于Spring核心、Spring MVC、Spring Boot、Spring Data等方面的问题。原创 2024-10-29 15:17:09 · 563 阅读 · 0 评论 -
28.SpringCloud微服务常见面试题有哪些?
Spring Cloud基于Spring Boot,提供了一系列解决分布式系统常见问题的解决方案,如配置管理、服务发现、负载均衡、熔断机制、分布式追踪等。微服务架构是一种将应用程序划分为多个独立运行的小服务的架构,每个服务都聚焦于特定的业务功能,并通过轻量级的通信机制(通常是HTTP/REST)进行交互。1. 服务熔断(Circuit Breaker)定义:服务熔断是一种防止系统过载、保护整体服务的机制。原创 2024-10-25 01:41:58 · 763 阅读 · 0 评论 -
27.activity7常见面试题有哪些?
以下是一些常见的。原创 2024-10-23 00:37:24 · 1533 阅读 · 0 评论 -
26.SpringSecurity常见面试题有哪些?
Spring Security 是一个强大的框架,用于在 Spring 应用程序中提供身份验证和授权功能。以下是一些常见的 Spring Security 面试题及其回答,涵盖基础、安全机制、常用注解等方面,帮助你更好地准备面试。回答:Authentication(身份验证):验证用户的身份,确保用户提供的凭据(如用户名和密码)是合法的。常见的身份验证方式包括用户名/密码验证、OAuth、JWT 等。Authorization(授权):是在身份验证完成后,根据用户的权限确定其能访问哪些资源或执行哪些操作。例原创 2024-10-23 00:35:13 · 956 阅读 · 0 评论 -
25.JDBC 连接数据库的标准代码?
要手动编写 JDBC 连接数据库的代码,通常步骤包括加载数据库驱动、创建数据库连接、执行 SQL 操作以及处理异常。原创 2024-10-23 00:32:30 · 445 阅读 · 0 评论 -
24.JDK各个版本更新新特性有哪些?
【代码】24.JDK各个版本更新新特性有哪些?原创 2024-10-23 00:27:52 · 743 阅读 · 0 评论 -
23.常见数据结构有哪些?
常见的数据结构可以分为线性和非线性两类,它们在计算机科学中用于组织和存储数据。原创 2024-10-23 00:25:30 · 739 阅读 · 0 评论 -
22.讲一下ArrayList底层实现
ArrayList是一个基于动态数组的集合,它的优势在于随机访问速度快,缺点是插入和删除操作效率较低(尤其是在数组中间进行插入或删除时)。通过自动扩容机制,ArrayList可以动态调整存储空间,但在扩容时需要进行数组复制,可能导致性能损耗。原创 2024-10-23 00:23:52 · 709 阅读 · 0 评论 -
21.讲一下HashMap底层实现
HashMap通过哈希表(数组)、链表、红黑树相结合的方式,实现了高效的键值对存储和查询。通过链表解决哈希冲突,通过红黑树优化长链表的性能,扩容机制确保了HashMap在负载增加时仍保持高效。原创 2024-10-23 00:21:53 · 726 阅读 · 0 评论 -
20.MySQLOracleRedis的基本数据类型有哪些?
整数类型TINYINT:1 字节,范围从 -128 到 127 或 0 到 255(无符号)。SMALLINT:2 字节,范围从 -32,768 到 32,767 或 0 到 65,535(无符号)。MEDIUMINT:3 字节,范围从 -8,388,608 到 8,388,607 或 0 到 16,777,215(无符号)。INT或INTEGER:4 字节,范围从 -2,147,483,648 到 2,147,483,647 或 0 到 4,294,967,295(无符号)。BIGINT。原创 2024-10-23 00:18:42 · 615 阅读 · 0 评论 -
19.常见Linux命令有哪些?
常见的Linux命令有很多,用于文件管理、系统管理、网络管理等。原创 2024-10-23 00:13:31 · 673 阅读 · 0 评论 -
17.常见sql命令哪些?
这些查询语句是关系数据库中最常用的操作命令,能够满足基本的数据查询、插入、更新和删除需求。原创 2024-10-23 00:11:30 · 358 阅读 · 0 评论 -
16.索引常见面试题有哪些?
列经常用于WHEREJOINORDER BYGROUP BY或DISTINCT查询。查询涉及的表数据量较大,且过滤条件或排序条件可以通过索引加速。列经常用于范围查询、唯一性检查或集合查询(IN需要提升外键列的查询性能。数据具有较高的选择性(即列中不同值较多)。原创 2024-10-23 00:07:42 · 749 阅读 · 0 评论 -
15.常见sql优化的策略有哪些?
SQL 优化是一个综合的过程,需要结合具体的业务场景进行调整。通过合理设计数据库结构、选择合适的索引、优化查询语句,可以大大提高数据库的性能。原创 2024-10-23 00:05:31 · 707 阅读 · 0 评论 -
14.写一个生产者消费者问题
生产者-消费者问题是经典的线程间同步问题。下面是一个使用 Java 的 wait()和 notify()方法来解决生产者-消费者问题的例子。这种方式使用一个共享的缓冲区来存放生产者生成的产品,消费者从缓冲区中消费产品。原创 2024-10-23 00:02:54 · 247 阅读 · 0 评论 -
13.写一个线程安全的单例模式
双重检查锁定是一种在需要延迟加载且在每次访问单例时要避免锁开销的场景下适合使用的方式。静态内部类则是更为简洁和推荐的实现方式,利用了 Java 本身的类加载机制,同时确保了线程安全。这两种方法都是线程安全的,并且可以确保单例对象在多线程环境中只被创建一次。原创 2024-10-23 00:01:25 · 361 阅读 · 0 评论 -
12.SpringMVC生命周期是怎样的?
SpringMVC 的生命周期大致可以概括为:客户端发送请求,DispatcherServlet 接收请求,查找 HandlerMapping,调用控制器处理请求,使用 ViewResolver 解析视图,最后返回响应给客户端。原创 2024-10-22 23:59:59 · 1040 阅读 · 0 评论 -
11.连接池常见面试题有哪些?
这些问题涵盖了连接池的基本概念、工作原理、配置、优点、常见实现和最佳实践等方面,是面试中常见的讨论内容。准备这些问题可以帮助你更好地理解和应对面试中的相关话题。原创 2024-10-22 23:58:03 · 376 阅读 · 0 评论 -
10.线程池常见面试题有哪些?
线程池是并发编程中的重要概念,常常在面试中被问及。准备这些问题及其答案,可以帮助你在面试中更好地应对关于线程池的提问。原创 2024-10-22 23:55:36 · 403 阅读 · 0 评论 -
9.线程生命周期是怎样的?
线程的生命周期通常包括以下几个阶段:新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)、等待(Waiting)、超时等待(Timed Waiting)和终止(Terminated)。线程在生命周期中可以在这些状态之间转换,具体的转换取决于线程的操作和调度器的行为。了解线程的生命周期有助于开发者更好地管理多线程程序,避免常见的并发问题如死锁、资源竞争等。原创 2024-10-22 23:52:10 · 217 阅读 · 0 评论 -
8.常见GC算法有哪些?
常见GC算法有哪些?1. 标记-清除(Mark-and-Sweep)原理:分为两个阶段,标记和清除。首先遍历所有活动对象,标记它们。然后遍历堆,清除未被标记的对象。优点:实现简单,容易理解。可以回收不连续的内存。缺点:可能导致内存碎片。整个GC过程需要暂停应用程序。2. 标记-整理(Mark-and-Compact)原理:与标记-清除类似,首先标记活对象,然后将这些活对象移动到堆的一端,最后清理未使用的内存。优点:避免了内存碎片,因为所有活对象都在一起。缺点原创 2024-10-22 23:49:30 · 200 阅读 · 0 评论 -
7.JVM新生代老年代持久代都存储哪些东西?
老年代用于存放生命周期较长的对象。经过多次垃圾回收后,仍然存活的对象会被移动到老年代。这是因为老年代的垃圾回收频率较低,因此适合存放长期存活的对象。持久代是用来存储 JVM 的元数据和类信息的区域,包括类的结构信息、常量池、方法信息等。在 JDK 8 之前,持久代是一个固定大小的区域。新生代是 JVM 中用于存放新创建对象的内存区域。从 JDK 8 开始,持久代被替换为元空间。元空间并不在堆内存中,而是使用本地。原创 2024-10-22 23:47:38 · 348 阅读 · 0 评论 -
6.二分法查找
【代码】6.二分法查找。原创 2024-10-22 23:24:27 · 212 阅读 · 0 评论 -
5.快速排序
【代码】5.快速排序。原创 2024-10-22 23:14:01 · 924 阅读 · 0 评论 -
4.冒泡排序
【代码】4.冒泡排序。原创 2024-10-22 21:42:08 · 139 阅读 · 0 评论 -
3.JVM 的内存主要分为哪五个区域?
Xms-Xmx。原创 2024-10-22 19:24:18 · 188 阅读 · 0 评论 -
2.内存溢出内存泄漏Redis缓存击穿穿透雪崩
内存溢出:程序申请内存时,没有足够内存,out of memory举例:循环创建大量对象没有释放内存泄漏:对象不再使用,但仍然被引用,垃圾对象无法回收 ,可以使用memory analyzer工具查看泄漏举例:使用静态集合来保存对象引用Redis缓存击穿指的是当一个非常热门的key过期后,同时有大量的并发请求过来,此时会导致缓存没有起到作用,请求都会穿透到数据库层,从而导致数据库压力骤增,严重影响系统性能解决方案:1.设置热点数据永远不过期,但需要定期更新数据2.加互斥锁,多个请求同时只能有一个请原创 2024-10-22 19:13:04 · 400 阅读 · 0 评论
分享