版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年Java开发面试题及答案一、选择题(共5题,每题2分)1.Java内存模型(JMM)中,描述不正确的是?A.JMM定义了主内存和工作内存的交互规则B.volatile关键字可以保证变量的可见性和有序性C.synchronized和Lock都可以实现线程安全,但后者性能更高D.JIT编译器会自动将局部变量存入主内存2.SpringBoot中,如何配置多个数据源?A.使用`@Configuration`注解配置多个`DataSource`BeanB.默认只能配置一个数据源,不支持多数据源C.需要引入MyBatis-Plus插件才能支持多数据源D.使用`@EnableTransactionManagement`自动配置多数据源3.Java8新特性中,哪个方法用于收集流式处理的结果?A.`forEach()`B.`collect()`C.`reduce()`D.`sum()`4.微服务架构中,Eureka和Consul的区别在于?A.Eureka是Netflix出品,Consul是HashiCorp出品B.Eureka支持多数据中心,Consul不支持C.Consul提供更完善的健康检查机制D.Eureka适合高并发场景,Consul适合轻量级应用5.MySQL索引类型中,最适用于全表扫描的是?A.主键索引B.聚集索引C.哈希索引D.全文索引二、简答题(共5题,每题4分)6.简述Spring事务的传播行为和隔离级别。(要求:分别解释事务传播的7种行为,并列出4种隔离级别及其适用场景)7.解释Java中的线程池原理,并说明如何优化线程池性能。(要求:说明核心线程数、最大线程数、空闲线程存活时间的作用)8.SpringCloudGateway与Nginx在微服务网关方面的区别是什么?(要求:从动态路由、协议支持、可观测性等方面对比)9.什么是Java中的AOP编程?如何实现日志记录功能?(要求:解释AOP的四大要素,并提供一个日志切面的示例代码)10.解释JWT(JSONWebToken)的工作原理及其优缺点。(要求:说明JWT的组成部分,并分析其在分布式系统中的应用场景)三、代码题(共5题,每题6分)11.编写Java代码,实现一个线程安全的计数器,要求支持原子操作。(要求:使用`synchronized`和`AtomicInteger`两种方式实现)12.使用Java8StreamAPI,将一个列表的每个字符串首字母大写,并返回新列表。(要求:提供完整代码,并说明优化点)13.编写SpringBoot代码,实现一个RESTfulAPI,用于创建和查询用户信息。(要求:使用`@RestController`和`@PostMapping`,并添加异常处理)14.使用MyBatisPlus编写SQL语句,查询某个部门下工资最高的员工信息。(要求:使用`SELECT`语句和`GROUPBY`,并说明索引优化方案)15.编写Kafka生产者代码,实现异步发送消息到指定主题。(要求:使用`send()`方法的异步模式,并处理发送失败的情况)四、设计题(共3题,每题10分)16.设计一个高并发的秒杀系统,需要考虑哪些关键点?(要求:说明限流、分布式锁、数据库优化等方案)17.设计一个分布式配置中心,如何保证配置的实时性和一致性?(要求:对比SpringCloudConfig和Nacos的方案,并说明适用场景)18.设计一个电商平台的订单系统,如何保证订单状态的正确性?(要求:说明事务、消息队列、状态机的设计思路)五、综合题(共2题,每题15分)19.结合SpringCloudAlibaba,设计一个分布式事务解决方案。(要求:说明Seata的TC架构,并对比本地事务和分布式事务的适用场景)20.分析一个高并发秒杀系统的性能瓶颈,并提出优化方案。(要求:从数据库、缓存、消息队列等方面提出至少3个优化措施)答案及解析一、选择题答案及解析1.D解析:局部变量存储在工作内存中,不会自动存入主内存,需要显式使用`volatile`或`synchronized`。-A正确:JMM定义了主内存和工作内存的交互规则。-B正确:`volatile`保证可见性和有序性。-C正确:Lock比`synchronized`更灵活,性能可能更高。-D错误:局部变量不会自动存入主内存。2.A解析:SpringBoot支持多数据源配置,通过`@Configuration`自定义`DataSource`Bean。-B错误:默认支持单数据源,但可扩展。-C错误:MyBatis-Plus只是ORM框架,与多数据源无关。-D错误:`@EnableTransactionManagement`是事务管理配置,与数据源无关。3.B解析:`collect()`用于收集流式处理的结果,其他选项仅用于操作或聚合。-A错误:`forEach()`用于遍历,不收集结果。-C错误:`reduce()`用于聚合,但`collect()`更通用。-D错误:`sum()`仅用于数值累加。4.C解析:Consul的健康检查机制更完善,支持脚本检查。-A正确:出品公司不同,但无关性能。-B错误:两者都支持多数据中心。-C正确:Consul支持更灵活的健康检查。-D错误:两者性能取决于配置,非固定差异。5.B解析:聚集索引按主键排序,最适用于全表扫描。-A错误:主键索引是聚集索引的一种。-B正确:聚集索引存储数据行,全表扫描效率最高。-C错误:哈希索引不支持范围查询。-D错误:全文索引用于文本搜索,非全表扫描。二、简答题答案及解析6.Spring事务传播行为和隔离级别-事务传播行为(7种):-`REQUIRED`:如果当前有事务,加入该事务;如果没有事务,新建事务。-`REQUIRES_NEW`:新建事务,如果当前有事务,挂起当前事务。-`SUPPORTS`:如果当前有事务,加入该事务;如果没有事务,以非事务方式执行。-`MANDATORY`:必须在新事务中执行;如果当前有事务,加入该事务。-`NOT_SUPPORTED`:以非事务方式执行;如果当前有事务,挂起当前事务。-`NEVER`:以非事务方式执行;如果当前有事务,抛出异常。-`NATIVE`:以本地事务方式执行;如果当前有事务,加入该事务。-隔离级别(4种):-`READ_UNCOMMITTED`:允许脏读、不可重复读、幻读(最低级别)。-`READ_COMMITTED`:允许不可重复读、幻读(数据库默认)。-`REPEATABLE_READ`:允许幻读(InnoDB默认)。-`SERIALIZABLE`:完全隔离,防止所有并发问题(最高级别,性能最低)。7.线程池原理及优化-原理:-核心线程数:保持存活的最小线程数,即使空闲也会存活。-最大线程数:池中最大线程数,超出会排队或拒绝。-空闲存活时间:线程空闲后存活时间,超时会被回收。-阻塞队列:存储等待执行的任务。-优化:-根据CPU密集型或IO密集型调整线程数。-使用合适的阻塞队列(如`LinkedBlockingQueue`)。-避免过大的线程池,防止内存溢出。8.SpringCloudGateway与Nginx对比-动态路由:Gateway支持动态路由,Nginx需手动修改配置。-协议支持:Gateway支持HTTP/2、WebSocket,Nginx较旧。-可观测性:Gateway提供SpringBootActuator支持,Nginx需额外配置。-网关功能:Gateway支持断路器、重试等微服务特性,Nginx仅路由。9.AOP编程及日志示例-AOP要素:-连接点(JoinPoint):方法执行点。-切入点(Pointcut):匹配连接点的表达式。-通知(Advice):切点执行时的增强逻辑(如日志、事务)。-织入(Weaving):将通知应用到切点。-日志切面示例(SpringAOP):java@Aspect@ComponentpublicclassLoggingAspect{@Before("execution(com.example.service..(..))")publicvoidlogBefore(JoinPointjoinPoint){System.out.println("方法:"+joinPoint.getSignature().getName());}}10.JWT原理及优缺点-原理:-Header:算法类型(HS256)、内容类型(JWT)。-Payload:用户信息(sub)、过期时间(exp)、发行者(iss)。-Signature:Header+Payload+密钥,用于验证。-优点:-无状态,适合分布式系统。-自包含,无需数据库查询。-缺点:-不适合敏感信息存储(可能被解密)。-过期时间有限,需频繁刷新。三、代码题答案及解析11.线程安全计数器-synchronized版:javapublicclassSyncCounter{privateintcount=0;publicsynchronizedvoidincrement(){count++;}publicsynchronizedintgetCount(){returncount;}}-AtomicInteger版:javaimportjava.util.concurrent.atomic.AtomicInteger;publicclassAtomicCounter{privateAtomicIntegercount=newAtomicInteger(0);publicvoidincrement(){count.incrementAndGet();}publicintgetCount(){returncount.get();}}12.StreamAPI首字母大写javaList<String>list=Arrays.asList("java","spring","kafka");List<String>upper=list.stream().map(s->Character.toUpperCase(s.charAt(0))+s.substring(1)).collect(Collectors.toList());//输出:[Java,Spring,Kafka]13.RESTfulAPI示例java@RestController@RequestMapping("/users")publicclassUserController{@PostMappingpublicResponseEntity<User>createUser(@RequestBodyUseruser){//保存用户逻辑returnResponseEntity.ok(user);}@GetMapping("/{id}")publicResponseEntity<User>getUser(@PathVariableLongid){//查询用户逻辑returnResponseEntity.ok(newUser());}}14.MyBatisPlus查询工资最高员工sqlSELECTFROMemployeeeWHEREe.salary=(SELECTMAX(salary)FROMemployeeWHEREdepartment_id=#{departmentId})15.Kafka异步发送消息javaPropertiesprops=newProperties();props.put("bootstrap.servers","localhost:9092");props.put("key.serializer","StringSerializer");props.put("value.serializer","StringSerializer");KafkaProducer<String,String>producer=newKafkaProducer<>(props);producer.send(newProducerRecord<>("topic","key","value"),newCallback(){@OverridepublicvoidonCompletion(recordMetadata,e){if(e!=null){e.printStackTrace();}}});四、设计题答案及解析16.秒杀系统设计-关键点:-限流:熔断器(Hystrix/Sentinel)、令牌桶算法。-分布式锁:Redisson/Lock,防止超卖。-数据库优化:乐观锁/悲观锁,隔离级别`SERIAL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建厦门市集美区宁宝幼儿园非在编厨房人员招聘1人考试核心试题及答案解析
- 2025东风汽车集团股份有限公司营销管理部招聘6人考试核心试题及答案解析
- 2025广东珠海市育德学校招聘教师5人(第二轮)笔试重点题库及答案解析
- 淮安市洪泽区中医院2025年公开招聘合同制专业技术人员备考题库(第二批)及完整答案详解1套
- 2025广东肇庆市德庆县教育局所属公办幼儿园招聘教师13人考试重点试题及答案解析
- 2025年儿童安全教育隐私保护教育报告
- 2026四川广元市朝天区就业服务中心第一批城镇公益性岗位安置6人参考考试题库及答案解析
- 2025年福建医科大学孟超肝胆医院人员控制数公开招聘工作人员第二批备考题库及参考答案详解
- 2025江苏徐州市亚东中等职业学校招聘2人笔试重点试题及答案解析
- 农产品初加工2025年技术突破:包装工艺设计行业报告
- 2025年江苏省镇江市辅警协警笔试笔试真题(附答案)
- 学堂在线 雨课堂 学堂云 医学英语词汇进阶 期末考试答案
- 工程力学(本)2024国开机考答案
- 陶棍陶板考察报告
- q gw2sjss.65金风风力发电机组防腐技术rna部分归档版
- 陕西北元化工集团有限公司 100 万吨 - 年聚氯乙烯项目竣工验收监测报告
- 向知识分子介绍佛教剖析
- GB/T 19978-2005土工布及其有关产品刺破强力的测定
- 2023年自考试题公安管理学试卷及答案
- 水利工程检测参数及取样频率8
- 西方政治思想史-课件
评论
0/150
提交评论