面试题
1) Spring 注入有哪几种方式?
2) 多数据源是如何实现的?
3) 如果一个系统需要优化,你会从哪几方面去着手优化?
4) AOP 的原理描述一下?
AOP 能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任(例如事务处理、日志管理、权限控制等)封装起来,便于减少系统的重复代码,降低模块间的耦合度,并利于未来的可拓展性和可维护性
Spring AOP 就是基于动态代理的。如果要代理的对象,实现了某个接口,那么Spring AOP 会使用JDK Proxy ,去创建代理对象,对于没有实现接口的对象,就无法用 JDK Proxy 去进行代理了,这时候Spring AOP 会使用 Cglib
生成一个被代理对象的子类来作为代理。也可以使用 AspectJ。
使用 AOp 之后我们可以把一些通用的功能抽象出来,在需要用到的地方直接使用即可,大大简化了代码量。。我们需要增加新功能时也方便,这样也提高了系统扩展性。
5) 几张大表在一起需要联合查询,如何进行查询优化?
作者:panie
出处:http://www.cnblogs.com/panie2015/
如果您希望与我交流互动,欢迎加我微信
本文内容为作者辛苦整理书写,欢迎转载,但请保留文章出处
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?