【无标题】

JDBC连接数据库的基本步骤?

注册驱动(可省略);建立连接(Connection);创建语句对象(Statement/PreparedStatement);执行SQL;处理结果集(ResultSet);关闭资源。

PreparedStatement比Statement好在哪里?

防止SQL注入;预编译提高效率;类型安全,避免字符串拼接错误。

数据库连接池的作用是什么?

复用连接,减少创建和关闭连接的开销,提高性能,便于统一管理。

事务的ACID特性是什么?

原子性(Atomicity):要么全做,要么全不做;一致性(Consistency):数据状态前后一致;隔离性(Isolation):事务间互不干扰;持久性(Durability):提交后永久生效。

事务的隔离级别有哪些?

读未提交(可能脏读);读已提交(解决脏读);可重复读(解决不可重复读);串行化(解决幻读,性能最低)。

Spring框架核心面试题

Spring框架的核心是什么?

IoC(控制反转)和AOP(面向切面编程)。IoC将对象创建和依赖关系的控制权交给容器。

Bean的生命周期是怎样的?

实例化→属性填充→Aware接口回调→初始化前(@PostConstruct)→初始化(InitializingBean)→初始化后(AOP代理)→使用中→销毁。

Spring Bean的作用域有哪些?

单例(singleton,默认)、原型(prototype)、请求(request)、会话(session)、应用(application)。

Spring AOP有哪些核心概念?

切面(Aspect)、连接点(JoinPoint)、通知(Advice)、切点(Pointcut)、引入(Introduction)、织入(Weaving)。

Spring MVC的工作流程是怎样的?

  1. 用户发送请求至前端控制器(DispatcherServlet)。

  2. 控制器调用处理器映射器(HandlerMapping)找到处理器(Handler)。

  3. 通过处理器适配器(HandlerAdapter)执行处理器,返回ModelAndView。

  4. 视图解析器(ViewResolver)解析视图,渲染后响应。

设计模式高频面试题

单例模式的实现方式有哪些?

饿汉式(线程安全,类加载时创建);懒汉式(双重检查锁/DCL);静态内部类(推荐,线程安全且懒加载);枚举(最安全,防反射攻击)。

工厂模式和抽象工厂模式的区别?

工厂模式针对一个产品等级结构(如生成一种电脑);抽象工厂模式针对多个产品族(如生成电脑和手机一套产品)。

Spring中用了哪些设计模式?

工厂模式(BeanFactory)、单例模式(Bean默认单例)、代理模式(AOP)、模板方法模式(JdbcTemplate)、观察者模式(事件监听)。

代理模式分为哪几种?

静态代理(手动编写代理类);动态代理(运行时生成,JDK基于接口,CGLIB基于子类)。

观察者模式的使用场景?

定义对象间的一对多依赖,当一个对象状态改变时,所有依赖它的对象都会得到通知并自动更新,如Spring的事件监听机制。

相关推荐
晴殇i1 天前
🚀 Remote Deploy Helper|VSCode 部署助手
visual studio code
慢功夫15 天前
💡第七篇:VSCode语言服务中,代码跳转和诊断是怎么做的?
前端·visual studio code
yiyesushu16 天前
GitHub Copilot 在 vscode 中使用之 Prompt
人工智能·visual studio code
程序员Supers18 天前
VSCode 好用插件推荐
visual studio code
慢功夫19 天前
💡第五篇:VSCode插件是如何与主进程通信的?
前端·visual studio code
凉凉的知识库19 天前
用 GPT-5.6 SOL 写了个 VS Code 插件,效果出乎意料
api·测试·visual studio code
土土哥tutuge21 天前
开源项目 Claude Code Notifier Plus:让 Claude Code 真正需要你时再提醒你
ai编程·visual studio code
慢功夫22 天前
💡第四篇:编辑器内核, Monaco model、URI、dirty 状态和 tabs 是怎么协作的?
前端·visual studio code
annekqiu23 天前
VS code 部署agent
github·visual studio code
RequieMa23 天前
再见了,所有的 VS Code 预览窗
visual studio code