2019大厂Java岗面试题全曝光,刷完这1020道,金三银四大厂等你


image.png


前言:

本文收集整理了各大厂常见面试题N道,你想要的这里都有

内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈,希望大家都能找到适合自己的公司,开开心心的撸代码。

1.png


目录:

由于题量较多,篇幅的限制,文章中的面试题分享没有全部附上详细的解析,但是整理成了一份详细的PDF文档可分享给大家,需要的朋友关注我的供种号(Java周某人)即可领取

看面试题可以是为了面试,也可以是对自己学到的东西的一种查漏补缺,更加深刻的去了解一些核心知识点

  • MyBatis 面试题(27题)

  • ZooKeeper 面试题(28题)

  • Dubbo 面试题(30题)

  • 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 面试题

  • 1、什么是 Mybatis?

1、Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement 等繁杂的过程。程序员直接编写原生态 sql,可以严格控制 sql 执行性能,灵活度高。

2、MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO 映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。

3、通过 xml 文件或注解的方式将要执行的各种 statement 配置起来,并通过java 对象和 statement 中 sql 的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射为 java 对象并返回。(从执行 sql 到返回 result 的过程)。

  • 2、Mybaits 的优点:

  • 3、MyBatis 框架的缺点:

1、SQL 语句的编写工作量较大,尤其当字段多、关联表多时,对开发人员编写

SQL 语句的功底有一定要求。

2、SQL 语句依赖于数据库,导致数据库移植性差,不能随意更换数据库。

  • 4、MyBatis 框架适用场合:

  • 5、MyBatis 与 Hibernate 有哪些不同?

  • 6、#{}和${}的区别是什么?

#{}是预编译处理,${}是字符串替换。

Mybatis 在处理#{}时,会将 sql 中的#{}替换为?号,调用 PreparedStatement 的

set 方法来赋值;

Mybatis 在处理${}时,就是把${}替换成变量的值。

使用#{}可以有效的防止 SQL 注入,提高系统安全性

  • 7、当实体类中的属性名和表中的字段名不一样 ,怎么办 ?

  • 8、 模糊查询 like 语句该怎么写?

...................

MyBatis面试题共27道,内容过多,文章尽量简洁,需要整个文档资料的关注我的供种号(Java周某人)即可

2.png


ZooKeeper 面试题

ZooKeeper 是一个开源的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现。分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、配置维护,名字服务、分布式同步、分布式锁和分布式队列等功能。

  • ZooKeeper 提供了什么?

  • Zookeeper 文件系统

  • Zookeeper Watcher 机制--数据变更通知

  • 客户端注册 Watcher 实现

  • zookeeper 是如何保证事务的顺序一致性的?

  • zk 节点宕机如何处理?

..........

3.png


Dubbo 面试题

Spring Eureka 从开源转变为闭源,Consul 正在崛起,而 Dubbo 又开始重新更新。目前市场上仍有不少公司使用dubbo我们也需要继续学习。

  • 为什么要用 Dubbo?

随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向服务的架构体系(SOA),也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通信协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架。就这样为分布式系统的服务治理框架就出现了,Dubbo 也就这样产生了。

  • Dubbo 的整体架构设计有哪些分层?

  • 默认使用的是什么通信框架,还有别的选择吗?

  • 服务调用是阻塞的吗?

  • 一般使用什么注册中心?还有别的选择吗?

  • 默认使用什么序列化框架,你知道的还有哪些?

...............

4.png


Elasticsearch 面试题

  • elasticsearch 了解多少,说说你们公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优手段 。

  • elasticsearch 索引数据多了怎么办,如何调优,部署

  • elasticsearch 是如何实现 master 选举的

  • Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法

  • 详细描述一下 Elasticsearch 更新和删除文档的过程。

  • Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?

...........

5.png


Redis面试题

我们使用 Redis 时,会接触 Redis 的 5 种对象类型(字符串、哈希、列表、集合、有序集合),丰富的类型是 Redis 相对于 Memcached 等的一大优势。

  • 什么是 Redis?

  • 使用 Redis 有哪些好处?

  • Redis 是单进程单线程的?

  • Redis 的持久化机制是什么?各自的优缺点?

  • Redis 常见性能问题和解决方案:

  • redis 过期键的删除策略?

  • 为什么 edis 需要把所有数据放到内存中?

..........

内容过多,文章尽量简洁,需要整个文档资料的关注我的供种号(Java周某人)即可领取

6.png


MySQL 面试题

在今年上半年的数据库使用状况调查中,笔者收集了众多国内外知名互联网公司的数据库使用情况,其中,国外GitHub、Airbnb、Yelp、Coursera均在使用MySQL数据库,国内阿里巴巴、去哪儿网、腾讯、魅族、京东的部分关键业务同样使用了MySQL数据库。同时,MySQL也是众多数据库排行榜单的第一名,这个开发者和一线互联网企业都在用的开源数据库,你了解多少?

  • MySQL 中有哪几种锁?

  • MySQL 中有哪些不同的表格?

  • 简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别

  • MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?

  • 如果一个表有一列定义为 TIMESTAMP,将发生什么?

  • MySQL_fetch_array 和 MySQL_fetch_object 的区别是什么

...............

7.png


Java 并发编程

  • 在 java 中守护线程和本地线程区别?

  • 什么是多线程中的上下文切换?

  • Java 中用到的线程调度算法是什么?

  • 什么是线程组,为什么在 Java 中不推荐使用?

  • 在 Java 中 Executor 和 Executors 的区别?

  • 并发编程三要素?

  • 什么是线程池?有哪几种创建方式?

.........

内容过多,文章尽量简洁,需要整个文档资料关注我的供种号(Java周某人)即可领取

8.png


Spring 面试题

Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。

  • 不同版本的 Spring Framework 有哪些主要功能?

  • 列举 Spring Framework 的优点

  • 使用 Spring 框架的好处是什么?

  • Spring 配置文件

  • Bean 工厂和 Application contexts 有什么区别?

  • 一个 Spring 的应用看起来象什么?

  • 什么是 Spring 的依赖注入?

..........

9.png


微服务面试题

  • 服务架构有哪些优势?

  • 设计微服务的最佳实践是什么?

  • 微服务架构的优缺点是什么?

  • 在使用微服务架构时,您面临哪些挑战?

  • SOA 和微服务架构之间的主要区别是什么?

  • 什么是 Spring 引导的执行器?

10.png


读者福利

由于题量较多,篇幅的限制,文章中的面试题分享没有全部附上详细的解析,希望各位同仁理解

但是整理成了一份详细的PDF文档可分享给大家

领取方式:关注我的供种号(Java周某人)即可领取

记得一定要关注哦,整理不易


猜你喜欢

转载自blog.51cto.com/14456091/2453299