1.如何遍历map
1:foreach遍历keySet()/entrySet()返回的Set<>
2.keySet()/entrySet()返回的Set<>调用intetator()
while(intetator.hasNext()){ key/entry = intetator.next}
2.spring aop
面向切面编程,对面向对象的一种补充,通过动态代理的方式为目标类创建代理对象进行功能拓展.
1.JDK动态代理 实现 InvocationHandler 接口 通过invoke()方法反射来调用目标类中的代码,动态地将横切逻辑和业务编织在一起, Proxy利用 InvocationHandler动态创建接口实例生成目标类代理对象
2.CGLIB 没有实现InvocationHandler 接口 ,一个代码生成的类库通过继承的方式做的动态代理,目标类不能被final修饰
3.autowired和resource注解的区别
1. @Resource,@Autowired,均可标注在字段或属性的setter方法上。都是用来装配bean
2. @Autowired只按照byType 注入 + @Qualifier 按名称注入(若允许依赖对象不存在,可设:@Autowired(required = false) 。)
@Resource(name=" ")默认按byName自动注入(@Resource(type=""))
3.@Resource是Java自己的注解 @Autowired是spring的注解
4.文件上传
MultipartFile uploadFile
1.获取当前时间的一个目录(按时间创建-yyyy/MM/dd)
2.构建目录文件对象
3.获取原文件后缀
4.构建新的文件名 uuid
5.构建新的文件对象,指向实际上传的文件最终地址
6.上传文件(向指定服务位置写文件数据) uploadFile .transferTo(file)
5. 数据库显示成绩前五名的学生
6. mybatis的动态标签
7. 对Redis的了解,如果用过,再项目中具体是怎么样的
8. jvm
9. 回收的机制
10. hibernate二级缓存
11. 项目中遇到的困难
12. @RequestBody的作用



