本文收集整理了各大厂常见面试题N道,你想要的这里都有java
内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈,但愿你们都能找到适合本身的公司,开开心心的撸代码。程序员
因为题量较多,篇幅的限制,文章中的面试题分享没有所有附上详细的解析,可是整理成了一份详细的PDF文档可分享给你们,须要的朋友关注个人供种号(Java周某人)便可领取web
看面试题能够是为了面试,也能够是对本身学到的东西的一种查漏补缺,更加深入的去了解一些核心知识点面试
MyBatis 面试题(27题)redis
ZooKeeper 面试题(28题)算法
Dubbo 面试题(30题)sql
Elasticsearch 面试题(24题)数据库
Memcached 面试题(23题)编程
Redis 面试题(40题)安全
MySQL 面试题(50题)
Java 并发编程(一),Java 并发编程(二)(共123题)
Java 面试题(一),Java 面试题(二)(共228题)
Spring 面试题(一),Spring 面试题(二)(共116题)
微服务面试题(50题)
Linux 面试题(45题)
Spring Boot 面试题(22题)
Spring Cloud 面试题(8题)
RabbitMQ 面试题(12题)
kafka 面试题(18题)
内容过多,文章尽可能简洁,须要整个文档资料的关注个人供种号(Java周某人)便可领取
一、什么是 Mybatis?
一、Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时只须要关注 SQL 语句自己,不须要花费精力去处理加载驱动、建立链接、建立statement 等繁杂的过程。程序员直接编写原生态 sql,能够严格控制 sql 执行性能,灵活度高。
二、MyBatis 可使用 XML 或注解来配置和映射原生信息,将 POJO 映射成数据库中的记录,避免了几乎全部的 JDBC 代码和手动设置参数以及获取结果集。
三、经过 xml 文件或注解的方式将要执行的各类 statement 配置起来,并经过java 对象和 statement 中 sql 的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射为 java 对象并返回。(从执行 sql 到返回 result 的过程)。
二、Mybaits 的优势:
三、MyBatis 框架的缺点:
一、SQL 语句的编写工做量较大,尤为当字段多、关联表多时,对开发人员编写
SQL 语句的功底有必定要求。
二、SQL 语句依赖于数据库,致使数据库移植性差,不能随意更换数据库。
四、MyBatis 框架适用场合:
五、MyBatis 与 Hibernate 有哪些不一样?
六、#{}和${}的区别是什么?
#{}是预编译处理,${}是字符串替换。
Mybatis 在处理#{}时,会将 sql 中的#{}替换为?号,调用 PreparedStatement 的
set 方法来赋值;
Mybatis 在处理${}时,就是把${}替换成变量的值。
使用#{}能够有效的防止 SQL 注入,提升系统安全性
七、当实体类中的属性名和表中的字段名不同 ,怎么办 ?
八、 模糊查询 like 语句该怎么写?
...................
MyBatis面试题共27道,内容过多,文章尽可能简洁,须要整个文档资料的关注个人供种号(Java周某人)便可
ZooKeeper 是一个开源的分布式协调服务,由雅虎建立,是 Google Chubby 的开源实现。分布式应用程序能够基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、配置维护,名字服务、分布式同步、分布式锁和分布式队列等功能。
ZooKeeper 提供了什么?
Zookeeper 文件系统
Zookeeper Watcher 机制--数据变动通知
客户端注册 Watcher 实现
zookeeper 是如何保证事务的顺序一致性的?
zk 节点宕机如何处理?
..........
Spring Eureka 从开源转变为闭源,Consul 正在崛起,而 Dubbo 又开始从新更新。目前市场上仍有很多公司使用dubbo咱们也须要继续学习。
为何要用 Dubbo?
随着服务化的进一步发展,服务愈来愈多,服务之间的调用和依赖关系也愈来愈复杂,诞生了面向服务的架构体系(SOA),也所以衍生出了一系列相应的技术,如对服务提供、服务调用、链接处理、通讯协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架。就这样为分布式系统的服务治理框架就出现了,Dubbo 也就这样产生了。
Dubbo 的总体架构设计有哪些分层?
默认使用的是什么通讯框架,还有别的选择吗?
服务调用是阻塞的吗?
通常使用什么注册中心?还有别的选择吗?
默认使用什么序列化框架,你知道的还有哪些?
...............
elasticsearch 了解多少,说说大家公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优手段 。
elasticsearch 索引数据多了怎么办,如何调优,部署
elasticsearch 是如何实现 master 选举的
Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法
详细描述一下 Elasticsearch 更新和删除文档的过程。
Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?
...........
咱们使用 Redis 时,会接触 Redis 的 5 种对象类型(字符串、哈希、列表、集合、有序集合),丰富的类型是 Redis 相对于 Memcached 等的一大优点。
什么是 Redis?
使用 Redis 有哪些好处?
Redis 是单进程单线程的?
Redis 的持久化机制是什么?各自的优缺点?
Redis 常见性能问题和解决方案:
redis 过时键的删除策略?
为何 edis 须要把全部数据放到内存中?
..........
内容过多,文章尽可能简洁,须要整个文档资料的关注个人供种号(Java周某人)便可领取
在今年上半年的数据库使用情况调查中,笔者收集了众多国内外知名互联网公司的数据库使用状况,其中,国外GitHub、Airbnb、Yelp、Coursera均在使用MySQL数据库,国内阿里巴巴、去哪儿网、腾讯、魅族、京东的部分关键业务一样使用了MySQL数据库。同时,MySQL也是众多数据库排行榜单的第一名,这个开发者和一线互联网企业都在用的开源数据库,你了解多少?
MySQL 中有哪几种锁?
MySQL 中有哪些不一样的表格?
简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别
MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?
若是一个表有一列定义为 TIMESTAMP,将发生什么?
MySQL_fetch_array 和 MySQL_fetch_object 的区别是什么
...............
在 java 中守护线程和本地线程区别?
什么是多线程中的上下文切换?
Java 中用到的线程调度算法是什么?
什么是线程组,为何在 Java 中不推荐使用?
在 Java 中 Executor 和 Executors 的区别?
并发编程三要素?
什么是线程池?有哪几种建立方式?
.........
内容过多,文章尽可能简洁,须要整个文档资料关注个人供种号(Java周某人)便可领取
Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,可是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并经过POJO为基础的编程模型促进良好的编程习惯。
不一样版本的 Spring Framework 有哪些主要功能?
列举 Spring Framework 的优势
使用 Spring 框架的好处是什么?
Spring 配置文件
Bean 工厂和 Application contexts 有什么区别?
一个 Spring 的应用看起来象什么?
什么是 Spring 的依赖注入?
..........
服务架构有哪些优点?
设计微服务的最佳实践是什么?
微服务架构的优缺点是什么?
在使用微服务架构时,您面临哪些挑战?
SOA 和微服务架构之间的主要区别是什么?
什么是 Spring 引导的执行器?
因为题量较多,篇幅的限制,文章中的面试题分享没有所有附上详细的解析,但愿各位同仁理解
可是整理成了一份详细的PDF文档可分享给你们
领取方式:关注个人供种号(Java周某人)便可领取
记得必定要关注哦,整理不易