
面试相关
文章平均质量分 88
java面试相关试题
懵懵懂懂搬运工
这个作者很懒,什么都没留下…
展开
-
你知道几种延迟队列的实现方案?
在开发中,往往会遇到一些关于延时任务的需求。例如 生成订单30分钟未支付,则自动取消 生成订单60秒后,给用户发短信 对上述的任务,我们给一个专业的名字来形容,那就是延时任务。那么这里就会产生一个问题,这个延时任务和定时任务的区别究竟在哪里呢?一共有如下几点区别1、 定时任务有明确的触发时间,延时任务没有 2、 定时任务有执行周期,而延时任务在某事件触发后一段时间内执行,没有执行周期 3、 定时任务一般执行的是批处理操作是多个任务,而延时任务一般是单个任务下面,我们以判断订单是否转载 2022-04-29 09:04:13 · 578 阅读 · 0 评论 -
MySQL 百万级数据,怎么做分页查询?说说思路
方法1: 直接使用数据库提供的SQL语句 方法2: 建立主键或唯一索引, 利用索引(假设每页10条) 方法3: 基于索引再排序 方法4: 基于索引使用prepare 方法6: 利用"子查询/连接+索引"快速定位元组的位置,然后再读取元组. 测试实验 方法1: 直接使用数据库提供的SQL语句 语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N 适应场景: 适用于数据量较少的情况(元组百/..转载 2022-04-29 09:01:54 · 1439 阅读 · 0 评论 -
分页场景(limit, offset)为什么会慢?
从一个问题说起五年前发现分页场景下,mysql请求速度非常慢。数据量只有10w的情况下,select xx from 单机大概2,3秒。我就问我导师为什么,他反问“索引场景,mysql中获得第n大的数,时间复杂度是多少?”答案的追寻确认场景假设status上面有索引。select * from table where status = xx limit 10 offset 10000。会非常慢。数据量不大的情况就有几秒延迟。小白作答瞎猜了个log(N),心想找一个节点不就是log(N转载 2022-04-29 08:59:33 · 663 阅读 · 0 评论 -
常见的SQL面试题:经典50例
SQL基础知识整理 select 查询结果,如:[学号,平均成绩:组函数avg(成绩)] from 从哪张表中查找数据,如:[涉及到成绩:成绩表score] where 查询条件,如:[b.课程号='0003' and b.成绩>80] group by 分组,如:[每个学生的平均:按学号分组](oracle,SQL server中出现在select子句后的非分组函数,必须出现在group by子句后出现),MySQL中可以不用 having 对分组结..转载 2022-02-27 10:12:22 · 6508 阅读 · 2 评论 -
说一说事务注解 @Transactional 失效的几种场景及解决办法
Transactional失效场景介绍第一种 Transactional注解标注方法修饰符为非public时,@Transactional注解将会不起作用。例如以下代码。定义一个错误的@Transactional标注实现,修饰一个默认访问符的方法/***@authorzhoujy**/@ComponentpublicclassTestServiceImpl{@ResourceTestMappertestMapper;@Transa...转载 2022-02-27 08:48:30 · 326 阅读 · 0 评论 -
索引失效的场景有哪些?索引何时会失效?
blog.youkuaiyun.com/bless2015/article/details/84134361虽然你这列上建了索引,查询条件也是索引列,但最终执行计划没有走它的索引。下面是引起这种问题的几个关键点。列与列对比某个表中,有两列(id和c_id)都建了单独索引,下面这种查询条件不会走索引select*fromtestwhereid=c_id;这种情况会被认为还不如走全表扫描。存在NULL值条件我们在设计数据库表时,应该尽力避免NULL值出现,如果非要不可避免的要出现N...转载 2022-02-27 08:37:44 · 1104 阅读 · 0 评论 -
超经典的 25 道 MyBatis 面试题
什么是 Mybatis? MyBatis 的优点 MyBatis 框架的缺点 MyBatis 框架适用场合 MyBatis 与 Hibernate 有哪些不同? #{}和${}的区别是什么? 当实体类中的属性名和表中的字段名不一样 ,怎么办 ? 模糊查询 like 语句该怎么写? Mapper 接口的工作原理是什么?Mapper 接口里的方法,参数不同时,方法能重载吗? Mybatis 是如何进行分页的?分页插件的..转载 2022-02-26 09:10:34 · 241 阅读 · 0 评论 -
面试官:MySQL 唯一索引为什么会导致死锁?
唯一性索引unique影响唯一性索引表创建DROPTABLEIFEXISTS`sc`;CREATETABLE`sc`(`id`int(11)NOTNULLAUTO_INCREMENT,`name`varchar(200)CHARACTERSETutf8DEFAULTNULL,`class`varchar(200)CHARACTERSETutf8DEFAULTNULL,`score...转载 2022-02-26 08:59:56 · 673 阅读 · 0 评论 -
动图演示:如何彻底理解红黑树?
作者:linzworldcnblogs.com/linzworld/p/13720477.html前言本文主要讲解下最近一直听到的红黑树,看看究竟是什么神仙鬼怪。二叉树满足以下两个条件的树就是二叉树: 本身是有序树(若将树中每个结点的各子树看成是从左到右有次序的(即不能互换),则称该树为有序树(Ordered Tree)); 树中包含的各个节点的度不能超过 2,即只能是 0、1 或者 2; 简单地理解,二叉树(Binary tree)是每个节点最多只有两个分支(即不存转载 2022-02-26 08:56:22 · 233 阅读 · 0 评论 -
如何从 100 亿 URL 中找出相同的 URL?
题目描述给定 a、b 两个文件,各存放 50 亿个 URL,每个 URL 各占 64B,内存限制是 4G。请找出 a、b 两个文件共同的 URL。解答思路每个 URL 占 64B,那么 50 亿个 URL 占用的空间大小约为 320GB。5, 000, 000, 000 _ 64B ≈ 5GB _ 64 = 320GB由于内存大小只有 4G,因此,我们不可能一次性把所有 URL 加载到内存中处理。对于这种类型的题目,一般采用分治策略,即:把一个文件中的 URL 按照某个特征划分为多.转载 2022-02-26 08:51:25 · 493 阅读 · 0 评论 -
TCP协议面试常备
作者:神三元原文:juejin.im/post/5e527c58e51d4526c654bf41先亮出这篇文章的思维导图TCP 作为传输层的协议,是一个软件工程师素养的体现,也是面试中经常被问到的知识点。在此,我将 TCP 核心的一些问题梳理了一下,希望能帮到各位。001. 能不能说一说 TCP 和 UDP 的区别?首先概括一下基本的区别:TCP是一个面向连接的、可靠的、基于字节流的传输层协议。而UDP是一个面向无连接的传输层协议。(就这么简单,其它TCP的特...转载 2022-02-26 08:46:54 · 195 阅读 · 0 评论 -
如何保障消息100%投递成功、消息幂等性?
一、前言我们小伙伴应该都听说够消息中间件MQ,如:RabbitMQ,RocketMQ,Kafka等。引入中间件的好处可以起到抗高并发,削峰,业务解耦的作用。如上图:(1)订单服务投递消息给MQ中间件 (2)物流服务监听MQ中间件消息,从而进行消费我们这篇文章讨论一下,如何保障订单服务把消息成功投递给MQ中间件,以RabbitMQ举例。二、分析问题小伙伴们对此会有些疑问,订单服务发起消息服务,返回成功不就成功了吗?如下面的伪代码:上面代码中,一般发送消息就是这么写的..转载 2022-02-21 14:05:56 · 175 阅读 · 0 评论 -
Java分布式面试题集合,挺全乎儿的~
分布式分为分布式缓存(Redis)、分布式锁(Redis 或 Zookeeper)、分布式服务(Dubbo 或 SpringCloud)、分布式服务协调(Zookeeper)、分布式消息队列(Kafka 、RabbitMq)、分布式 Session 、分布式事务、分布式搜索(Elasticsearch)等。不可能所有分布式内容都熟悉,一定要在某个领域有所专长。分布式理论问:分布式有哪些理论?CAP 、BASE。分布式 CAP 理论,任何一个分布式系统都无法同时满足 Consistency(一致性)、转载 2022-02-21 14:04:35 · 520 阅读 · 0 评论 -
面试必杀技:Spring循环依赖居然还有人讲不清楚?
前言Spring如何解决的循环依赖,是近两年流行起来的一道Java面试题。其实笔者本人对这类框架源码题还是持一定的怀疑态度的。如果笔者作为面试官,可能会问一些诸如“如果注入的属性为null,你会从哪几个方向去排查”这些场景题。那么既然写了这篇文章,闲话少说,发车看看Spring是如何解决的循环依赖,以及带大家看清循环依赖的本质是什么。正文通常来说,如果问Spring内部如何解决循环依赖,一定是默认的单例Bean中,属性互相引用的场景。比如几个Bean之间的互相引用:img转载 2022-02-21 13:53:07 · 193 阅读 · 0 评论 -
如何干掉恶心的 SQL 注入?
简介文章主要内容包括: Java 持久层技术/框架简单介绍 不同场景/框架下易导致 SQL 注入的写法 如何避免和修复 SQL 注入 JDBC介绍 全称 Java Database Connectivity 是 Java 访问数据库的 API,不依赖于特定数据库 ( database-independent ) 所有 Java 持久层技术都基于 JDBC 说明直接使用 JDBC 的场景,如果代码中存在拼接 SQL 语句,那么很有可能会产转载 2022-02-20 09:04:12 · 172 阅读 · 0 评论 -
ConcurrentHashMap线程安全吗?
没啥深入实践的理论系同学,在使用并发工具时,总是认为把HashMap改为ConcurrentHashMap,就完美解决并发了呀。或者使用写时复制的CopyOnWriteArrayList,性能更佳呀!技术言论虽然自由,但面对魔鬼面试官时,我们更在乎的是这些真的正确吗?1 线程重用导致用户信息错乱生产环境中,有时获取到的用户信息是别人的。查看代码后,发现是使用了ThreadLocal缓存获取到的用户信息。ThreadLocal适用于变量在线程间隔离,而在方法或类间共享的场景。若用户信息的获取比较转载 2022-02-20 09:01:28 · 3717 阅读 · 1 评论 -
106道Java并发和多线程基础面试题大集合
前言Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多、越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的。这篇文章主要是对多线程的问题进行总结的,因此罗列了108个多线程的问题。这些多线程的问题来源于各大网站,可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作的重心就是所有的问题都会按照自己的理解回答一遍,不会去看网上的答案,因此可能有些问题讲的不对,能指正的希望大家不吝指教。106个问题汇总1转载 2022-02-20 08:52:16 · 392 阅读 · 0 评论 -
面试三连问:你这个数据量多大?分库分表怎么做?用的哪个组件?
1. 概述 1.1. ShardingSphere-JDBC 1.2. ShardingSphere-Proxy 1.3. ShardingSphere-Sidecar 1.4. 混合架构 2. 概念 & 功能 2.1. 数据分片 2.2. 读写分离 3. 示例:水平分库分片 4. 写在最后 1. 概述ShardingSphere是一套开源的分布式数据库中间件...转载 2022-02-19 09:37:13 · 275 阅读 · 0 评论 -
面试三连问:你这个数据量多大?分库分表怎么做?用的哪个组件?
1. 概述 1.1. ShardingSphere-JDBC 1.2. ShardingSphere-Proxy 1.3. ShardingSphere-Sidecar 1.4. 混合架构 2. 概念 & 功能 2.1. 数据分片 2.2. 读写分离 3. 示例:水平分库分片 4. 写在最后 1. 概述ShardingSphere是一套开源的分布式数据库中间件...转载 2022-02-17 18:17:16 · 805 阅读 · 0 评论 -
阿里三面:为什么使用了索引,查询还是慢?
经常有朋友问到:我的一个SQL语句使用了索引,为什么还是会进入到慢查询之中呢?今天我们就从这个问题开始来聊一聊索引和慢查询。1案例分析言归正传,为了实验,我创建了如下表:CREATETABLE`T`(`id`int(11)NOTNULL,`a`int(11)DEFAUTNULL,PRIMARYKEY(`id`),KEY`a`(`a`))ENGINE=InnoDB;该表有三个字段,其中用id是主键索引,a是普通索引。首先SQL判断一个语句是不是慢...转载 2022-02-16 15:59:59 · 133 阅读 · 0 评论 -
阿里二面:如何设计与实现短URL服务?
想必大家也经常收到垃圾短信吧...短信中的链接一般都是短链接,类似于下图这样:为什么这里面的URL都是短的呢?有什么好处呢?怎么做到的呢?短URL的好处 短信和许多平台(微博)有字数限制,太长的链接加进去都没有办法写正文了. 好看。比起一大堆不知所以的参数,短链接更加简洁友好. 方便做一些统计。你点了链接会有人记录然后分析的. 安全。不暴露访问参数. 这就是为什么我们现在收到的垃圾短信大多数都是短URL的原因了.那么短URL是怎么做到的呢?...转载 2022-02-15 11:12:05 · 400 阅读 · 0 评论