这份资料包含了1000多道针对互联网Java架构师职位的面试题以及全面总结的核心知识点,旨在帮助开发者深入理解并掌握Java核心技术。
书籍1:互联网 Java 工程师面试题
本书内容涵盖了Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka以及Linux等技术栈。
**一. Mybatis 面试题**
1. 什么是 Mybatis?
2. Mybaits 的优点是什么?
3. 描述MyBatis框架的缺点。
4. 讨论MyBatis适用的具体场合。
5. 分析MyBatis与Hibernate之间的区别。
6. 解释#{}和${}的区别。
7. 当实体类中的属性名不一致于表中的字段名时,应如何处理?
8. 如何编写模糊查询的like语句?
9. 请解释一个XML映射文件是如何对应到Dao接口上的?并且当参数不一样时,方法是否可以重载?
10. Mybatis是如何进行分页操作的?对于插件而言其原理是什么样的?
11. 描述Mybatis如何将SQL执行结果封装为目标对象并返回。有哪些映射形式呢?
12. 如何实现批量插入功能?
13. 请说明在何种情况下可以获取自动生成的键值。
14. 在Mapper中,当需要传递多个参数时应该如何操作?
15. 动态SQL的作用是什么?其执行原理如何描述?有哪些具体的动态SQL类型?
16. XML映射文件除了常见的select|insert|update|delete标签之外还有哪些其他类型的标签?
18. 为什么说Mybatis是半自动ORM映射工具,它的全自动版本的区别在哪里?
19. 如何实现一对一和一对多的关联查询?
20. MyBatis 实现一对一有几种方式?具体操作方法是什么样的?
21. MyBatis 实现一对多有哪些方式?具体如何进行操作?
22. 请讨论Mybatis是否支持延迟加载以及其实现原理。
23. 描述Mybatis的一级缓存和二级缓存的概念及其区别。
24. 解释什么是MyBatis的接口绑定,其存在哪些实现形式?
25. 当使用Mapper接口调用时有哪些具体的要求?
26. 请列举出几种不同的方式来编写Mapper文件。
27. 简述Mybatis插件的工作原理,并给出如何创建一个新插件的例子。
书籍2:JAVA核心知识整理