专栏首页架构师2020预备春招BAT面试题汇总:MyBatis +微服务+多线程+Spring+分布式

2020预备春招BAT面试题汇总:MyBatis +微服务+多线程+Spring+分布式

前言:

本文收集整理了各大厂常见面试题N道,你想要的这里都有内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈,希望大家都能找到适合自己的公司,开开心心的撸代码。

目录:

由于题量较多,篇幅的限制,文章中的面试题分享没有全部附上详细的解析,但是整理成了一份详细的PDF文档可分享给大家,文末获取免费领取方式

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

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 的依赖注入?

Kafka面试题

  • Kafka 与传统 MQ 消息系统之间有三个关键区别?
  • 讲一讲 kafka 的 ack 的三种机制?
  • 消费者故障,出现活锁问题如何解决?
  • kafka 分布式(不是单机)的情况下,如何保证消息的顺序消费?
  • kafka 如何不消费重复数据?比如扣款,我们不能重复的扣。

本文分享自微信公众号 - 架构师修行之路(jiagoushixiuxing)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-02-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 为什么我的Redis这么“慢”?

    Redis 作为内存数据库,拥有非常高的性能,单个实例的 QPS 能够达到 10W 左右。

    架构师修行之路
  • NoSql神器之应用剖析

    NoSQL数据库在整个数据库领域的江湖地位已经不言而喻。在大数据时代,虽然RDBMS很优秀,但是面对快速增长的数据规模和日渐复杂的数据模型,RDBMS渐...

    架构师修行之路
  • redis到底能提供怎样的解决方案?

    Redis是一个基于BSD开源的项目,是一个把结构化的数据放在内存中的一个存储系统,你可以把它作为数据库,缓存和消息中间件来使用。同时支持strings,lis...

    架构师修行之路
  • 深入Spring Boot (十一):整合Redis详解

    Spring Boot为Redis的Lettuce和Jedis客户端库提供了基本的自动配置,并且可以使用Spring Data Redis完成更多的操作。本篇将...

    JavaQ
  • 架构师技术文档:Redis+Nginx+Dubbo+Spring+架构师精选视频

    最近花了很长的时间去搜罗整理Java核心技术好文,我把每个Java核心技术的优选文章都整理成了一个又一个的文档。今天就把这些东西分享给老铁们,也能为老铁们省去不...

    用户1737318
  • 简洁实用的Redis分布式锁用法

    在微服务中很多情况下需要使用到分布式锁功能,而目前比较常见的方案是通过Redis来实现分布式锁,网上关于分布式锁的实现方式有很多,早期主要是基于Redisson...

    用户5927304
  • 简洁实用的Redis分布式锁用法

    在微服务中很多情况下需要使用到分布式锁功能,而目前比较常见的方案是通过Redis来实现分布式锁,网上关于分布式锁的实现方式有很多,早期主要是基于Redisson...

    JAVA葵花宝典
  • Redis的5个常见应用场景

    前言 Redis 是一个强大的内存型存储,具有丰富的数据结构,使其可以应用于很多方面,包括作为数据库、缓存、消息队列等等。 如果你的印象中Redis只是一个 k...

    dys
  • 你以为你会 Redis,其实呢?

    今天给大家推荐一本书《Redis 深度历险:核心原理与应用实践》,作者钱文品,想必大家也不陌生,前几天网上非常火的掘金小册子,1.7W 的购买量,你就知道这书的...

    用户1093975
  • Redis 的竞争对手 SSDB

    现在有不少团队开始使用了一个新型高效的 NoSQL数据库 - SSDB,如 京东、唱吧 …… SSDB 官网的定义 一个高性能的支持丰富数据结构的 NoSQ...

    dys

扫码关注云+社区

领取腾讯云代金券