第
1
页 共
485
页
互联网 Java 工程师面试题
内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、
Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、
Linux 等技术栈
目录
互联网 Java 工程师面试题
..........................................................................................
1
........................................................................................................................................
1
MyBatis 面试题
........................................................................................................
33
1、什么是 Mybatis?
...............................................................................
33
2、Mybaits 的优点:
...............................................................................
33
3、MyBatis 框架的缺点:
.......................................................................
34
4、MyBatis 框架适用场合:
...................................................................
34
5、MyBatis 与 Hibernate 有哪些不同?
..............................................
35
第
2
页 共
485
页
6、#{}和${}的区别是什么?
.....................................................................
35
7、当实体类中的属性名和表中的字段名不一样 ,怎么办 ?
...........
35
8、 模糊查询 like 语句该怎么写?
...........................................................
36
9、通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应,请问,
这个 Dao 接口的工作原理是什么?Dao 接口里的方法,参数不同时,
方法能重载吗?
..........................................................................................
37
10、Mybatis 是如何进行分页的?分页插件的原理是什么?
.............
38
11、Mybatis 是如何将 sql 执行结果封装为目标对象并返回的?都有
哪些映射形式?
..........................................................................................
38
12、如何执行批量插入?
...........................................................................
39
13、如何获取自动生成的(主)键值?
........................................................
40
14、在 mapper 中如何传递多个参数?
..................................................
40
15、Mybatis 动态 sql 有什么用?执行原理?有哪些动态 sql?
.......
42
16、Xml 映射文件中,除了常见的 select|insert|updae|delete 标签之
外,还有哪些标签?
..................................................................................
42
18、为什么说 Mybatis 是半自动 ORM 映射工具?它与全自动的区别
在哪里?
......................................................................................................
43
19、 一对一、一对多的关联查询 ?
.....................................................
43
20、MyBatis 实现一对一有几种方式?具体怎么操作的?
...................
45
21、MyBatis 实现一对多有几种方式,怎么操作的?
............................
45
22、Mybatis 是否支持延迟加载?如果支持,它的实现原理是什么?46
23、Mybatis 的一级、二级缓存:
............................................................
46
24、什么是 MyBatis 的接口绑定?有哪些实现方式?
........................
47
25、使用 MyBatis 的 mapper 接口调用时有哪些要求?
...................
47
26、Mapper 编写有哪几种方式?
.........................................................
47
27、简述 Mybatis 的插件运行原理,以及如何编写一个插件。
........
50
ZooKeeper 面试题
...................................................................................................
50
1. ZooKeeper 面试题?
..........................................................................
50
2. ZooKeeper 提供了什么?
...................................................................
51
3. Zookeeper 文件系统
............................................................................
51
4. ZAB 协议?
............................................................................................
52
第
3
页 共
485
页
5. 四种类型的数据节点 Znode
..............................................................
52
6. Zookeeper Watcher 机制 -- 数据变更通知
..................................
53
7. 客户端注册 Watcher 实现
..................................................................
54
8. 服务端处理 Watcher 实现
..................................................................
55
9. 客户端回调 Watcher
...........................................................................
55
10. ACL 权限控制机制
..............................................................................
56
11. Chroot 特性
.........................................................................................
57
12. 会话管理
..............................................................................................
57
13. 服务器角色
..........................................................................................
58
14. Zookeeper 下 Server 工作状态
.....................................................
58
15. 数据同步
..............................................................................................
59
16. zookeeper 是如何保证事务的顺序一致性的?
..............................
61
17. 分布式集群中为什么会有 Master?
................................................
61
18. zk 节点宕机如何处理?
......................................................................
61
19. zookeeper 负载均衡和 nginx 负载均衡区别
.................................
62
20. Zookeeper 有哪几种几种部署模式?
.............................................
62
21. 集群最少要几台机器,集群规则是怎样的?
....................................
62
22. 集群支持动态添加机器吗?
..............................................................
62
23. Zookeeper 对节点的 watch 监听通知是永久的吗?为什么不是永
久的?
............................................................................................................
63
24. Zookeeper 的 java 客户端都有哪些?
............................................
63
25. chubby 是什么,和 zookeeper 比你怎么看?
..............................
64
26. 说几个 zookeeper 常用的命令。
....................................................
64
27. ZAB 和 Paxos 算法的联系与区别?
.................................................
64
28. Zookeeper 的典型应用场景
.............................................................
64
Dubbo 面试题
..........................................................................................................
68
1、为什么要用 Dubbo?
.........................................................................
68
2、Dubbo 的整体架构设计有哪些分层?
..............................................
69
3、默认使用的是什么通信框架,还有别的选择吗?
.............................
70
4、服务调用是阻塞的吗?
.......................................................................
70
5、一般使用什么注册中心?还有别的选择吗?
...................................
70
第
4
页 共
485
页
6、默认使用什么序列化框架,你知道的还有哪些?
...........................
71
7、服务提供者能实现失效踢出是什么原理?
.......................................
71
8、服务上线怎么不影响旧版本?
...........................................................
71
9、如何解决服务调用链过长的问题?
...................................................
71
10、说说核心的配置有哪些?
.................................................................
71
11、Dubbo 推荐用什么协议?
..............................................................
72
12、同一个服务多个注册的情况下可以直连某一个服务吗?
.............
72
13、画一画服务注册与发现的流程图?
.................................................
73
14、Dubbo 集群容错有几种方案?
......................................................
73
15、Dubbo 服务降级,失败重试怎么做?
..........................................
74
16、Dubbo 使用过程中都遇到了些什么问题?
..................................
74
17、Dubbo Monitor 实现原理?
.........................................................
74
18、Dubbo 用到哪些设计模式?
..........................................................
75
19、Dubbo 配置文件是如何加载到 Spring 中的?
...........................
76
20、Dubbo SPI 和 Java SPI 区别?
...................................................
77
21、Dubbo 支持分布式事务吗?
..........................................................
77
22、Dubbo 可以对结果进行缓存吗?
..................................................
77
23、服务上线怎么兼容旧版本?
.............................................................
78
24、Dubbo 必须依赖的包有哪些?
.......................................................
78
25、Dubbo telnet 命令能做什么?
......................................................
78
26、Dubbo 支持服务降级吗?
..............................................................
79
27、Dubbo 如何优雅停机?
..................................................................
79
28、Dubbo 和 Dubbox 之间的区别?
...............................................
79
29、Dubbo 和 Spring Cloud 的区别?
.............................................
80
30、你还了解别的分布式框架吗?
.........................................................
81
Elasticsearch 面试题
...............................................................................................
81
1、elasticsearch 了解多少,说说你们公司 es 的集群架构,索引数据
大小,分片有多少,以及一些调优手段 。
............................................
81
2、elasticsearch 的倒排索引是什么
......................................................
83
3、elasticsearch 索引数据多了怎么办,如何调优,部署
.................
84
4、elasticsearch 是如何实现 master 选举的
.......................................
85
第
5
页 共
485
页
5、详细描述一下 Elasticsearch 索引文档的过程
.................................
86
6、详细描述一下 Elasticsearch 搜索的过程?
.....................................
87
7、Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法
..........
88
8、lucence 内部结构是什么?
................................................................
88
9、Elasticsearch 是如何实现 Master 选举的?
...................................
89
10、Elasticsearch 中的节点(比如共 20 个),其中的 10 个选了一个
master,另外 10 个选了另一个 master,怎么办?
............................
90
11、客户端在和集群连接时,如何选择特定的节点执行请求的?
.....
90
12、详细描述一下 Elasticsearch 索引文档的过程。
...........................
90
13、详细描述一下 Elasticsearch 更新和删除文档的过程。
...............
92
14、详细描述一下 Elasticsearch 搜索的过程。
...................................
92
15、在 Elasticsearch 中,是怎么根据一个词找到对应的倒排索引的?
......................................................................................................................
94
16、Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?
....
94
17、对于 GC 方面,在使用 Elasticsearch 时要注意什么?
...............
96
18、Elasticsearch 对于大数据量(上亿量级)的聚合如何实现?
....
97
19、在并发情况下,Elasticsearch 如果保证读写一致?
....................
97
20、如何监控 Elasticsearch 集群状态?
...............................................
97
21、介绍下你们电商搜索的整体技术架构。
.........................................
98
22、介绍一下你们的个性化搜索方案?
.................................................
98
23、是否了解字典树?
.............................................................................
98
24、拼写纠错是如何实现的?
...............................................................
100
Memcached 面试题
..............................................................................................
102
1、Memcached 是什么,有什么作用?
.............................................
102
2、Memcached 服务分布式集群如何实现?
.....................................
104
3、Memcached 服务特点及工作原理是什么?
.................................
105
4、简述 Memcached 内存管理机制原理?
........................................
105
5、memcached 是怎么工作的?
.........................................................
107
6、memcached 最大的优势是什么?
.................................................
107
7、memcached 和 MySQL 的 query
.................................................
107
8、memcached 和服务器的 local cache(比如 PHP 的 APC、mmap