大数据-简书人工智能kafka

大牛耗时三天整理的,BAT一线大厂,2020年春招最新面试题大全

2020-02-29  本文已影响0人  程序员1

前言

本文是大牛耗时三天整理的各大厂常见面试题N道,你想要的这里都有内容涵盖:

Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux等技术栈……

希望大家都能找到适合自己的公司,开开心心的撸代码。

由于题量较多,篇幅的限制,文章中的面试题分享没有全部附上详细的解析,但是整理成了一份详细的PDF文档可分享给大家,转发文章并关注我,添加V X :bjmashibing001 即可免费获取

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

今天分享的是一位5年工作经验的Java工程师在帝都的面试经验总结,看看这些互联网公司都爱问些什么题,希望对大家的面试有指导意义。

从事Java开发也有5年经验了,10月初自己的开启面试经历之旅,前后应该20天左右,主面互联网公司,一二线大公司或者是融资中的创业公司都面试过,也拿了几个offer,其中包括奇虎360、字节跳动等。

面试题

1.Redis 面试题

1、什么是 Redis?.

2、Redis 的数据类型?

3、使用 Redis 有哪些好处?

4、Redis 相比 Memcached 有哪些优势?

5、Memcache 与 Redis 的区别都有哪些?

6、Redis 是单进程单线程的?

7、一个字符串类型的值能存储最大容量是多少?

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

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

10、redis 过期键的删除策略?

11、Redis 的回收策略(淘汰策略)?

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

13、Redis 的同步机制了解么?

14、Pipeline 有什么好处,为什么要用 pipeline?

15、是否使用过 Redis 集群,集群的原理是什么?

16、Redis 集群方案什么情况下会导致整个集群不可用?

17、Redis 支持的 Java 客户端都有哪些?官方推荐用哪个?

18、Jedis 与 Redisson 对比有什么优缺点?

19、Redis 如何设置密码及验证密码?

20、说说 Redis 哈希槽的概念?

(文末附面试答案)

2.Dubbo 面试题

1、Dubbo是什么?

2、为什么要用Dubbo?

3、Dubbo 和 Spring Cloud 有什么区别?

4、dubbo都支持什么协议,推荐用哪种?

5、Dubbo需要 Web 容器吗?

6、Dubbo内置了哪几种服务容器?

7、Dubbo里面有哪几种节点角色?

8、画一画服务注册与发现的流程图

9、Dubbo默认使用什么注册中心,还有别的选择吗?

10、Dubbo有哪几种配置方式?

11、Dubbo 核心的配置有哪些?

12、在 Provider 上可以配置的 Consumer 端的属性有哪些?

13、Dubbo启动时如果依赖的服务不可用会怎样?

14、Dubbo推荐使用什么序列化框架,你知道的还有哪些?

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

16、Dubbo有哪几种集群容错方案,默认是哪种?

17、Dubbo有哪几种负载均衡策略,默认是哪种?

18、注册了多个同一样的服务,如果测试指定的某一个服务呢?

19、Dubbo支持服务多协议吗?

20、当一个服务接口有多种实现时怎么做?

(文末附面试答案)

3.Spring Boot 面试题

1、什么是 Spring Boot?

2、Spring Boot 有哪些优点?

3、什么是 JavaConfig?

4、如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?

5、Spring Boot 中的监视器是什么?

6、如何在 Spring Boot 中禁用 Actuator 端点安全性?

7、如何在自定义端口上运行 Spring Boot 应用程序?

8、什么是 YAML?

9、如何实现 Spring Boot 应用程序的安全性?

10、如何集成 Spring Boot 和 ActiveMQ?

11、如何使用 Spring Boot 实现分页和排序?

12、什么是 Swagger?你用 Spring Boot 实现了它吗?

13、什么是 Spring Profiles?

14、什么是 Spring Batch?

15、什么是 FreeMarker 模板?

16、如何使用 Spring Boot 实现异常处理?

17、您使用了哪些 starter maven 依赖项?

18、什么是 CSRF 攻击?

19、什么是 WebSockets?

20、什么是 AOP?

21、什么是 Apache Kafka?

22、我们如何监视所有 Spring Boot 微服务?

4.Spring Cloud 面试题

1、什么是Spring Cloud?

2、使用Spring Cloud有什么优势?

3、服务注册和发现是什么意思?Spring Cloud如何实现?

4、负载平衡的意义什么?

5、什么是Hystrix?它如何实现容错?

6、什么是Hystrix断路器?我们需要它吗?

7、什么是Netflix Feign?它的优点是什么?

8、什么是Spring Cloud Bus?我们需要它吗?

5.JVM面试题

1、JVM三大性能调优参数,JVM 几个重要的参数

2、JVM调优

3、JVM内存管理,JVM的常见的垃圾收集器,G1垃圾收集器。GC调优,Minor GC ,Full GC 触发条件

4、java内存模型

5、Java垃圾回收机制

6、jvm怎样 判断一个对象是否可回收,怎样的对象才能作为GC root

7、OOM说一下?怎么排查?哪些会导致OOM? OOM出现在什么时候

8、什么是Full GC?GC? major GC? stop the world

9、描述JVM中一次full gc过程。

10、JVM中类加载机制,类加载过程,什么是双亲委派模型?,类加载器有哪些

11、如何判断是否有内存泄露?定位 Full GC 发生的原因,有哪些方式?

