Think_Higher
内存虽快,但不持久,好记性不如烂笔头。
展开
-
曹操出行一面经历
限流sentinel 工具实现原理如何设计一个业务领域系统流程引擎了解过吗?有哪些开源的流程引擎?原创 2023-05-04 20:46:25 · 836 阅读 · 0 评论 -
网易三面:数据库查询树形结构层面如何找出一个节点的所有子孙节点和祖先节点?
一、邻接表:依赖父节点查询一个节点的所有后代(求子树)怎么查呢?添加一条记录修改一个节点位置或一个子树的位置删除子树删除中间节点,并提升子节点二、路径枚举路径枚举的优点查询某个节点的全部祖先查询某个节点的全部后代路径枚举的缺点三、嵌套集嵌套集的优点嵌套集缺点四、闭包表优点1、查询所有后代节点(查子树)2、查询所有祖先(查祖先树):3、插入新节点4、删除叶子节点5、删除子树总结原创 2023-04-26 16:26:59 · 790 阅读 · 0 评论 -
网易二面经历
mongo 索引底层数据结构mysql 双主架构如何同步mysql binlog limit 1顺序不一致,如何保证同步rocketmq reBalance过程是怎么样的,比如新加一个消费线程kafka有没有用过?了解其特性,原理吗?try catch 可以catch住error吗?可以catch住throwable吗?子类1:Error(错误)子类2:Exception(异常)运行时异常:RuntimeException类及其子类异常非运行时异常 (受检异常):是RuntimeExcep原创 2023-04-25 20:13:03 · 581 阅读 · 0 评论 -
面试官:布隆过滤器运行机制了解吗?有什么优缺点?
1 缓存穿透2 原理解析误判率3 Guava实现3 Redisson实现Redisson 布隆过滤器如何保存元素呢 ?4 实战要点1、缓存穿透场景2、元素删除场景计数布隆过滤器(Counting Bloom Filter)定时重新构建布隆过滤器5 总结原创 2023-04-20 17:05:24 · 468 阅读 · 0 评论 -
面试官:你知道JVM的卡表吗?
跨代引用跨代引用假说卡表(Card Table)卡表元素如何维护——写屏障原创 2023-04-20 10:43:56 · 392 阅读 · 0 评论 -
面试官:谈谈你对领域模型设计(DDD)的理解和心得
一、业务开发的职责业务在实际开展中遇到的问题软件复杂度二、DDD的本质是什么1、领域复杂度2、技术实现的复杂性三、复杂度处理-领域模型描述问题域的准确性合理性证明什么是问题域如何实现问题域的分析1 四色原型法2 用例分析法问题域的拆分四、复杂度处理-进一步降低问题域的复杂度-限界上下文限界上下文的诞生背景限界上下文的本质上下文映射五、复杂度处理 - 分层不合理传统的三层架构六边形架构洋葱架构DDD 架构CQRS我们团队里面的架构实践六、复杂度 - 软件变成一个原创 2023-04-17 21:18:26 · 976 阅读 · 0 评论 -
面试官:如何设计一个支付系统?
支付永远是一个公司的核心领域,因为这是一个有交易属性公司的命脉。那么,支付系统到底长什么样,又是怎么运行交互的呢?抛开带有支付牌照的金融公司的支付架构,下述链路和系统组成基本上符合绝大多数支付场景。其实整体可以看成是交易核心+支付核心 两个大系统。交易系统关联了业务场景和底层支付,而支付系统完成了调用支付工具到对账清算等一系列相关操作。下面我们就来一起看下各个系统的核心组成和交互。原创 2023-04-12 22:00:54 · 421 阅读 · 0 评论 -
面试官:如何设计分布式日志系统?
什么是日志日志的价值分布式架构的日志运维4.1 为什么要有运维工具4.2 运维工具建设APM和可观测性5.1 Metrics和Prometheus5.2 Logging和ELK5.3 Tracing、OpenTracing和Apache SkyWalking5.4 Metrics,Logging和 Tracing 结合文库在日志运维上的实践6.1 汇聚监控6.2 批量查询6.3 链路跟踪日志的坏味道日志 good case原创 2023-04-12 21:28:02 · 1028 阅读 · 0 评论 -
面试官:你知道SPI吗?Java、Spring、Dubbo三者SPI机制的原理和区别了解吗?
什么是SPIJava SPI机制--ServiceLoader举例实现原理优缺点使用场景Spring SPI机制--SpringFactoriesLoader举例核心原理使用场景1、自动装配2、PropertySourceLoader的加载与Java SPI机制对比Dubbo SPI机制--ExtensionLoader举例dubbo核心机制1、自适应机制2、IOC和AOP2.1、依赖注入2.2、接口回调2.3、自动包装3、自动激活总结原创 2023-04-10 11:12:23 · 412 阅读 · 0 评论 -
高并发下如何保证接口幂等
1. insert前先select2. 加悲观锁3. 加乐观锁4. 加唯一索引5. 建防重表6. 根据状态机7. 加分布式锁8. 获取token原创 2023-04-08 12:17:25 · 640 阅读 · 0 评论 -
如何设计一个秒杀架构设计?
1. 秒杀业务的特点2. 总体思路2.1 削峰限流安全保护页面优化,动静分离异步处理热点分离2.2 Nginx的设计细节2.3 页面优化细节降低交互的压力安全控制2.4 Redis集群的应用分布式悲观锁(参考redis悲观锁的代码)异步处理订单2.5 消息队列限流2.6 数据库设计2.7 答题验证码的设计3. 注意事项原创 2023-04-08 12:16:35 · 390 阅读 · 0 评论 -
几种常见的微服务网关介绍
API网关基础什么是API网关网关的主要功能API网关选型常用API网关NginxZuulSpring Cloud GetWayKongTraefikAPI网关对比原创 2023-04-08 12:00:02 · 664 阅读 · 0 评论 -
Sentinel滑动时间窗限流算法原理及源码解析(下)
流控快速失败。原创 2023-04-07 09:23:02 · 727 阅读 · 0 评论 -
Sentinel滑动时间窗限流算法原理及源码解析(中)
WindowWrap样本窗口实例 范型T为MetricBucketwindowLengthInMs 样本窗口长度windowStart 样本窗口的起始时间戳value 当前样本窗口的统计数据 其类型为MetricBucket。原创 2023-04-07 09:22:37 · 871 阅读 · 0 评论 -
Sentinel滑动时间窗限流算法原理及源码解析(上)
时间窗限流算法滑动时间窗口滑动时间窗口算法改进滑动时间窗口源码解析原创 2023-04-07 09:22:16 · 390 阅读 · 0 评论 -
怎么避免mysql死锁问题以及解决死锁
什么是死锁问题现象(锁超时会回滚)InnoDB 锁类型间隙锁( gap lock )next-key lock (临键锁)意向锁( Intention lock )插入意向锁( Insert Intention lock )锁模式兼容矩阵阅读死锁日志经典案例分析案例一:事务并发 insert 唯一键冲突案例一:先 update 再 insert 的并发死锁问题如何尽可能避免死锁解决方法粗暴方式文雅方式对于锁的建议如何定位死锁成因原创 2023-04-06 11:00:05 · 966 阅读 · 0 评论 -
订单超时自动取消3种方案
1.定时任务2.被动取消3.延时消息原创 2023-04-06 11:01:57 · 1742 阅读 · 1 评论 -
MySQL数据同步ES的常用思路和方法
1.同步双写2.异步双写3.定时任务4.数据订阅原创 2023-04-06 10:58:54 · 1334 阅读 · 0 评论 -
聊聊MySQL主从延迟
MySQL 的高可用是如何实现的呢?二、什么是主备延迟?三、主备延迟常见原因1、备库机器配置差2、备库干私活3、大事务四、主库不可用,主备切换有哪些策略?1、可靠优先2、可用优先实验一实验二3、结论原创 2023-04-06 10:58:14 · 902 阅读 · 0 评论 -
线程池中的线程抛出了异常,该如何处理?
模拟线程池抛异常submit()想要获取异常信息就必须使用get()方法!!如何获取和处理异常方案一:使用 try -catch方案二:使用Thread.setDefaultUncaughtExceptionHandler方法捕获异常方案三:重写afterExecute进行异常处理原创 2023-04-06 10:57:48 · 828 阅读 · 0 评论 -
支付宝卡包券到期提醒,定时任务怎么做?
背景介绍定时任务分类单机任务1、定时调度2、定时调度+批处理集群任务1、三层分发2、五福定制三层分发原创 2023-04-06 10:57:21 · 1635 阅读 · 0 评论 -
一致性哈希算法 consistent hashing
场景描述一致性哈希算法的基本概念一致性哈希算法的优点hash环的偏斜虚拟节点原创 2023-04-06 10:56:56 · 1498 阅读 · 0 评论 -
面试官:用过cookie吗?怎么工作的?使用场景是什么?
什么样的数据适合放在cookie中?cookie是怎么设置的?cookie为什么会自动加到request header中?cookie怎么增删查改?cookie 是怎么工作的?cookie 的格式cookie 的属性选项expiresdomain 和 pathsecurehttpOnlyhttpOnly与安全如何设置 cookie?服务端设置 cookie客户端设置 cookie用 js 如何设置多个 cookie如何修改、删除修改 cookie删除 cookiecoo原创 2023-04-05 14:15:04 · 1793 阅读 · 0 评论 -
解决跨域问题的常用方法
没有同源策略限制的接口请求没有同源策略限制的Dom查询跨域正确的打开方式同源策略限制下接口请求的正确打开方式1.JSONP2.空iframe加form3.CORS4.代理同源策略限制下Dom查询的正确打开方式1.postMessage2.document.domain3.canvas操作图片的跨域问题原创 2023-04-05 14:14:18 · 892 阅读 · 0 评论 -
JDK 1.8 HashMap经典面试问题
1:HashMap 的数据结构?2:HashMap 的工作原理?3.当两个对象的 hashCode 相同会发生什么?4.你知道 hash 的实现吗?为什么要这样实现?5.为什么要用异或运算符?6.HashMap 的 table 的容量如何确定?loadFactor 是什么?该容量如何变化?这种变化会带来什么问题?7.HashMap中put方法的过程?8.数组扩容的过程?9.拉链法导致的链表过深问题为什么不用二叉查找树代替,而选择红黑树?为什么不一直使用红黑树?10.说说你对红黑树的见解?原创 2023-04-05 14:15:49 · 946 阅读 · 0 评论 -
mongodb和mysql双写数据一致性问题
我们是如何用MongoDB的如何保证双写一致性?先写数据库,再写MongoDB先写MongoDB,再写数据库用户修改操作如何保存数据如何清理新增的垃圾数据定时删除随机删除原创 2023-04-05 14:12:37 · 1415 阅读 · 0 评论 -
Dubbo经典面试问题
Dubbo 是什么?RPC 又是什么?为什么要这么做?Dubbo 能做什么?能说一下 Dubbo 的总体调用过程吗?说说 Dubbo 支持哪些协议,每种协议的应用场景和优缺点dubbo 默认使用什么序列化框架,你知道的还有哪些?Dubbo中都用到哪些设计模式?责任链模式观察者模式修饰器模式工厂方法模式抽象工厂模式适配器模式代理模式如果 Dubbo 中 provider 提供的服务有多个版本怎么办服务暴露的流程是怎么样的?服务引用的流程是怎么样的?Dubbo 的注册中心有哪些原创 2023-04-04 10:39:09 · 1053 阅读 · 0 评论 -
RocketMQ服务端组件详解
组件总览Name ServerBrokerFilter Server(可选)Consumer/Producer原创 2023-04-03 09:50:59 · 337 阅读 · 0 评论 -
如何保证RocketMQ顺序消息以及可能出现的问题
生产端提供了一个接口 MessageQueueSelector如果扩容了怎么保证顺序消费?顺序消息,如果某条失败了怎么办?会不会一直阻塞?原创 2023-04-03 09:43:45 · 1316 阅读 · 0 评论 -
为什么我们mysql从双主切换到了单主?
MySQL 双主 + Keepalived 的模式问题原创 2023-04-02 18:41:33 · 692 阅读 · 0 评论 -
mysql 双主架构详解
一、背景二、MySQL双主(主主)架构方案三、MySQL双主架构图四、MySQL双主架构的优缺点五、MySQL双主架构,会存在什么问题?原创 2023-04-02 12:45:45 · 2056 阅读 · 0 评论 -
mysql 主从(单主)模式架构以及主从延迟原理
什么是 MySQL 一主多从 ?为什么使用 MySQL 主从 ?主从复制主从复制过程同步模式异步复制全同步复制半同步复制如何保证主从一致mixed 格式的 binlog主从延迟基于主从复制原理看延迟主从延迟情况主从延迟原理主从延迟的原因主节点binLog数据未及时同步I/O线程未及时写RelayLogSQL线程未及时写数据库主从延迟解决方案强一致性方案并行复制降低并发增加NOSQL层缓存标记法总结原创 2023-04-02 12:45:00 · 654 阅读 · 0 评论 -
MVCC + next-key Lock(行锁 + 间隙锁)解决mysql幻读
行级锁临键锁(Next-Key Locks)MVCC能解决了幻读问题?RR隔离级别+无索引RR隔离级别+普通索引RR隔离级别+唯一索引间隙锁的配置查看是否开启间隙锁表锁和行锁已经保证了事务的隔离性,确保数据一致,那么为什么还要使用意向锁呢?总结原创 2023-04-02 11:12:57 · 770 阅读 · 0 评论 -
mysql主从(单主)同步原理
同步原理复制线程binlog dump线程Slave线程SQL线程主从复制优化多线程复制半同步复制数据恢复mysqlbinlog 命令的使用查看bin-log二进制文件(shell方式)查看bin-log二进制文件(带查询条件)截取日志(GTID)临时不记录binlog日志实时拉取远程主机binlog文件中的数据原创 2023-04-01 16:03:59 · 819 阅读 · 0 评论 -
mysql事务隔离级别的实现原理
一、什么是事务的隔离级别二、再看可重复读原理锁定读(当前读)一致性非锁定读(快照读)隐式锁定(两阶段锁)显式锁定原创 2023-04-01 16:02:36 · 441 阅读 · 0 评论 -
一文彻底搞懂mysql binlog redolog undolog 作用原理以及运行机制
bin logbinlog主要应用场景查看bin log日志使用日志恢复数据删除二进制日志写入时机Binlog的日志格式StatementRowMixedBinlog 相关参数是否启用binlog日志配置文件参数说明清理过期的Binlog日志手工删除binlog自动删除binlog常用的Binlog操作命令Binlog文件以及扩展Redo Log为什么不直接修改磁盘中的数据?修改内存再异步同步到磁盘的问题redo log一定能保证事务的持久性吗?redo log原创 2023-04-01 16:02:05 · 360 阅读 · 0 评论 -
一文读懂 mysql 为什么要两阶段提交以及两阶段提交原理
为什么要两阶段提交redo log与binlog两份日志之间的逻辑不一致,会出现什么问题?两阶段提交是怎么保证逻辑一致的呢?当 binlog 写完,redo log 还没 commit 前发生 crash,那崩溃恢复后 MySQL 如何处理?redo 与 binlog 的刷盘时机MySQL 的双 1 配置能否只用 redo log 不要 binlog?Binlog 组提交机制原创 2023-04-01 16:00:12 · 1064 阅读 · 0 评论 -
mysql binlog 一直追加写,磁盘满了怎么办?
mysql binlog 清理策略1、设置binlog最大的文件数和文件大小2、定时清理过期binlog文件3、手动清理binlog文件4、禁用或启用binlog原创 2023-04-01 15:58:50 · 1273 阅读 · 0 评论 -
面试官:mysql索引会缓存内存吗?
InnoDB缓冲池如何设置方法一:使用 `innodb_buffer_pool_size` 变量方法二:修改my.ini配置文件原创 2023-03-31 20:03:36 · 887 阅读 · 0 评论 -
网易二面:MongoDB索引底层使用的是什么数据结构?
mongoDB存储引擎WiredTigerWiredTiger引擎使用索引结构为B+树对B-tree 的误解开始B 树的单条记录查询性能真的好于 B+ 树吗?B+ 树的优势为原创 2023-03-31 10:54:43 · 846 阅读 · 0 评论