顺便写的Java后端结构化面试题
顺便写的Java后端结构化面试题
零、自我介绍
一、专业知识(40)
Spring Boot(10分)
1.Spring Boot有哪些常用注解?(2分)
2.如何处理全局异常?(使用@ControllerAdvice和@ExceptionHandler)(2分)
3.自动装配的实现原理是什么?有没有写过Spring Boot Starter?(4分)
4.Spring Boot 3有哪些新特性和改变?(2分)
Linux基础(5分)
1.如何使用命令来更改文件的权限?(2分)
1.如何从后面5行开始查看服务日志?(3分)
Java基础(10分)
1.HashMap的工作原理及实现方式,如何解决哈希冲突?(5分)
2.接口和抽象类的区别及使用场景。(5分)
前端基础(5分)
1.this有哪些使用方式?对象方法、构造函数、箭头函数,call、apply和bind方法(2分)
2.ref和reactive实现原理及使用方式?基本/复杂;ref创建.value/reactive依赖Proxy(3分)
并发与同步(10分)
1.是否有遇到过死锁问题,如何解决死锁问题?(5分)
2.Java实现多线程的四种方式是什么?(5分)
二、项目经验(40分)
项目介绍与挑战(5分)
1.最近参与的后端项目背景、角色、功能模块及遇到的问题和解决方案。(5分)
性能优化与重构(5分)
1.是否有过系统性能优化或重构的经历?采取了哪些措施?效果如何?(5分)
需求分析与设计(15分)
1.开发功能、模块或接口时的需求分析和系统设计过程(如:ER模型)。(10分)
2.项目中用到搜索引擎/秒杀场景的实现方式和算法(如限流算法令牌桶)。(5分)
数据库与优化(10分)
1.项目中有使用到数据库,对MySQL/Oracle数据库索引的理解及查询优化方法。(10分)
设计模式与代码质量(5分)
1.用过哪些设计模式?(2分)
2.如何保证代码质量?(3分)
新技术与应用(加分项,最多5分,计入总分但不超过40分上限)
1.对AI大模型、云原生、容器的了解及应用场景。(根据回答情况给分,最多3分)
2.对OAuth 2.0的了解。(2分,若与上述内容有重叠,则不重复给分)
三、开放性问题(20分)
新技术学习(5分)
1.最近学习了哪些新技术或工具?学习体会如何?(5分)
职业规划(5分)
1.对自己的职业规划是什么?希望达到的职业目标?(5分)
素质与能力(5分)
1.认为优秀的Java后端开发工程师应具备哪些素质和能力?(5分)
提问环节(5分)
1.有什么需要问我们的吗?(5分)
AI简历筛选分析
硬性要求如下:
1、工作经历至少一家工作必须两年以上
2、工作经历平均每家工作必须至少一年以上
3、工作经历工作时间必须3-8年
4、有专科学历时本科必须211、双一流及以上,否则学历必须本科及以上
5、项目经验必须能独立完成设计开发一个模块
6、必须包含一样新技术栈
6、技术栈的广度必须覆盖后端开发和其他任意一项
其他说明
1、新技术栈只包含主流技术:jdk17、jdk21、springboot3、vue3、ai、大模型、uniapp,从项目经历中提取(30)
2、技术栈的广度只包含可以做物联网、前端、后端、容器、Linux、小程序,从项目经历中提取(25)
3、技术栈的深度包含了解主流框架源码、数据库索引优化、中间件的原理,体现架构设计,从项目经历中提取(20)
4、对工具使用包含(git、idea、maven等等),从项目经历中提取(10)
5、代码质量高的维度包含(设计模式、代码检查、格式化等等),从项目经历中提取(10)
5、包含独立完成或含独立完成相近的词汇,从项目经历中提取(5)
结合上面的硬性要求和说明,从学历(回答需要明确指出学校)、工作经历(回答需要明确指出几段经历和工作年限)、项目经验、技术栈的深度和广度(回答需要明确指出符合哪些深度和广度)、是否使用或学习新技术栈(回答需要明确指出学习或用了哪些技术栈)等方面,分析下面的简历,根据权重给出分数(不需要理由),判断是否适合独立做项目系统模块的设计和开发(给出理由),以及对工具使用是否熟悉(回答需要明确指出哪些工具)和代码质量是否高(回答需要明确指出哪些方面),100字以内,姓名在最前面。下面是简历内容:
浙公网安备 33010602011771号