04 2024 档案
摘要:记录一次责任链设计模式使用低级错误 目录记录一次责任链设计模式使用低级错误背景流程发现问题解决方案总结 背景 提供一个服务支持语音转写成文本,以及历史转写备份数据的简单服务。 提供一个接口批量上传,一次最大1000条(分表) 落库之后 同时发送到消息队列 并更新数据状态 消费者一条条消费,并调用底层
阅读全文
摘要:线程池 目录线程池线程java 线程的状态线程的基本方法线程池(ThreadPoolExecutor)常见面试题 线程 线程是操作系统能够进行运算调度的最小单位,它包含在进程之中,是进程中的实际运作单位。 一个线程是由 线程的ID 当前指令指针PC 寄存器集合 和堆栈组成 每个线程都是系统调度和分派
阅读全文
摘要:队列 目录队列LinkedBlockingQueue 阻塞队列SynchronousQueue 交换队列DelayQueue 延时队列ArrayBlockingQueue 有界循环队列常见面试题 LinkedBlockingQueue 阻塞队列 新增操作 add队列满的时候抛出异常 offer队列满
阅读全文
摘要:大数据量场景面试题 目录大数据量场景面试题假设有10亿手机号,如何快算判断一个手机号是否再其中?如何再海量数据中找到高频词?BitMap 原理?BitMap 应用?那么如何确定电话号码对应的是位图中的哪一位呢? 假设有10亿手机号,如何快算判断一个手机号是否再其中? - 无符号整数表示范围 [0,1
阅读全文
摘要:UnSafe 目录UnSafe乐观锁compareAndSwapIntgetObjectVolatileputObjectobjectFieldOffset 乐观锁 CAS 原子操作 compareAndSwapInt 从var1对象的起始指针移动var2位,如果该位置上存储的值等于var4,那么将
阅读全文
摘要:算法技巧(二叉树) 目录算法技巧(二叉树)两种解题思路最简单的遍历二叉树代码遍历二叉树的方式前中后序遍历的区别以及各自场景技巧典型问题常见题目以及解题思路 两种解题思路 遍历一遍树是否可以解决问题 如果可以,用一个 traverse 函数配合外部变量来实现。 分解问题 是否可以定义一个递归函数,通过
阅读全文
摘要:算法技巧(单链表&数组) 目录算法技巧(单链表&数组)常用的数据结构常用简单算法技巧单链表常见题目及解题思路数组常见题目及解题思路 常用的数据结构 数组: 查询快、插入、删除慢 时间复杂度O(n) 链表:查询慢、插入、删除快 时间复杂度O(n) 树: 链表的进化 时间复杂度O(logN) 代表有二叉
阅读全文
摘要:红黑树 目录红黑树什么是红黑树(非完全平衡二叉树)?红黑树再平衡方法?二叉树的特点红黑树的特点红黑树左旋右旋变色示例:红黑树的旋转和变色综合案例 什么是红黑树(非完全平衡二叉树)? 红黑树 是一种自平衡二叉搜索树(二叉查找树)是一种特殊的搜索二叉树,在进行插入和删除时通过特定操作保持二叉树自身的平衡
阅读全文
摘要:DDD 领域驱动设计理解(Domain Driven Design) 目录DDD 领域驱动设计理解(Domain Driven Design)概念核心目标 概念 领域驱动设计事实上是1针对OOAD的一个扩展和延申。DDD基于面向对象分析与设计技术。 对技术架构进行了分层规划。 对每个类进行了策略和划
阅读全文
摘要:QPS如何计算的 目录QPS如何计算的什么是QPS?什么是TPS什么是PV计算关系计算步骤示例拓展疑问以及解决方案 什么是QPS? QPS 即每秒查询率,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。QPS= req/sec = 请求数/秒 即每秒的响应请求数,也即是最大吞吐能力。
阅读全文
摘要:JAVA 反射 目录JAVA 反射什么是JAVA反射类的加载过程Class 详解参考博客 什么是JAVA反射 就是在运行时候可以动态的获取成员变量,方法。动态调用该类的方法。被称之为JAVA反射 要使用该类的反射,必须获取到该类的字节码对象.解剖该类就要使用到Class类中的方法。所以先要获取到每一
阅读全文
摘要:Spring Boot-如何优雅的写单元测试 [Spring Boot-如何优雅的写单元测试](#Spring Boot-如何优雅的写单元测试) 什么是单元测试 Mockito 介绍 Mockito使用 @Spy 的使用 InjectMocks 的使用 @MockBean 的使用 @SpyBean
阅读全文
摘要:滑动窗口算法 目录滑动窗口算法概念算法的优点算法的步骤滑动窗口使用场景 概念 滑动窗口主要是解决排序和搜索问题,其主要思想是维护一个窗口,窗口内的元素进行某种操作和判断,随着窗口的移动新元素不断的加入窗口。而窗口内的元素需要更新或移动到窗口的边缘。 算法的优点 这种算法可以在不使用排序处理大规模的数
阅读全文