12、Java 中都有哪些引用类型?

(文末附面试答案)

6.Java 并发编程

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

2、线程与进程的区别?

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

4、死锁与活锁的区别,死锁与饥饿的区别?

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

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

7、为什么使用 Executor 框架?

8、在 Java 中 Executor 和 Executors 的区别?

9、如何在 Windows 和 Linux 上查找哪个线程使用的 CPU 时间最长?

10、什么是原子操作?在 Java Concurrency API 中有哪些原子类(atomic classes)?

11、Java Concurrency API 中的 Lock 接口(Lock interface)是什么?对比同步它有什么优势?

12、什么是 Executors 框架?

13、什么是阻塞队列?阻塞队列的实现原理是什么?如何使用阻塞队列来实现生产者-消费者模型?

14、什么是 Callable 和 Future?

15、什么是 FutureTask?使用 ExecutorService 启动任务。

16、什么是并发容器的实现?

17、多线程同步和互斥有几种实现方法,都是什么?

18、什么是竞争条件?你怎样发现和解决竞争?

19、你将如何使用 thread dump?你将如何分析 Thread dump?165

20、为什么我们调用 start()方法时会执行 run()方法,为什么我们不能直接调用 run()方法?

(文末附面试答案)

MyBatis 面试题

1、什么是 Mybatis?

2、Mybaits 的优点:

3、MyBatis 框架的缺点:

4、MyBatis 框架适用场合:

5、MyBatis 与 Hibernate 有哪些不同?

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

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

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

ZooKeeper 面试题

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

zookeeper 负载均衡和 nginx 负载均衡区别

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

客户端注册 Watcher 实现

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

Zookeeper 对节点的 watch监听通知是永久的吗?为什么不是永久的?

zk 节点宕机如何处理?

Dubbo 面试题

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

为什么要用 Dubbo?

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

服务调用是阻塞的吗?

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

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

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

Elasticsearch 面试题

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

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

elasticsearch 是如何实现 master 选举的

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

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

Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?(文末附面试答案)

Redis面试题

随着应用研发技术的不断成熟,Redis 缓存技术已经成为后台研发同学必备的能力之一。在很多公司面试的过程中,都必不可少地考察 Redis 知识点的掌握。

使用 Redis 有哪些好处?

Redis 是单进程单线程的?

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

Redis 常见异常问题和解决方案(雪崩,穿透...)

redis 过期键的删除策略?

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

Redis 集群的主从复制模型是怎样的?

Redis key 的过期时间和永久有效分别怎么设置?

MySQL 面试题

如今互联网行业用的最多就是 MySQL,然而对于高级 Web 面试者,尤其对于寻找 30k 下工作的求职者,很多 MySQL 相关知识点基本都会涉及,如果面试中,你的相关知识答的模糊和不切要点,基本大多稍好公司的面试官,基本也不会对你有兴趣,毕竟稍微量大的项目,最终都会让你去深入数据库,而且最终的大多瓶颈首先也会出现在数据库。

MySQL 相关存储引擎。

MySQL 索引实现原理。

MySQL 数据库锁。

MySQL 的 SQL 调优。

MySQL 分表分库全局 ID。

Java 并发编程面试题

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

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

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

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

在 Java 中 Executor 和 Executors 的区别?

并发编程三要素?

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

Spring 面试题

1. 谈谈对 Spring IoC 的理解?

2. 谈谈对 Spring DI 的理解?

3. BeanFactory 接口和 ApplicationContext 接口不同点是什么?

4. 请介绍你熟悉的 Spring 核心类,并说明有什么作用?

5. 介绍一下 Spring 的事务的了解?

6. 介绍一下 Spring 的事务实现方式?

7.什么是 Spring 的依赖注入?(文末附面试答案)

JVM面试题

JVM三大性能调优参数,JVM 几个重要的参数

JVM调优

JVM内存管理,JVM的常见的垃圾收集器,G1垃圾收集器。GC调优,Minor GC ,Full GC 触发条件

Java内存模型

Java垃圾回收机制

描述JVM中一次Full gc过程

Java 中都有哪些引用类型?

JVM中类加载机制,类加载过程,什么是双亲委派模型?,类加载器有哪些

如何判断是否有内存泄露?定位 Full GC 发生的原因,有哪些方式?

Spring Cloud 面试题

什么是Spring Cloud?

使用Spring Cloud有什么优势?

服务注册和发现是什么意思?Spring Cloud如何实现?

负载平衡的意义什么?

什么是Hystrix?它如何实现容错?

什么是Hystrix断路器?我们需要它吗?

什么是Netflix Feign?它的优点是什么?

什么是Spring Cloud Bus?我们需要它吗?

最后

这个是面试了几家公司最后经过整合写出了这些面试题,面试就决定了你的薪资,一定要好好对待,最后收到了百度的offer,薪资还不错,把这些面试题分享出来希望能帮助那些打算跳槽的人。

最近也有很多粉丝在后台私信我,已经临近年底了明年有打算跳槽,怎么去准备明年的跳槽呢?该怎样去提升自己,有没有什么资料学习呢。

小编已经把以上涉及的面试题和答案整理成了面试专题文档,同时还针对性收集了一些相关的实战文档、视频。想要获取这些资料的朋友可以关注我帮忙转发一下文章,添加V X :bjmashibing001 即可免费获取

以下是部分截图:

上一篇下一篇

猜你喜欢

热点阅读