【面试连环炮系列(二十?四):为什么选择RocketMQ】教程文章相关的互联网学习教程文章

【大厂面试题系列】:说说Redis的rehash过程【代码】【图】

Redis的字典由 dict.h/dict 结构如下(rehash的重点) typedef struct dict {//类型特性函数dictType *type;//私有数据void *privdata;//哈希表dictht ht[2];//rehash索引//当rehash没有进行时为-1int trehashidx; }ht 属性是一个包含两个项的数组,数组中的每个项都是一个dictht哈希表,一般情况下使用的都是ht[0]的哈希表,而ht[1]的哈希表只会在rehash的时候使用。随着操作的进行,哈希表中的键值对会逐渐增多或减少,这时为了让...

2021年2月最新面试题系列 之 MySQL【代码】

A、mysql事务 事务:Transaction 1、一个最小的不可再分的单元;2、一个完成的业务需要批量的DML(insert、update、delete)语句共同联合完成;3、事务只和DML语句相关,或者说DML语句才有事务。这个和业务逻辑相关,业务逻辑不同,DML语句的个数也不同1、事物的原理这个问题就是问 mysql事务的特性 + 事务的隔离级别 1、任何一条DML语句(insert、update、delete)执行,标志事务的开启 2、结束的标志(提交/回滚)提交:成功的结束,...

这可能是全网最详细的MySQL系列了!MySQL(性能优化,面试题,特性)【图】

爱因斯坦说过“耐心和恒心总会得到报酬的”,我也一直把这句话当做自己的座右铭,这句箴言在今年也彻底在“我”身上实现了。 每一个程序员都拥有一座大厂梦,我也不例外,去年面试阿里,竟然被MySQL问倒了,很多相关性的问题都没有答上来,才2面就凉凉了。为面试做了很多准备,收集很多关于MySQL面试题 MySQL特性: 使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性支持AIX、FreeBSD、HP-UX、Linux、MacOS、Nove...

SQL经典面试题-连续3天登陆用户 (:机会终于来了系列【代码】【图】

写在前面 连续登陆问题可以扩展到很多其他方面: 1.我们每天使用的某团外卖,就可以统计用户连续点外卖的天数。如果发现你连续5天都没有点外卖,可能就会给你发优惠券,刺激消费 2.比如银行贷款你连续预期好多好多天,一直没有处理。银行就会按照自己的流程对你采集一定的措施。 反正就是确实在数仓中还是用的比较多的,比较实际的需求。 需求:编写hql,统计连续3天登陆的用户 分析:如何判断连续,这个是本题的关键 可以对user_i...

《吊打面试官》系列-Redis常见面试题【图】

你知道的越多,你不知道的越多GitHub地址 https://github.com/AobingJava/JavaFamily 已经开源,有面试点,欢迎【Star】和【完善】前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸,打败了无数竞争对手,每次都只能看到无数落寞的身影失望的离开,略感愧疚(请允许我使用一下夸张的修辞手法)。 于是在一...

《吊打面试官》系列-Redis基础【图】

你知道的越多,你不知道的越多前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360的刁难。作为一个在互联网公司面一次拿一次offer的面霸(请允许我使用一下夸张的修辞手法),打败了无数竞争对手,每次都只能看到无数落寞的身影失望的离开,略感愧疚,在一个寂寞难耐的夜晚,我痛定思痛,决定开始写《吊打面试官》系列,希望能帮助各位读者以后面试势如破竹,对面...

Redis系列(七)Redis面试题

原文:Redis系列(七)Redis面试题 Redis 系列:Redis系列(一)Redis入门 Redis系列(二)Redis的8种数据类型 Redis系列(三)Redis的事务和Spring Boot整合 Redis系列(四)Redis配置文件和持久化 Redis系列(五)发布订阅模式、主从复制和哨兵模式 Redis系列(六)Redis 的缓存穿透、缓存击穿和缓存雪崩 Redis系列(七)Redis面试题 Redis命令参考1、什么是 Redis?有什么特点? Redis 是一款开源,高性能的 key-value 的非关系型...

腾讯面试:一条SQL语句执行得很慢的原因有哪些?---不看后悔系列【代码】

说实话,这个问题可以涉及到 MySQL 的很多核心知识,可以扯出一大堆,就像要考你计算机网络的知识时,问你“输入URL回车之后,究竟发生了什么”一样,看看你能说出多少了。 之前腾讯面试的实话,也问到这个问题了,不过答的很不好,之前没去想过相关原因,导致一时之间扯不出来。所以今天,我带大家来详细扯一下有哪些原因,相信你看完之后一定会有所收获,不然你打我。 一、开始装逼:分类讨论 一条 SQL 语句执行的很慢,那是每次...

MySQL面试系列:索引数据结构为什么不用B树、二叉树、哈希表?(四)【代码】【图】

前言 面试官:MySQL索引的存储结构是什么? 面试者:是B+树。 面试官:为什么不是B树、二叉树、哈希表? 面试者:%……&(&……(懵逼中) 面试官:MySQL有哪几种索引? 面试者:主键索引、唯一索引、联合索引、普通索引。 面试官:什么是聚簇索引、非聚簇索引、覆盖索引、索引下推、最左原则? 面试者:%……&(&……(懵逼中) 接下来我们就通过了解B+树去全面解决这几个问题。 一、B+树的数据结构 树的概念我的就赘述了,其他文...

千道Java面试真题整理系列:MySQL灵魂五十问,在遇面试也不怕.【代码】【图】

1、MySQL 中有哪几种锁?1.表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 2.行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 3.页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。2、MySQL 中有哪些不同的表格? 共有 5 种类型的表格:MyISAM Heap Merge INNODB ISAM3、简述在 MySQL 数据库中 ...

花两月时间整理了1000道Java面试题:Spring系列、MySQL、Redis等

写在前面 早在2月份开始LZ就开始整理2020年Java常见面试题了,整理出来的这份文档里面的Java面试题都是LZ自己及朋友还有粉丝真实面试的面试题集锦。里面大部分面试题都是阿里、滴滴、美团、字节跳动等大型互联网公司必问的面试题。就在昨天终于把这些面试题及答案整理好了,今天就分享给各位老铁复习迎战面试。答案领取方式:整理不易,请各位老铁转发本文让更多的朋友看到LZ的这份心血,再给LZ点个关注,然后私信回复“面试”获得领...

面试系列之——数据库知识(2)【图】

MySQL数据库在5.0版本后开始支持存储过程,那么什么是存储过程呢?怎么创建、查看和删除存储过程呢?存储过程有什么优点?这些是本章节要探讨的问题: 什么是存储过程: 简单的说存储过程是为了完成某个数据库中的特定功能而编写的语句集,该语句集包括SQL语句(对数据的增删改查)、条件语句和循环语句等。 创建存储过程: 存储过程的创建非常简单,其创建结构为: CREATE PROCEDURE proc_name ([proc_parameter[,...]]) [chara...

《吊打面试官》系列- Redis基础【图】

《吊打面试官》系列- Redis基础 你知道的越多,你不知道的越多 点赞再看,养成习惯前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360的刁难。作为一个在互联网公司面一次拿一次offer的面霸(请允许我使用一下夸张的修辞手法),打败了无数竞争对手,每次都只能看到无数落寞的身影失望的离开,略感愧疚,在一个寂寞难耐的夜晚,我痛定思痛,决定开始写《吊打面试...

Mybaits 源码解析 (五)----- 面试源码系列:Mapper接口底层原理(为什么Mapper不用写实现类就能访问到数据库?)【代码】

刚开始使用Mybaits的同学有没有这样的疑惑,为什么我们没有编写Mapper的实现类,却能调用Mapper的方法呢?本篇文章我带大家一起来解决这个疑问 上一篇文章我们获取到了DefaultSqlSession,接着我们来看第一篇文章测试用例后面的代码EmployeeMapper employeeMapper = sqlSession.getMapper(Employee.class); List<Employee> allEmployees = employeeMapper.getAll();为 Mapper 接口创建代理对象 我们先从 DefaultSqlSession 的 getM...

面试系列12 redis和memcached有什么区别

(1)redis和memcached有啥区别 这个事儿吧,你可以比较出N多个区别来,但是我还是采取redis作者给出的几个比较吧 1)Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/SET一样高效。所以,如果需要缓存能够支持更复杂...