1、第 1 页 共 485 页互联网 Java 工程师面试题内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈目录互联网 Java 工程师面试题.1.1MyBatis 面试题.331、什么是 Mybatis?.332、Mybaits 的优点:.333、MyBatis 框架的缺点:.344、MyBatis 框架适用场合:.345、MyBatis 与 Hibernate 有哪些不同?.35第 2 页
2、共 485 页6、#和$的区别是什么?.357、当实体类中的属性名和表中的字段名不一样,怎么办?.358、模糊查询 like 语句该怎么写?.369、通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应,请问,这个 Dao 接口的工作原理是什么?Dao 接口里的方法,参数不同时,方法能重载吗?.3710、Mybatis 是如何进行分页的?分页插件的原理是什么?.3811、Mybatis 是如何将 sql 执行结果封装为目标对象并返回的?都有哪些映射形式?.3812、如何执行批量插入?.3913、如何获取自动生成的(主)键值?.4014、在 mapper 中如何传递多个参数?.4015、
3、Mybatis 动态 sql 有什么用?执行原理?有哪些动态 sql?.4216、Xml 映射文件中,除了常见的 select|insert|updae|delete 标签之外,还有哪些标签?.4218、为什么说 Mybatis 是半自动 ORM 映射工具?它与全自动的区别在哪里?.4319、一对一、一对多的关联查询?.4320、MyBatis 实现一对一有几种方式?具体怎么操作的?.4521、MyBatis 实现一对多有几种方式,怎么操作的?.4522、Mybatis 是否支持延迟加载?如果支持,它的实现原理是什么?4623、Mybatis 的一级、二级缓存:.4624、什么是 MyBati
4、s 的接口绑定?有哪些实现方式?.4725、使用 MyBatis 的 mapper 接口调用时有哪些要求?.4726、Mapper 编写有哪几种方式?.4727、简述 Mybatis 的插件运行原理,以及如何编写一个插件。.50ZooKeeper 面试题.501.ZooKeeper 面试题?.502.ZooKeeper 提供了什么?.513.Zookeeper 文件系统.514.ZAB 协议?.52第 3 页 共 485 页5.四种类型的数据节点 Znode.526.Zookeeper Watcher 机制-数据变更通知.537.客户端注册 Watcher 实现.548.服务端处理 Watch
5、er 实现.559.客户端回调 Watcher.5510.ACL 权限控制机制.5611.Chroot 特性.5712.会话管理.5713.服务器角色.5814.Zookeeper 下 Server 工作状态.5815.数据同步.5916.zookeeper 是如何保证事务的顺序一致性的?.6117.分布式集群中为什么会有 Master?.6118.zk 节点宕机如何处理?.6119.zookeeper 负载均衡和 nginx 负载均衡区别.6220.Zookeeper 有哪几种几种部署模式?.6221.集群最少要几台机器,集群规则是怎样的?.6222.集群支持动态添加机器吗?.6223.Zo
6、okeeper 对节点的 watch 监听通知是永久的吗?为什么不是永久的?.6324.Zookeeper 的 java 客户端都有哪些?.6325.chubby 是什么,和 zookeeper 比你怎么看?.6426.说几个 zookeeper 常用的命令。.6427.ZAB 和 Paxos 算法的联系与区别?.6428.Zookeeper 的典型应用场景.64Dubbo 面试题.681、为什么要用 Dubbo?.682、Dubbo 的整体架构设计有哪些分层?.693、默认使用的是什么通信框架,还有别的选择吗?.704、服务调用是阻塞的吗?.705、一般使用什么注册中心?还有别的选择吗?.7
7、0第 4 页 共 485 页6、默认使用什么序列化框架,你知道的还有哪些?.717、服务提供者能实现失效踢出是什么原理?.718、服务上线怎么不影响旧版本?.719、如何解决服务调用链过长的问题?.7110、说说核心的配置有哪些?.7111、Dubbo 推荐用什么协议?.7212、同一个服务多个注册的情况下可以直连某一个服务吗?.7213、画一画服务注册与发现的流程图?.7314、Dubbo 集群容错有几种方案?.7315、Dubbo 服务降级,失败重试怎么做?.7416、Dubbo 使用过程中都遇到了些什么问题?.7417、Dubbo Monitor 实现原理?.7418、Dubbo 用到哪
8、些设计模式?.7519、Dubbo 配置文件是如何加载到 Spring 中的?.7620、Dubbo SPI 和 Java SPI 区别?.7721、Dubbo 支持分布式事务吗?.7722、Dubbo 可以对结果进行缓存吗?.7723、服务上线怎么兼容旧版本?.7824、Dubbo 必须依赖的包有哪些?.7825、Dubbo telnet 命令能做什么?.7826、Dubbo 支持服务降级吗?.7927、Dubbo 如何优雅停机?.7928、Dubbo 和 Dubbox 之间的区别?.7929、Dubbo 和 Spring Cloud 的区别?.8030、你还了解别的分布式框架吗?.81El
9、asticsearch 面试题.811、elasticsearch 了解多少,说说你们公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优手段。.812、elasticsearch 的倒排索引是什么.833、elasticsearch 索引数据多了怎么办,如何调优,部署.844、elasticsearch 是如何实现 master 选举的.85第 5 页 共 485 页5、详细描述一下 Elasticsearch 索引文档的过程.866、详细描述一下 Elasticsearch 搜索的过程?.877、Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法.888、
10、lucence 内部结构是什么?.889、Elasticsearch 是如何实现 Master 选举的?.8910、Elasticsearch 中的节点(比如共 20 个),其中的 10 个选了一个master,另外 10 个选了另一个 master,怎么办?.9011、客户端在和集群连接时,如何选择特定的节点执行请求的?.9012、详细描述一下 Elasticsearch 索引文档的过程。.9013、详细描述一下 Elasticsearch 更新和删除文档的过程。.9214、详细描述一下 Elasticsearch 搜索的过程。.9215、在 Elasticsearch 中,是怎么根据一个词
11、找到对应的倒排索引的?.9416、Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?.9417、对于 GC 方面,在使用 Elasticsearch 时要注意什么?.9618、Elasticsearch 对于大数据量(上亿量级)的聚合如何实现?.9719、在并发情况下,Elasticsearch 如果保证读写一致?.9720、如何监控 Elasticsearch 集群状态?.9721、介绍下你们电商搜索的整体技术架构。.9822、介绍一下你们的个性化搜索方案?.9823、是否了解字典树?.9824、拼写纠错是如何实现的?.100Memcached 面试题.1021、M
12、emcached 是什么,有什么作用?.1022、Memcached 服务分布式集群如何实现?.1043、Memcached 服务特点及工作原理是什么?.1054、简述 Memcached 内存管理机制原理?.1055、memcached 是怎么工作的?.1076、memcached 最大的优势是什么?.1077、memcached 和 MySQL 的 query.1078、memcached 和服务器的 local cache(比如 PHP 的 APC、mmap第 6 页 共 485 页文件等)相比,有什么优缺点?.1089、memcached 的 cache 机制是怎样的?.10910、m
13、emcached 如何实现冗余机制?.10911、memcached 如何处理容错的?.11012、如何将 memcached 中 item 批量导入导出?.11013、如果缓存数据在导出导入之间过期了,您又怎么处理这些数据呢?.11114、memcached 是如何做身份验证的?.11115、memcached 的多线程是什么?如何使用它们?.11216、memcached 能接受的 key 的最大长度是多少?.11217、memcached 最大能存储多大的单个 item?.11318、memcached 能够更有效地使用内存吗?.11319、什么是二进制协议,我该关注吗?.11320、m
14、emcached 的内存分配器是如何工作的?为什么不适用malloc/free!?为何要使用 slabs?.11421、memcached 是原子的吗?.11422、如何实现集群中的 session 共享存储?.11523、memcached 与 redis 的区别?.116Redis 面试题.1181、什么是 Redis?.1182、Redis 的数据类型?.1193、使用 Redis 有哪些好处?.1194、Redis 相比 Memcached 有哪些优势?.1205、Memcache 与 Redis 的区别都有哪些?.1206、Redis 是单进程单线程的?.1207、一个字符串类型的值
15、能存储最大容量是多少?.1208、Redis 的持久化机制是什么?各自的优缺点?.1219、Redis 常见性能问题和解决方案:.12210、redis 过期键的删除策略?.12211、Redis 的回收策略(淘汰策略)?.12312、为什么 edis 需要把所有数据放到内存中?.124第 7 页 共 485 页13、Redis 的同步机制了解么?.12414、Pipeline 有什么好处,为什么要用 pipeline?.12415、是否使用过 Redis 集群,集群的原理是什么?.12516、Redis 集群方案什么情况下会导致整个集群不可用?.12517、Redis 支持的 Java 客户
16、端都有哪些?官方推荐用哪个?.12518、Jedis 与 Redisson 对比有什么优缺点?.12519、Redis 如何设置密码及验证密码?.12620、说说 Redis 哈希槽的概念?.12621、Redis 集群的主从复制模型是怎样的?.12622、Redis 集群会有写操作丢失吗?为什么?.12623、Redis 集群之间是如何复制的?.12624、Redis 集群最大节点个数是多少?.12725、Redis 集群如何选择数据库?.12726、怎么测试 Redis 的连通性?.12727、怎么理解 Redis 事务?.12728、Redis 事务相关的命令有哪几个?.12729、Redis key 的过期时间和永久有效分别怎么设置?.12830、Redis 如何做内存优化?.12831、Redis 回收进程如何工作的?.12832、都有哪些办法可以降低 Redis 的内存使用情况呢?.12833、Redis 的内存用完了会发生什么?.12834、一个 Redis 实例最多能存放多少的 keys?List、Set、Sorted Set他们最多能存放多少元素?.12935、MyS