logo资料库

1000道 互联网大厂Java工程师面试题及其答案.pdf

第1页 / 共486页
第2页 / 共486页
第3页 / 共486页
第4页 / 共486页
第5页 / 共486页
第6页 / 共486页
第7页 / 共486页
第8页 / 共486页
资料共486页,剩余部分请下载后查看
1000道互联网 Java 工程师面试题 内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、 Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、 Linux 等技术栈 加微信即可获取架构视频: 备注来源:面试PDF 目录 互联网 Java 工程师面试题..........................................................................................1 ........................................................................................................................................1 MyBatis 面 试题........................................................................................................ 33 1、什么是 Mybatis?............................................................................... 33 2、Mybaits 的优点:............................................................................... 33 3、MyBatis 框架的缺点:....................................................................... 34 4、MyBatis 框架适用场合:................................................................... 34 5、MyBatis 与 Hibernate 有哪些不同?.............................................. 35 第 1 页 共 485 页 架构师交流群:142019080加QQ:985875757免费获取最新Java架构资料
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 第 2 页 共 485 页 架构师交流群:142019080加QQ:985875757免费获取最新Java架构资料
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 第 3 页 共 485 页 架构师交流群:142019080加QQ:985875757免费获取最新Java架构资料
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 第 4 页 共 485 页 架构师交流群:142019080加QQ:985875757免费获取最新Java架构资料
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 第 5 页 共 485 页 架构师交流群:142019080加QQ:985875757免费获取最新Java架构资料
文件等)相比,有什么优缺点?........................................................... 108 9、memcached 的 cache 机制是怎样的?........................................ 109 10、memcached 如何实现冗余机制?...............................................109 11、memcached 如何处理容错的?...................................................110 12、如何将 memcached 中 item 批量导入导出?........................... 110 13、如果缓存数据在导出导入之间过期了,您又怎么处理这些数据呢? ....................................................................................................................111 14、memcached 是如何做身份验证的?...........................................111 15、memcached 的多线程是什么?如何使用它们?.......................112 16、memcached 能接受的 key 的最大长度是多少?...................... 112 17、memcached 最大能存储多大的单个 item?............................. 113 18、memcached 能够更有效地使用内存吗?...................................113 19、什么是二进制协议,我该关注吗?...............................................113 20 、 memcached 的 内 存 分 配 器 是 如 何 工 作 的 ? 为 什 么 不 适 用 malloc/free!?为何要使用 slabs?................................................... 114 21、memcached 是原子的吗?...........................................................114 22、如何实现集群中的 session 共享存储?.......................................115 23、memcached 与 redis 的区别?................................................... 116 Redis 面 试题........................................................................................................... 118 1、什么是 Redis?....................................................................................118 2、Redis 的数据类型?..........................................................................119 3、使用 Redis 有哪些好处?.................................................................119 4、Redis 相比 Memcached 有哪些优势?........................................ 120 5、Memcache 与 Redis 的区别都有哪些?....................................... 120 6、Redis 是单进程单线程的?..............................................................120 7、一个字符串类型的值能存储最大容量是多少?............................. 120 8、Redis 的持久化机制是什么?各自的优缺点?..............................121 9、Redis 常见性能问题和解决方案:..................................................122 10、redis 过期键的删除策略?.............................................................122 11、Redis 的回收策略(淘汰策略)?..................................................123 12、为什么 edis 需要把所有数据放到内存中?................................. 124 第 6 页 共 485 页 架构师交流群:142019080加QQ:985875757免费获取最新Java架构资料
13、Redis 的同步机制了解么?........................................................... 124 14、Pipeline 有什么好处,为什么要用 pipeline?.......................... 124 15、是否使用过 Redis 集群,集群的原理是什么?...........................125 16、Redis 集群方案什么情况下会导致整个集群不可用?............... 125 17、Redis 支持的 Java 客户端都有哪些?官方推荐用哪个?......... 125 18、Jedis 与 Redisson 对比有什么优缺点?..................................... 125 19、Redis 如何设置密码及验证密码?............................................... 126 20、说说 Redis 哈希槽的概念?...........................................................126 21、Redis 集群的主从复制模型是怎样的?....................................... 126 22、Redis 集群会有写操作丢失吗?为什么?................................... 126 23、Redis 集群之间是如何复制的?................................................... 126 24、Redis 集群最大节点个数是多少?............................................... 127 25、Redis 集群如何选择数据库?....................................................... 127 26、怎么测试 Redis 的连通性?...........................................................127 27、怎么理解 Redis 事务?...................................................................127 28、Redis 事务相关的命令有哪几个?............................................... 127 29、Redis key 的过期时间和永久有效分别怎么设置?....................128 30、Redis 如何做内存优化?............................................................... 128 31、Redis 回收进程如何工作的?....................................................... 128 32、都有哪些办法可以降低 Redis 的内存使用情况呢?...................128 33、Redis 的内存用完了会发生什么?............................................... 128 34、一个 Redis 实例最多能存放多少的 keys?List、Set、Sorted Set 他们最多能存放多少元素?................................................................... 129 35、MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis 中的数据都是热点数据?............................................................. 129 36、Redis 最适合的场景?................................................................... 130 37、假如 Redis 里面有 1 亿个 key,其中有 10w 个 key 是以某个固定 的已知的前缀开头的,如果将它们全部找出来?............................... 131 38、如果有大量的 key 需要设置同一时间过期,一般需要注意什么?132 39、使用过 Redis 做异步队列么,你是怎么用的?...........................132 40、使用过 Redis 分布式锁么,它是什么回事?...............................133 第 7 页 共 485 页 架构师交流群:142019080加QQ:985875757免费获取最新Java架构资料
MySQL 面 试题........................................................................................................133 1、MySQL 中有哪几种锁?.................................................................. 134 2、MySQL 中有哪些不同的表格?...................................................... 134 3、简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别............... 134 4、MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间 的区别?................................................................................................... 136 5、CHAR 和 VARCHAR 的区别?........................................................136 6、主键和候选键有什么区别?............................................................. 136 7、myisamchk 是用来做什么的?.......................................................137 8、如果一个表有一列定义为 TIMESTAMP,将发生什么?.............137 9、你怎么看到为表格定义的所有索引?............................................. 137 10、LIKE 声明中的%和_是什么意思?................................................ 138 11、列对比运算符是什么?...................................................................138 12、BLOB 和 TEXT 有什么区别?........................................................ 138 13、MySQL_fetch_array 和 MySQL_fetch_object 的区别是什么?138 14、MyISAM 表格将在哪里存储,并且还提供其存储格式?..........139 15、MySQL 如何优化 DISTINCT?..................................................... 139 16、如何显示前 50 行?........................................................................ 139 17、可以使用多少列创建索引?...........................................................140 18、NOW()和 CURRENT_DATE()有什么区别?.................... 140 19、什么是非标准字符串类型?...........................................................140 20、什么是通用 SQL 函数?................................................................. 140 21、MySQL 支持事务吗?.................................................................... 141 22、MySQL 里记录货币用什么字段类型好........................................ 142 23、MySQL 有关权限的表都有哪几个?............................................ 142 24、列的字符串类型可以是什么?.......................................................142 25、MySQL 数据库作发布系统的存储,一天五万条以上的增量,预计 运维三年,怎么优化?...............................................................................143 26、锁的优化策略...................................................................................143 27、索引的底层实现原理和优化...........................................................144 28、什么情况下设置了索引但无法使用...............................................144 第 8 页 共 485 页 架构师交流群:142019080加QQ:985875757免费获取最新Java架构资料
分享到:
收藏