JAVA面试必备:核心知识点与题目解析

版权申诉
0 下载量 129 浏览量 更新于2024-08-12 收藏 12KB DOCX 举报
"这是一份JAVA面试题集,涵盖了多种技术领域,包括Redis、Spring、MQ、线程、异常处理、Servlet、集合框架、Spring Boot、数据结构与算法等,旨在帮助面试者准备面试并提升技能。" 1. Redis 数据类型:Redis 支持五种基本数据类型,包括 String(字符串)、List(列表)、Set(集合)、Hash(哈希)和 Sorted Set(有序集合)。面试中可能需要了解每种类型的特性和应用场景。 2. Redis 过期键删除策略:Redis 提供了三种过期策略,包括定时删除、惰性删除和定期删除,用于平衡内存使用和删除效率。 3. IOC(依赖注入)方式:依赖注入可以通过构造器注入、setter 方法注入和接口注入实现,用于降低组件之间的耦合度。 4. Spring 切面应用通知类型:Spring AOP 中的通知类型包括前置通知、后置通知、返回通知、异常通知和环绕通知,它们分别在方法执行前、后、返回、抛出异常时以及包围方法调用时触发。 5. MQ 数据不丢失的方式:常见的保证消息队列数据不丢失的方法包括确认机制、事务消息、持久化消息和死信队列等。 6. SpringCloud 核心组件:SpringCloud 包括 Eureka(服务发现)、Zuul 或 Gateway(API 网关)、Hystrix(断路器)、Feign(声明式客户端)等核心组件。 7. Java 数组初始化:Java 中数组可以使用 new 关键字或直接赋值进行初始化。 8. String 类描述:String 类在 Java 中是不可变的,一旦创建就不能改变。 9. 线程生命周期状态:线程经历新生、可运行、运行、等待、阻塞和死亡等状态。 10. 检查型异常:在 Java 中,如 IOException 和 SQLException 是检查型异常,需要在编译时显式处理。 11. 正确的异常声明:在方法签名中使用 throws 关键字声明异常。 12. Servlet 生命周期:Servlet 由 Servlet 接口定义,包括 init、service、destroy 方法。 13. ArrayList 底层结构:ArrayList 实现了 List 接口,其底层基于动态数组。 14. Spring Bean 作用域:Spring 提供了单例、原型、会话和请求等多种作用域,但不包括全局作用域。 15. 构造方法:构造方法是在创建对象时自动调用的特殊方法,用于初始化对象。 16. 继承特性:Java 中的继承允许子类继承父类的属性和方法,实现代码复用。 17. RabbitMQ 模式:RabbitMQ 支持四种消息模式,包括 Direct、Fanout、Topic 和 Header。 18. SpringBoot 核心注解:@SpringBootApplication 是 SpringBoot 的核心注解,包含 @SpringBootConfiguration、@EnableAutoConfiguration 和 @ComponentScan。 19. SpringBoot 加载配置文件方式:SpringBoot 可以通过 application.properties 或 YAML 文件,环境变量,命令行参数等方式加载配置。 20. SpringBoot 运行方式:可以通过命令行、IDE 内置插件或者打包成 jar 文件运行。 21. 运算符优先级:运算符的优先级决定了表达式的计算顺序,例如乘法和除法优先于加法和减法。 22. 插入排序:插入排序是一种简单直观的排序算法,经过两趟排序后,部分有序序列可能会形成。 23. 流对象创建:Java 中可以使用 FileInputStream、OutputStream 等类创建流对象。 24. HashMap 描述:HashMap 是非同步的键值对容器,支持快速查找,平均时间复杂度为 O(1)。 25. 锁机制:非公平锁、可重入锁、读写锁等是线程安全的,而简单的 synchronized 关键字并不保证线程安全。 26. 对称加密算法:DES、3DES、AES 等是对称加密算法,用于数据的加密和解密。 27. Gateway 网关概念:Spring Cloud Gateway 是 Spring Cloud 的一个组件,作为微服务的 API 网关,提供路由、过滤器等功能。 以上知识点覆盖了 Java 面试中的多个关键领域,是准备面试的重要参考资料。