Java面试
Bertha wang
这个作者很懒,什么都没留下…
展开
-
消息中间件介绍
题目 为什么使用消息队列? 消息队列有什么优点和缺点? Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景? 消息中间件各种面试题: 消息中间件面试题:消息丢失怎么办? 消息中间件面试题:消息队列的优缺点,区别 消息中间件面试题:消息中间件的高可用 消息中间件面试题:如何保证消息的顺序性 消息中间件面试题:如何保证消息不被重复消费 消息中间件面试题:如...原创 2020-01-14 17:24:06 · 199 阅读 · 0 评论 -
高并发架构面试题之缓存七
面试题 redis 的并发竞争问题是什么?如何解决这个问题?了解 redis 事务的 CAS 方案吗? 面试官心理分析 这个也是线上非常常见的一个问题,就是多客户端同时并发写一个 key,可能本来应该先到的数据后到了,导致数据版本错了;或者是多客户端同时获取一个 key,修改值之后再写回去,只要顺序错了,数据就错了。 而且 redis 自己就有天然解决这个问题的 CAS 类的乐观锁方案。 面试题剖...原创 2019-09-30 16:56:22 · 178 阅读 · 0 评论 -
高并发架构面试题之缓存(六)
面试题 了解什么是 redis 的雪崩、穿透和击穿?redis 崩溃之后会怎么样?系统该如何应对这种情况?如何处理 redis 的穿透? 面试官心理分析 其实这是问到缓存必问的,因为缓存雪崩和穿透,是缓存最大的两个问题,要么不出现,一旦出现就是致命性的问题,所以面试官一定会问你。 面试题剖析 缓存雪崩 对于系统 A,假设每天高峰期每秒 5000 个请求,本来缓存在高峰期可以扛住每秒 4000 个请...原创 2019-09-29 15:58:57 · 189 阅读 · 0 评论 -
高并发架构面试题之缓存(五)
面试题 redis 集群模式的工作原理能说一下么?在集群模式下,redis 的 key 是如何寻址的?分布式寻址都有哪些算法?了解一致性 hash 算法吗? 面试官心理分析 在前几年,redis 如果要搞几个节点,每个节点存储一部分的数据,得借助一些中间件来实现,比如说有 codis,或者twemproxy,都有。有一些 redis 中间件,你读写 redis 中间件,redis 中间件负责将你的...原创 2019-09-29 14:32:14 · 222 阅读 · 0 评论 -
高并发架构面试题之缓存(四)
面试题 redis 的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的? 面试官心理分析 redis 如果仅仅只是将数据缓存在内存里面,如果 redis 宕机了再重启,内存里的数据就全部都弄丢了啊。你必须得用 redis 的持久化机制,将数据写入内存的同时,异步的慢慢的将数据写入磁盘文件里,进行持久化。 如果 redis 宕机重启,自动从磁盘上加载之前持久化的一些...原创 2019-09-29 13:57:22 · 125 阅读 · 0 评论 -
高并发架构面试题之缓存(一)
面试题 项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果? 面试官心理分析 这个问题,互联网公司必问,要是一个人连缓存都不太清楚,那确实比较尴尬。 只要问到缓存,上来第一个问题,肯定是先问问你项目哪里用了缓存?为啥要用?不用行不行?如果用了以后可能会有什么不良的后果? 这就是看看你对缓存这个东西背后有没有思考,如果你就是傻乎乎的瞎用,没法给面试官一个合理的解答,那面试官对你印象肯...原创 2019-09-26 17:15:58 · 226 阅读 · 0 评论 -
高并发架构面试题之搜索引擎(二)
面试题1 es 在数据量很大的情况下(数十亿级别)如何提高查询效率啊? 面试官心理分析 这个问题是肯定要问的,说白了,就是看你有没有实际干过 es,因为啥?其实 es 性能并没有你想象中那么好的。很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下 5~10s,坑爹了。第一次搜索的时候,是 5~10s,后面反而就快了,可能就几百毫秒。 这样就很懵,每个用户第一次访问都...原创 2019-09-26 16:51:50 · 232 阅读 · 0 评论 -
高并发架构面试题之搜索引擎(一)
面试题 es 的分布式架构原理能说一下么(es 是如何实现分布式的啊)? 面试官心理分析 在搜索这块,lucene 是最流行的搜索库。几年前业内一般都问,你了解 lucene 吗?你知道倒排索引的原理吗?现在早已经 out 了,因为现在很多项目都是直接用基于 lucene 的分布式搜索引擎—— ElasticSearch,简称为 es。 而现在分布式搜索基本已经成为大部分互联网行业的 Java 系...原创 2019-09-25 17:23:03 · 692 阅读 · 0 评论 -
高并发架构之消息列队面试题集二
面试题1. 如何保证消息的顺序性? 面试官心理分析 其实这个也是用 MQ 的时候必问的话题,第一看看你了不了解顺序这个事儿?第二看看你有没有办法保证消息是有顺序的?这是生产系统中常见的问题。 面试题剖析 我举个例子,我们以前做过一个 mysql binlog 同步的系统,压力还是非常大的,日同步数据要达到上亿,就是说数据从一个 mysql 库原封不动地同步到另一个 mysql 库里面去(mysql...原创 2019-09-25 16:49:28 · 238 阅读 · 0 评论 -
高并发架构之消息对列面试题集(一)
面试题 为什么使用消息队列? 消息队列有什么优点和缺点? Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景? 面试官心理分析 其实面试官主要是想看看: 第一,你知不知道你们系统里为什么要用消息队列这个东西? 不少候选人,说自己项目里用了 Redis、MQ,但是其实他并不知道自己为什么要用这个东西。其实说白了,就是为了用而用,或者是别人设计的架构,他从...原创 2019-09-24 15:33:12 · 150 阅读 · 0 评论 -
高并发面试题系类—如何处理消息丢失的问题
面试题 如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题? 面试官心理分析 这个是肯定的,用 MQ 有个基本原则,就是数据不能多一条,也不能少一条,不能多,就是前面说的重复消费和幂等性问题。不能少,就是说这数据别搞丢了。那这个问题必须得考虑一下。 如果说这个是用 MQ 来传递非常核心的消息,比如说计费、扣费的一些消息,那必须确保这个 MQ 传递过程中绝对不会把计费消息给弄丢。 面试题剖...原创 2019-09-24 11:49:41 · 322 阅读 · 0 评论 -
高并发面试题系类—如何保证消息队列的高可用?
面试题 如何保证消息队列的高可用? 面试官心理分析 如果有人问到你 MQ 的知识,高可用是必问的。上一讲提到,MQ 会导致系统可用性降低。所以只要你用了 MQ,接下来问的一些要点肯定就是围绕着 MQ 的那些缺点怎么来解决了。 要是你傻乎乎的就干用了一个 MQ,各种问题从来没考虑过,那你就杯具了,面试官对你的感觉就是,只会简单使用一些技术,没任何思考,马上对你的印象就不太好了。这样的同学招进来要是做...原创 2019-09-23 18:12:48 · 149 阅读 · 0 评论 -
《Java最常见的19模块面试题及答案》目录
《Java 最常见的19个模块道面试题》的答案已经全部更新完了,有些答案是本人自己总结的,也有些答案是在网上搜集整理的。这些答案难免会存在一些错争议,仅供大家参考。如果发现错误还望大家包涵,赐教,谢谢~ 特意整理出这个目录,方便大家平时复习和收藏哈。希望正在准备面试的朋友们能顺顺利利找到自己心仪的工作,加油!!! Java最常见的19模块面试题:第一模块答案 Java 最常见的 19个模块面试题:...原创 2019-09-20 10:28:06 · 273 阅读 · 0 评论 -
Java 最常见19个模块面试题—第八模块答案
Java 最常见19个模块面试题—第八模块答案 第八模块答案 网络 1. http 响应码 301 和 302 代表的是什么?有什么区别? 答:301,302 都是HTTP状态的编码,都代表着某个URL发生了转移。 区别: 301 redirect: 301 代表永久性转移(Permanently Moved)。 302 redirect: 302 代表暂时性转移(Temporarily Move...原创 2019-09-16 13:47:47 · 220 阅读 · 0 评论 -
Java 最常见19个模块面试题—第七模块答案
Java 最常见19个模块面试题—第七模块答案 第七模块答案 异常 1. throw 和 throws 的区别? throws是用来声明一个方法可能抛出的所有异常信息,throws是将异常声明但是不处理,而是将异常往上传,谁调用我就交给谁处理。而throw则是指抛出的一个具体的异常类型。 2. final、finally、finalize 有什么区别? final可以修饰类、变量、方法,修饰类表示...原创 2019-09-16 12:03:54 · 197 阅读 · 0 评论 -
Java 最常见19个模块面试题: 第六模块答案
Java 最常见19个模块面试题:第六模块答案 Java Web 1 jsp 和 servlet 有什么区别? a.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类) b.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制。 c.Servlet中没有内置对象,J...原创 2019-09-12 14:39:38 · 221 阅读 · 0 评论 -
Java 最常见19个模块面试题: 第四,五模块答案
Java 最常见19个模块面试题:第四,五模块答案 反射 什么是反射? 反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力 Java反射: 在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法Java反射机制主要提供了以下功能: a. 在运行时判断任意一个对象所属的类。 b.在运行时构造任意一个类的对象。 c.在运行时判...原创 2019-09-12 14:16:30 · 438 阅读 · 0 评论