面试题
-
【246期】面试官:说说你对 RabbitMQ 的理解以及使用它的场景
一. RabbitMQ 简介 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信…
-
【245期】面试官:MySQL发生死锁有哪些原因,怎么避免?
一、Mysql 锁类型和加锁分析 锁类型介绍: MySQL有三种锁的级别:页级、表级、行级。 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 …
-
【244期】万字+图解 Redis,面试不用愁了!
今天,“我”不自量力的面试了某大厂的 Java 开发岗位,迎面走来一位风尘仆仆的中年男子,手里拿着屏幕还亮着的 Mac。他冲着我礼貌的笑了笑,然后说了句“不好意思,让你久等了”,然…
-
【243期】面试官:什么是前缀索引、为什么要用前缀使用、用在什么场景下?
什么是前缀索引? 前缀索引也叫局部索引,比如给身份证的前 10 位添加索引,类似这种给某列部分信息添加索引的方式叫做前缀索引。 为什么要用前缀索引? 前缀索引能有效减小索引文件的大…
-
【242期】面试官:Spring AOP有哪些通知类型,它们的执行顺序是怎样的?
前言 这篇比较简单,但是群友反馈面试被问到了,关键还没答出来,而且还是项目中用的比较多的技术点。还是要在平时开发中有一丢丢好奇心,多点进去看看代码啊! 通知类型 在基于Spring…
-
【241期】面试官:你了解JVM中的ZGC垃圾收集器吗?
ZGC(Z Garbage Collector)是一款由Oracle公司研发的,以低延迟为首要目标的一款垃圾收集器。它是基于动态Region内存布局,(暂时)不设年龄分代,使用了读…
-
【240期】面试官:你了解JVM的内存溢出吗?
Java堆溢出 Java堆用于存储对象实例,只要不断地创建对象,当对象数量到达最大堆的容量限制后就会产生内存溢出异常。最常见的内存溢出就是存在大的容器,而没法回收,比如:Map,L…
-
【239期】面试官:如何使用Redis实现电商系统的库存扣减?
在日常开发中有很多地方都有类似扣减库存的操作,比如电商系统中的商品库存,抽奖系统中的奖品库存等。 解决方案 使用mysql数据库,使用一个字段来存储库存,每次扣减库存去更新这个字段…
-
【238期】面试官:Redis新版本开始引入多线程,谈谈你的看法?
Redis作为一个基于内存的缓存系统,一直以高性能著称,因没有上下文切换以及无锁操作,即使在单线程处理情况下,读速度仍可达到11万次/s,写速度达到8.1万次/s。但是,单线程的设…
-
【237期】面试官:如何发现 Redis 热点 Key ,解决方案有哪些?
热点问题概述 产生原因 热点问题产生的原因大致有以下两种: 用户消费的数据远大于生产的数据(热卖商品、热点新闻、热点评论、明星直播)。 在日常工作生活中一些突发的的事件,例如:双十…
-
【236期】面试官:线程池中多余的线程是如何回收的?
最近阅读了JDK线程池ThreadPoolExecutor的源码,对线程池执行任务的流程有了大体了解,实际上这个流程也十分通俗易懂,就不再赘述了,别人写的比我好多了。 不过,我倒是…
-
【235期】面试官:Redis的数据是存在内存里吗?谈谈Redis各种数据类型的使用场景?
一、redis的数据是存在内存里吗? 首先要明白redis是一个数据库 redis是一个内存数据库, 所有数据基本上都存在于内存当中, 会定时以追加或者快照的方式刷新到硬盘中. 由…
-
【234期】30个 Java 集合面试必备的问题和答案
前言 今天博主将为大家分享一下Java(面试必备):30 个 Java 集合面试问题和答案,不喜勿喷,如有异议欢迎讨论! Java集合框架为Java编程语言的基础,也是Java面试…
-
【233期】面试官:什么是耦合?解耦合的方法有哪几种?
在项目的开发过程中,我们经常强调项目的代码模块尽量做到低耦合高内聚,但是什么是耦合?怎样做到低耦合?可能有很多人感到疑惑,下面我来跟大家讲解什么是耦合,怎么进行解耦合实现低耦合。 …
-
【232期】面试官:Spring的 IOC 容器比New对象究竟好在哪?
来源:zhihu.com/question/23277575/answer/24259844 ioc的思想最核心的地方在于,资源不由使用资源的双方管理,而由不使用资源的第三方管理,…
-
【231期】面试官:Java中 serialVersionUID 的作用是什么?举个例子说明
来源:cnblogs.com/duanxz/p/3511695.html serialVersionUID适用于Java的序列化机制。简单来说,Java的序列化机制是通过判断类的s…