![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
文章平均质量分 74
面试
吃猫的大鱼
很懒很懒很懒的一个码农
展开
-
深入理解分布式锁
分布式锁原创 2023-02-09 15:32:44 · 726 阅读 · 0 评论 -
深入理解零拷贝
kafka、rocket、零拷贝原创 2023-02-07 15:29:24 · 402 阅读 · 0 评论 -
深分页优化总结
深分页原创 2022-08-08 15:51:06 · 2944 阅读 · 1 评论 -
深入理解redis主从复制
redis主从复制原创 2022-03-21 23:13:48 · 591 阅读 · 0 评论 -
redis面试篇
前言本篇是整理自己遇到或看到关于redis相关的面试题,答案仅供参考。`提示:写博客是自己对知识梳理,目前是写给自己看,算是自己学习后的作业,也是为了养成一个良好的习惯。一、基础篇redis 为什么那么快? 1. Redis是单线程模型,没有上下文切换的开销; 2. 简单的数据类型,时间复杂度都是O(1); 3. 数据都在内存中,计算快; 4. 采用了多路复用机制使其在网络IO操作中能并发处理大量的客户端请求,实现高吞吐率。为什么说redis是单线程? Redis是单线程主.原创 2022-03-13 16:59:17 · 4255 阅读 · 1 评论 -
redis过期策略
文章目录前言一、过期策略简介二、过期策略对比三、定期删除实现总结前言 写博客是自己对知识梳理,目前是写给自己看,算是自己学习后的作业,也是为了养成一个良好的习惯。一、过期策略简介1. 作用 redis数据都是在内存上,内存相对昂贵,数据存储都推荐设置过期时间,redis过期策略就是为了删除已过期的数据。2. 分类 redis过期策略主要包括三种: 定时删除、惰性删除和定期删除。二、过期策略对比 1. 定时删除 原理:给每一个过期key都生成一个定时器,一旦过期了就马上删除。原创 2022-01-29 17:37:08 · 675 阅读 · 0 评论 -
redis事务
文章目录前言一、redis事务简介二、执行过程三、相关指令总结前言写博客是自己对知识梳理,目前是写给自己看,算是自己学习后的作业,也是为了养成一个良好的习惯。一、redis事务简介1. 什么是事务? 事务ACID,包括原子性、隔离性、持久性和一致性。(具体会在mysql事务中详细说明,这里就默认都知道了)2. 什么是redis事务? Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端原创 2022-01-29 17:02:26 · 447 阅读 · 0 评论 -
redis持久化
文章目录前言一、持久化机制二、RDB快照三、COW多进程机制四、AOF日志五、AOF重写六、混合持久化总结前言 写博客是自己对知识梳理,目前是写给自己看,算是自己学习后的作业,也是为了养成一个良好的习惯。一、持久化机制1. 为什么要有持久化? redis数据都在内存中,一旦宕机数据都会丢失,为了解决这个问题引入了持久化机制。2. 持久化机制分类 它持久化有两种机制:RDB快照,AOF日志。二、RDB快照特点: 1.备份方式:RDB是一次全量备份; 2.数据存储:RDB是内原创 2022-01-29 16:09:06 · 543 阅读 · 0 评论 -
Nginx+lua实现秒杀系统架构
能今天做好的事就不要等到明天。以梦为马,学习趁年华。文章目录前言一、秒杀业务特点1.瞬时高并发2.热点数据3. 读多写少二、技术难点1 . 数据一致性2. 库存超卖三、秒杀注意事项1.数据预热2.请求承载3.请求拦截四、秒杀设计总结前言没有任何文笔,都是写给自己看的,本篇是笔者在实践及学习对秒杀系统架构的思考,仅供参考。一、秒杀业务特点1.瞬时高并发秒杀商品库存一定是有限且价格超级优惠,一定会在秒杀开始的瞬间就会结束,如最近的武汉消费券,基本上在1s内就瞬间抢空了。2.热点数据秒杀商品原创 2021-12-22 20:41:20 · 3138 阅读 · 0 评论 -
算法之五大算法思想
文章目录前言分而治之动态规划贪心算法回溯算法分支限界前言本篇介绍算法的五大算法思想,如果还不了解算法的基础概念请看一下这篇文章:初识数据结构和算法分而治之把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题,直到最后子问题小到可 以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序, 归并排序),傅立叶变换(快速傅立叶变换),大数据中的MR,现实中如汉诺塔游戏。分治法对问题有一定的要求:该问题缩小到一定程度后,就可原创 2021-08-12 23:30:36 · 1117 阅读 · 0 评论 -
初识数据结构与算法
文章目录数据结构概述分类程序中常见的数据结构算法复杂度时间复杂度空间复杂度总结数据结构概述数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。分类从关注的维度看,数据结构可以划分为数据的逻辑结构和物理结构,同一逻辑结构可以对应不同的存储结构。逻辑结构反映的是数据元素之间的逻辑关系,逻辑关系是指数据元素之间的前后间以什么形式相互关联,这与他们在计算机中的存储位置无关。逻辑结构包括:原创 2021-08-12 23:11:14 · 685 阅读 · 0 评论 -
高频算法题之LRU
文章目录前言什么是LRU算法实现思路LRU代码实现总结前言面试官:你了解过reids的内存淘汰策略么?面试者:嗯,了解过,biubiu。。。面试官:打断一下,如果让你去实现LRU算法,你该如何实现?面试者:我就会用linkedHashMap实现。。。面试官:好了,你的情况我大概知道了,你先回去等通知吧面试者:就是又挂了呗。。什么是LRULRU 缓存淘汰算法就是一种常用策略。LRU 的全称是 Least Recently Used,也就是说我们认为最近使用过的数据应该是是「有用的」,很久都没原创 2021-07-04 23:04:16 · 549 阅读 · 1 评论 -
设计模式之装饰者模式
文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport原创 2021-07-03 18:34:34 · 121 阅读 · 0 评论 -
算法之冒泡排序优化
文章目录前言冒泡排序实现冒泡排序优化总结前言面试官: 冒泡排序了解吗?请实现一下?面试者:了解,最基础的交换排序算法。面试官:请介绍一下冒泡排序的特点?面试者:时间复杂度为O(n2),空间复杂度为O(1),属于稳定的排序算法。面试官:如果还是用冒泡排序,请问如何优化它?面试者:(内心:啥?不是应该问快速排序什么的么?冒泡排序还怎么优化?)可以使用快速排序等算法比冒泡排序算法效率高,冒泡排序的优化没怎么了解。面试官:那今天的面试就先到这里,你回去等通知吧面试者:这就挂了?我准备了好多排序算原创 2021-06-27 23:52:02 · 576 阅读 · 0 评论 -
最常见算法面试题
文章目录前言一、算法好处二、高频面试算法题1.链表反转2.环形链表3.大数相加4.冒泡排序优化5.LRU实现三、五大常用算法面试题1.分治法2.动态规划3.贪心法4.回溯法5.分支限界法前言算法题是现在面试必考题,作者通过最近面试复盘并总结一下相关的算法题,会持续更新。一、算法好处算法学习不仅仅是应付面试,更重要是思维得到了提升,特别是逻辑推理能力,特别是在遇到大流量等业务场景下都需要用算法的思维做设计和优化,还有就是极限的压榨硬件的性能等等。ps:千万别把学习算法当成应付面试,这样的心态很难学好原创 2021-06-27 23:12:52 · 762 阅读 · 0 评论 -
高频算法题之链表反转
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2021-06-27 22:36:14 · 878 阅读 · 0 评论 -
高频算法题之两数之和
文章目录前言题目解题思路代码实现测试总结前言复盘一下最近面试遇到简单关于算法的面试题,本篇介绍的是大数相加的算法实现。题目面试官: 请你说一下如何实现2个大数相加的业务?面试者:这个简单,用long接收数字,再计算不就好了。面试官:那如果是这个大数连long都无法装下呢,如100位的大数。面试者:会不会是题目出错了?面试官:题目没有错,今天就先面试到这里回去等通知吧。面试者:###xxxx。。。解题思路通过比较2个大数的字符长度来确认数组的长度 :maxLength+1;将2个原创 2021-06-21 14:44:53 · 530 阅读 · 0 评论 -
高频算法题之环形链表
文章目录前言算法题遍历链表HashSet快慢指针快慢指针解法代码总结前言分享一下最近面试遇到过的简单算法题,本篇介绍的是如何判断链表有环相关的3种方法。算法题有一个单向链表,链表中有可能出现环,如下图所示。如何用程序判断该链表是否为环链表?遍历链表从头结点开始,依次遍历单链表中的每一个节点,每遍历一个新节点,就从头检查新节点之前的所有节点,用新节点和此节点之前所有的节点依次做比较,如果发现新的节点和之前的某个节点相同,则说明该节点被遍历过2次,则可判断为有链表有环。有点类似于冒泡排序原创 2021-06-20 22:25:50 · 452 阅读 · 0 评论 -
设计模式之代理模式
文章目录前言新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础原创 2021-06-02 21:19:59 · 135 阅读 · 0 评论 -
设计模式之观察者模式
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2021-05-25 18:12:05 · 269 阅读 · 0 评论 -
设计模式之单例模式
文章目录前言单例模式1.定义2.特点3.优缺点4.应用场景实现方式1.懒汉模式 (线程不安全)2.懒汉模式 (线程安全)3.饿汉模式 (线程安全)4.使用类的内部类 (线程安全)5.双重锁校验 (线程安全)6.CAS (线程安全)7.枚举单例 (线程安全)总结前言作者目前在复习总结设计模式,便计划写一个设计模式的专题,本篇介绍的是单例模式,主要介绍的是7种单例模式的实现。作者写博客主要是为了归纳总结技术,加深对它的理解,如有任何错误地方请帮忙指出。单例模式1.定义单例(Singleton)模式原创 2021-05-22 18:16:14 · 177 阅读 · 0 评论 -
设计模式之适配器模式
文章目录前言需求适配器模式1.简介2.结构2.分类设计模式实现1.电压实现2.目标角色3.适配器角色4.测试总结1.模式优缺点2.业务场景3.其他前言目前在整理总结设计模式,准备将设计模式当一个专题完成,作者写博客的目的只有是为了总结归纳自己的理解,如果有任何问题请帮忙指出,谢谢!本篇要介绍的就是适配器模式。需求目前市面上大多数充电器都是将220V电压进行适配为5V电压供手机使用,但是在日本的电压是110V,为了出口到日本现在需要充电器也要适配110V电压。这个业务场景用if…else方式原创 2021-05-22 17:14:15 · 177 阅读 · 0 评论 -
设计模式之策略模式
文章目录前言需求模拟违背设计模式的实现策略模式1.定义2.优点3.模式结构4.模式结构图设计模式重构1.抽象策略2.具体策略3.环境类4.客户端调用总结前言我写博客主要是为了梳理知识及归纳总结,我的每一篇博客都会超过3000字,并且都会附上相应的代码或图片,如有任何问题请帮忙指出,谢谢!需求模拟在电商系统中支付模块至关重要,支付一般包括支付宝支付、微信支付和银联支付,如何优雅设计支付模块?违背设计模式的实现使用if…else实现,伪代码如下: public String toPay(S原创 2021-05-18 15:23:29 · 308 阅读 · 0 评论 -
设计模式之责任链模式
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2021-05-17 22:29:26 · 311 阅读 · 0 评论 -
设计模式之外观模式
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言外观模式介绍违背设计模式实现设计模式重构1.引入库2.读入数据总结前言本篇会用外观模式来设计一个处理白名单业务的中间件,将外观模式实际用到项目中。注意:设计模式学的是设计思想,而不是固定的实现方式。外观模式介绍定义:外观模式又叫作门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体细节,这样会大大降低应用程序的原创 2021-05-16 17:05:28 · 201 阅读 · 0 评论 -
设计模式之建造者模式
文章目录前言为什么学习设计模式?设计模式分类需求模拟场景模拟工程1.装修材料接口2.吊顶材料3.涂料材料4.地板材料5.地砖材料违背设计模式实现1.if...else实现需求2.单元测试2.单元测试结果建造者模式重构1.模式的结构2.产品角色3.抽象建造者4.具体建造者5.指挥者6.客户类(测试)7.测试结果总结前言最近接手的项目遇到了比较大的坑,在实现流量套餐业务时(有贵宾、高级贵宾、WiFi、导航等等套餐),在其实现的code中光if…else…就超过了100行以上,此时心里一万只羊驼跑过…,最近原创 2021-05-14 22:30:46 · 192 阅读 · 0 评论 -
生产环境服务CPU飙升问题分析
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2021-05-11 13:23:09 · 1317 阅读 · 7 评论 -
JAVA集合基础
前言你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。数据结构你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。集合框架图Java 集合,也称作容器就是用来存放数据的,主要是由两大接口 派生出来的Collection 和 Map。Collectio原创 2021-05-07 23:20:43 · 221 阅读 · 0 评论