前言
本人20年毕业于一所普通本科,实习的时候也就想着混一张毕业证,也没做什么实际项目,再加上去年就业形式严峻,行业内卷,索性就选择了一家小企业公司,直到后来来才知道是属于外包。(也太惨
想想算了,谁让自己菜,还是先好好学点技术吧,但是工作起来就是日复一日的CRUD,没有996的工资,同样逃不过996的命,这时候联系了一个同毕业的同学,大概意思就是:哎,自己过得也不好,虽然在华为工资高,但是天天赶项目,妥妥的凡尔赛!
也许是被刺激到了,想着今年金九银十一定要跳槽,进大厂!然后就联系了之前一起打篮球玩的比较好的学长,他现在在京东技术开发岗位,给我一份之前面试整理的笔记。并在不久前,成功拿到了京东的offer。
内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈。
由于整个笔记比较全面,内容相当的多 ,这里仅展示面经中的面试真题,如有需要获取文中提到的《980道Java工程师面经》 的朋友点赞转发后私信(学习)
文章目录大纲
- MyBatis 面试题
- ZooKeeper 面试题
- Dubbo 面试题
- Elasticsearch 面试题
- Memcached 面试题
- Redis 面试题
- MySQL 面试题
- Java 并发编程(一)
- Java 并发编程(二)
- Java 面试题(一)
- Java 面试题(二)
- Spring 面试题(一)
- ①一般问题
- ②依赖注入(Ioc)
- ③Beans
- ④注解
- ⑤数据访问
- ⑥AOP
- ⑦MVC
- Spring 面试题(二)
- ①依赖注入
- ②Spring Beans
- ③Spring 注解
- ④Spring 数据访问
- ⑤Spring 面向切面编程(AOP)
- ⑥Spring 的 MVC
- 微服务 面试题
- Linux 面试题
- Spring Boot 面试题
- Spring Cloud 面试题
- RabbitMQ 面试题
- kafka 面试题
- 写在最后
MyBatis 面试题
- 什么是 Mybatis?
- Mybaits 的优点:
- MyBatis 框架的缺点:
- MyBatis 框架适用场合:
- MyBatis与Hibernate有哪些不同?
- #{}和${}的区别是什么?
- 当实体类中的属性名和表中的字段名不一样 ,怎么办 ?
- 模糊查询 like 语句该怎么写?
- 通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应,请问,这个 Dao 接口的工作原理是什么?Dao 接口里的方法,参数不同时,方法能重载吗?
- Mybatis 是如何进行分页的?分页插件的原理是什么?
- Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式?
- 如何执行批量插入?
- 如何获取自动生成的(主)键值?
- 在 mapper 中如何传递多个参数?
- Mybatis 动态 sql 有什么用?执行原理?有哪些动态 sql?
- Xml 映射文件中,除了常见的 select、insert、updae、delete 标签之外,还有哪些标签?
- Mybatis 的 Xml 映射文件中,不同的 Xml 映射文件,id 是否可以重复?
- 为什么说 Mybatis 是半自动 ORM 映射工具?它与全自动的区别在哪里?
- 一对一、一对多的关联查询 ?
- MyBatis 实现一对一有几种方式?具体怎么操作的?
- MyBatis 实现一对多有几种方式,怎么操作的?
- Mybatis 是否支持延迟加载?如果支持,它的实现原理是什么?
- Mybatis 的一级、二级缓存
- 什么是 MyBatis 的接口绑定?有哪些实现方式?
- 使用 MyBatis 的 mapper 接口调用时有哪些要求?
- Mapper 编写有哪几种方式?
- 简述 Mybatis 的插件运行原理,以及如何编写一个插件。
ZooKeeper 面试题
- ZooKeeper 面试题?
- ZooKeeper 提供了什么?
- Zookeeper 文件系统
- ZAB 协议?
- 四种类型的数据节点 Znode
- Zookeeper Watcher 机制 – 数据变更通知
- 客户端注册 Watcher 实现
- 服务端处理 Watcher 实现
- 客户端回调 Watcher
- ACL 权限控制机制
- Chroot 特性
- 会话管理
- 服务器角色
- Zookeeper 下 Server 工作状态
- 数据同步
- zookeeper 是如何保证事务的顺序一致性的?
- 分布式集群中为什么会有 Master?
- zk 节点宕机如何处理?
- zookeeper 负载均衡和 nginx 负载均衡区别
- Zookeeper 有哪几种几种部署模式?
- 集群最少要几台机器,集群规则是怎样的?
- 集群支持动态添加机器吗?
- Zookeeper 对节点的 watch监听通知是永久的吗?为什么不是永久的?
- Zookeeper 的 java 客户端都有哪些?
- chubby 是什么,和 zookeeper 比你怎么看?
- 说几个 zookeeper 常用的命令。
- ZAB 和 Paxos 算法的联系与区别?
- Zookeeper 的典型应用场景
- Dubbo 面试题
- 为什么要用 Dubbo?
- Dubbo 的整体架构设计有哪些分层?
- 默认使用的是什么通信框架,还有别的选择吗?
- 服务调用是阻塞的吗?
- 一般使用什么注册中心?还有别的选择吗?
- 默认使用什么序列化框架,你知道的还有哪些?
- 服务提供者能实现失效踢出是什么原理?
- 服务上线怎么不影响旧版本?
- 如何解决服务调用链过长的问题?
- 说说核心的配置有哪些?
- Dubbo 推荐用什么协议?
- 同一个服务多个注册的情况下可以直连某一个服务吗?
- 画一画服务注册与发现的流程图?
- Dubbo 集群容错有几种方案?
- Dubbo 服务降级,失败重试怎么做?
- Dubbo 使用过程中都遇到了些什么问题?
- Dubbo Monitor 实现原理?
- Dubbo 用到哪些设计模式?
- Dubbo 配置文件是如何加载到 Spring 中的?
- Dubbo SPI 和 Java SPI 区别?
- Dubbo 支持分布式事务吗?
- Dubbo 可以对结果进行缓存吗?
- 服务上线怎么兼容旧版本?
- Dubbo 必须依赖的包有哪些?
- Dubbo telnet 命令能做什么?
- Dubbo 支持服务降级吗?
- Dubbo 如何优雅停机?
- Dubbo 和 Dubbox 之间的区别?
- Dubbo 和 Spring Cloud 的区别?
- 你还了解别的分布式框架吗?
Elasticsearch 面试题
- elasticsearch 了解多少,说说你们公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优手段 。
- elasticsearch 的倒排索引是什么
- elasticsearch 索引数据多了怎么办,如何调优,部署
- elasticsearch 是如何实现 master 选举的
- 详细描述一下 Elasticsearch 索引文档的过程
- 详细描述一下 Elasticsearch 搜索的过程?
- Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法
- lucence 内部结构是什么?
- Elasticsearch 是如何实现 Master 选举的?
- Elasticsearch 中的节点(比如共 20 个),其中的 10 个选了一个 master,另外 10 个选了另一个 master,怎么办?
- 客户端在和集群连接时,如何选择特定的节点执行请求的?
- 详细描述一下 Elasticsearch 索引文档的过程。
- 详细描述一下 Elasticsearch 更新和删除文档的过程。
- 详细描述一下 Elasticsearch 搜索的过程
- 在 Elasticsearch 中,是怎么根据一个词找到对应的倒排索引的?
- Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?
- 对于 GC 方面,在使用 Elasticsearch 时要注意什么?
- Elasticsearch 对于大数据量(上亿量级)的聚合如何实现?
- 在并发情况下,Elasticsearch 如果保证读写一致?
- 如何监控 Elasticsearch 集群状态?
- 介绍下你们电商搜索的整体技术架构