面试阿里被“吊打”,一问Spring三不知,半年后二战终拿下offer
程序员文章站
2024-01-17 10:12:31
Spring框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。 近两年来,许多大厂在面试中都会频繁问到Spring相关,记得第一次去阿里面试时,可以说是惨遭“虐待”,被面试官逼问得哑口无 ......
spring框架是一个为java应用程序的开发提供了综合、广泛的基础性支持的java平台。spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。
近两年来,许多大厂在面试中都会频繁问到spring相关,记得第一次去阿里面试时,可以说是惨遭“虐待”,被面试官逼问得哑口无言,尤其是spring部分,基本上是一问三不知,也怪自己没有做好准备,所以才交了白卷。
离上次面试阿里失败之后,回去狠狠复习了一波,这次离上次的面试已经过去半年了,如今已经成功拿下阿里offer,即将入职。特献上自己的面经,但提示一下,仅供参考哦!
福利:下面内容涉及到了阿里的面试真题(含答案),以及我自己珍藏的spring相关的训练题集,另外还有整理出来的spring学习文档和学习笔记,包括一些实战书籍,需要打包带走这些资料的,加微信马上打包带走
初面阿里,一问spring三不知
- 自我介绍
- 讲一件你印象最深刻的事没事怎么解决的?
- java垃圾回收机制怎么工作的?
- aop是怎么实现的?
- tcp/udp的区别是什么?
- map讲一下你对map的认识,然后谈一下hsahmap的性能,主要谈一下哈希冲撞
- 创造线程的几种方式,thread和runnable接口有什么区别?
- 说一下你做的聊天工具,如果遇到服务突然卡顿,怎么解决?
- 讲一下你对于spring框架的了解
- 在spring框架中如何更有效地使用jdbc?
- 你可以在spring中注入一个null 和一个空字符串吗?
- 什么是spring mvc?
- mysql数据库,索引是怎么使用的。
- 你对分布式是否有所了解
- 你对数据结构了解么
- 浅析hashmap与concurrenthashmap的线程安全性
- 堆排序,快速排序
- 数据库的四大特征,数据库的隔离级别,
- 线程同步机制用的什么?当初为什么选择这个机制?
- 互斥和条件变量区别?互斥是阻塞的吗?当初为什么选择阻塞的机制?
- jvm有哪三种垃圾回收器?
- 吞吐量优先选择什么垃圾回收器?响应时间优先呢?
- 如何进行jvm调优?有哪些方法?
- 如何理解内存泄漏问题?有哪些情况会导致内存泄露?如何解决?
- 从分布式系统部署角度考虑,分哪几层?
- 如何解决业务层的数据访问问题?
- 为了解决数据库服务器的负担,如何做数据库的分布?
这些资料加微信马上打包带走
我的spring 题库
spring 概述:
- 什么是 spring?
- 使用spring 框架的好处是什么?
- 使用spring 框架的好处是什么?
- 核心容器(应用上下文) 模块
- beanfactory – beanfactory 实现举例
- xmlbeanfactory
- 解释aop模块
- 解释jdbc抽象和dao模块
- 解释对象/关系映射集成模块
- 解释web 模块
- spring配置文件
- 什么是spring ioc 容器?
- ioc的优点是什么?
- applicationcontext通常的实现是什么?
- bean 工厂和 application contexts 有什么区别?
- 一个spring的应用看起来象什么?
依赖注入:
- 什么是spring的依赖注入?
- 有哪些不同类型的ioc(依赖注入)方式?
- 哪种依赖注入方式你建议使用,构造器注入,还是 setter方法注入?
spring beans:
- 什么是spring beans?
- 一个 spring bean 定义 包含什么?
- 如何给spring 容器提供配置元数据?
- 你怎样定义类的作用域?
- 解释spring支持的几种bean的作用域
- spring框架中的单例bean是线程安全的吗?
- 解释spring框架中bean的生命周期
一张图搞懂spring bean的完整生命周期:
- 哪些是重要的bean生命周期方法? 你能重载它们吗?
- 什么是spring的内部bean?
- 在 spring中如何注入一个java集合?
- 什么是bean 装配?
- 什么是bean 的自动装配?
- 解释不同方式的自动装配
- 自动装配有哪些局限性?
- 你可以在spring中注入一个null 和一个空字符串吗?
spring注解:
- 什么是基于java的spring注解配置?给一些注解的例子
- 什么是基于注解的容器配置?
- 怎样开启注解装配?
- @required 注解
- @autowired 注解
- @qualifier 注解
spring数据访问:
- 在spring框架中如何更有效地使用jdbc?
- jdbctemplate
- spring对dao的支持
- 使用spring通过什么方式访问hibernate?
- spring支持的orm
- 如何通过hibernatedaosupport将spring和hibernate结合起来?
- spring支持的事务管理类型
- spring框架的事务管理有哪些优点?
- 你更倾向用那种事务管理类型?
spring面向切面编程(aop):
- 解释aop
- aspect 切面
- 在spring aop 中,关注点和横切关注的区别是什么?
- 连接点
- 通知
- 切点
- 什么是引入?
- 什么是目标对象?
- 什么是代理?
- 有几种不同类型的自动代理?
- 什么是织入。什么是织入应用的不同点?
- 解释基于xml schema方式的切面实现
- 解释基于注解的切面实现
spring 的 mvc:
- 什么是spring的mvc框架?
- dispatcherservlet
- webapplicationcontext
- 什么是spring mvc框架的控制器?
- @controller 注解
- @requestmapping 注解
spring 题库答案
spring 学习文档及笔记
spring 编程:
- 第1章 spring介绍
- 第2章 入门
- 第3章 在spring中引入ioc和di
- 第4章 详述spring配置和spring boot
- 第5章 spring aop
- 第6章 spring jdbc支持
- 第7章 在spring中使用hibernate
- 第8章 在spring中使用jpa 2进行数数据访问
- 第9章 事务管理
- 第10章 使用类型转换和格式化进行验证
- 第11章 任务调度
- 第12章 使用spring远程处理
- 第13章 spring测试
- 第14章 spring中的脚本支持
- 第15章 应用程序监控
- 第16章 web应用程序
springboot 核心笔记:
- 一、spring boot入门
- 二、配置文件;
- 三、日志
- 四、web开发
- 五、docker
- 六springboot与数据访问
- 七、启动配置原理
- 八、自定义starter
spring boot 实战:
- 第1章 入门
- 第2章 开发第一个应用程序
- 第3章 自定义配置
- 第4章 测试
- 第5章 groovy与spring boot cli
- 第6章 在spring boot中使用grails
- 第7章 深入actuator
- 第8章 部署spring boot应用程序
- 附录a spring boot开发者工具
- 附录b spring boot起步依赖
- 附录c 配置属性
- 附录d spring boot依赖