
面试
文章平均质量分 62
点滴~
进阶中的工程师
展开
-
慢SQL如何定位处理?
给你张表,发现查询速度很慢,你有那些解决方案mysql的explain有什么作用?如果Explain用到的索引不正确的话,有什么办法干预吗?MySQL | CS-Notes 面试笔记对于索引,在开发中需要注意什么?_索引需要注意啥-优快云博客概述:MySQL 主从同步,读写分离技术以及集群的搭建,SQL 调优_mysol 主从同步,读写分离和集群的搭建-优快云博客explain 执行分析,主要关注哪些字段,为什么?_explain主要关注哪些字段-优快云博客原创 2025-02-28 23:52:52 · 222 阅读 · 0 评论 -
对于索引,在开发中需要注意什么?
在开发中使用索引时,需要根据查询需求设计合理的索引,避免索引失效和过度索引。同时,定期监控和维护索引,确保其能够有效提升查询性能。通过合理使用索引,可以显著提高数据库的查询效率,降低系统负载。原创 2025-02-10 22:35:41 · 694 阅读 · 0 评论 -
系统监控指标调研
三高”系统的监控需以。原创 2025-04-02 01:13:04 · 817 阅读 · 0 评论 -
分布式服务监控
分布式服务监控在保障分布式系统稳定运行中至关重要,通过各类监控组件对关键指标进行监测,能及时发现并解决问题。下面将从监控组件、其优缺点、监控指标及其作用展开介绍。原创 2025-02-23 21:00:17 · 747 阅读 · 0 评论 -
服务接口版本控制及灰度发布调研
参考:服务API版本控制设计与实践关于接口升级版本的一些思考原创 2025-04-01 10:41:51 · 538 阅读 · 0 评论 -
状态机技术选型调研
参考:得物商品状态体系介绍商品上新业务状态机接入实践 | 得物技术原创 2025-03-29 22:07:11 · 175 阅读 · 0 评论 -
Sentinel 相关知识点
Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护等多个维度来帮助开发者保障微服务的稳定性。Sentinel 通过对资源的实时监控和基于各种算法的规则判断,实现了对微服务系统的流量控制、熔断降级和系统保护等功能,保障了系统的稳定性和可用性。原创 2025-03-29 22:04:36 · 432 阅读 · 0 评论 -
Apollo 相关知识点
Apollo的动态更新机制通过客户端与服务器之间的长轮询通信,以及客户端内部的配置监听器和动态刷新机制,实现了配置的实时更新。这种机制使得应用程序能够快速地响应配置的变化,提高了系统的灵活性和可维护性。Apollo实现@ValueSpring容器启动:注册Apollo的。解析@Value注解:拦截带有@Value注解的属性或方法,并注册到。配置监听与更新:通过长轮询机制监听配置变化,并更新中的值。属性注入与动态更新:Spring在属性注入时查找,实现Bean属性的动态更新。原创 2025-03-25 00:03:44 · 787 阅读 · 0 评论 -
在MyBatis整合到Spring的过程中,调用DAO(数据访问对象)方法时,实际上是通过调用SQL的代理对象来实现的,这个代理对象是在Spring容器启动时生成的
因此,MyBatis整合到Spring后,调用DAO方法时所使用的SQL代理对象,是在Spring容器启动时,通过扫描Mapper接口并创建来生成的。这个代理对象利用Java的动态代理机制实现,能够拦截对Mapper接口方法的调用,并将其转发给MyBatis的SqlSession执行。原创 2025-03-24 23:48:34 · 400 阅读 · 0 评论 -
在Spring Boot中,可以通过实现一些特定的接口来拓展Starter
通过实现上述接口,开发者可以灵活地拓展Spring Boot Starter的功能。这些接口允许开发者在Spring Boot应用程序的不同阶段进行自定义处理,从而实现复杂的功能和配置。在创建自定义Starter时,可以根据具体需求选择合适的接口来实现。在Spring Boot中,开发者可以通过实现一些特定的接口来拓展Starter。这些接口允许开发者自定义Spring Boot应用程序的配置和行为,从而创建功能丰富且易于使用的Starter。原创 2025-03-24 23:43:28 · 588 阅读 · 0 评论 -
关于极端场景下,数据库更新与 MQ 消息一致性保障方案的详细总结
优先选择事务消息:若使用 RocketMQ 且业务对一致性要求高消息表作为补充:适用于传统系统或消息中间件不支持事务的场景补偿机制:无论哪种方案,均需实现消息重试和人工干预通道通过合理设计,可以在极端场景下保障数据库与 MQ 消息的最终一致性,满足不同业务场景的需求。原创 2025-03-23 22:30:31 · 498 阅读 · 0 评论 -
ES如果要查10条数据需要从各个分片上各取多少条数据?
在 Elasticsearch 中,查询数据时,每个分片会返回一定数量的文档,然后协调节点将这些结果汇总并排序,最终返回给用户。具体每个分片返回多少条数据,取决于查询的类型和分片的数量。对于聚合查询,Elasticsearch 会在每个分片上执行聚合操作,然后将结果汇总。每个分片返回的数据量取决于聚合的类型和分片上的数据分布。它类似于 SQL 中的。聚合查询的核心思想是:通过对文档进行分组和计算,提取出有价值的信息,而不是仅仅返回原始文档。每个分片会独立执行聚合操作,生成分片级别的聚合结果。原创 2025-03-20 23:08:37 · 1069 阅读 · 0 评论 -
热key探测技术架构设计与实践
首先我们要定义一下如何才能算是一个热点,我们知道热点产生的条件是 2 个:一个时间,一个流量。那么根据这个条件我们可以简单定义一个规则:比如 1 秒内访问 1000 次的数据算是热数据,当然这个数据需要根据具体的业务场景和过往数据进行具体评估。,检测热数据很简单,直接在本地为每个 Key 创建一个滑动窗口计数器,统计单位时间内的访问总数(频率),并通过一个集合存放检测到的热 Key。,对热 Key 的访问是分散在不同的机器上的,无法在本地独立地进行计算,因此,需要一个独立的、集中的。原创 2025-03-16 23:45:24 · 287 阅读 · 0 评论 -
系统稳定性建设
文章围绕系统稳定性建设展开,结合京东在 618 前的准备工作,从后端研发视角阐述了研发阶段和上线阶段的稳定性建设要点,还涉及线上问题的应对方法。原创 2025-03-14 23:56:30 · 307 阅读 · 0 评论 -
本地缓存调研
数据存储内存存储:可将数据缓存到应用程序的内存中,能快速访问,极大减少对数据库的频繁访问,提升系统响应速度,适用于高频访问的热点数据,像电商系统中的热门商品信息、社交平台的用户基本资料等。磁盘存储:当内存空间不足时,支持将部分缓存数据写入磁盘。磁盘存储容量大,可避免因内存限制导致的数据丢失问题。比如在一些数据量庞大且访问频率不均衡的系统中,可把低频访问的数据存于磁盘。两者结合:支持内存和磁盘存储相结合的方式,合理利用两者优势,既能保证常用数据的快速读取,又能处理大量的缓存数据。缓存策略过期策略。原创 2025-03-11 00:45:15 · 736 阅读 · 0 评论 -
给一个10G的文件,里面只有两行记录是一样的,如何找出?(电脑内存只有500M)
通过分块处理、外部排序和归并排序,可以在内存有限的情况下高效地找出大文件中的重复行。这种方法适用于处理超大规模数据文件的场景。原创 2025-03-01 09:03:50 · 75 阅读 · 0 评论 -
事务问题?
解决方案:由于插入任务和发送消息操作在一个事务里,消费者收到任务消息后,会立马处理并更新状态,由于事务还没提交,导致更新不到该任务数据,导致更新状态失败;解决办法是在发送消息前先提交插入任务的事务。问题:往任务表中插入任务后,发送消息异步处理任务,并更新任务状态失败。原创 2025-03-01 09:05:05 · 110 阅读 · 0 评论 -
为什么要避免大事务以及大事务如何解决?
如电商系统促销时大事务更新订单状态,阻塞其他订单操作。在主从复制架构中,大事务使从库需长时间执行主库事务日志,造成从库数据滞后,影响读写分离效果,引发业务逻辑错误,如社交平台批量更新用户数据致从库延迟、数据不一致。大事务执行失败回滚时,需撤销大量已执行操作,耗时久,回滚期间相关资源无法释放,系统性能严重下降,如物流系统批量更新运单状态失败回滚致系统近半小时不可用。大事务使日志文件增大,增加备份和恢复的难度与时间,延长备份时间,增加恢复耗时,影响系统可用性,如医疗系统大事务后备份时间大幅增加。原创 2025-02-28 23:51:18 · 101 阅读 · 0 评论 -
接口性能优化?
接口性能优化原创 2025-03-01 09:02:12 · 233 阅读 · 0 评论 -
如何设计一个动态线程池?
线程池通过“池化”思想解决多线程环境下的资源管理问题,避免频繁创建/销毁线程的开销,抑制资源耗尽风险,提升系统稳定性14。变量(高3位表示状态,低29位记录线程数)管理线程池状态(RUNNING、SHUTDOWN、STOP等),确保状态与线程数的一致性611。:实时采集线程池活跃度(活跃线程数/最大线程数)、任务堆积量、拒绝次数等指标,结合配置中心(如Apollo)实现阈值报警。:线程数可设为2×CPU核数,或根据任务阻塞时间调整11。:根据任务类型(CPU/IO密集型)选择线程数和队列类型。原创 2025-02-28 23:50:24 · 98 阅读 · 0 评论 -
库存系统的设计以及超卖问题如何处理?
【代码】库存系统的设计以及超卖问题如何处理?原创 2025-02-28 23:52:26 · 124 阅读 · 0 评论 -
如何设计一个短链系统?
短链系统设计的关键要点:参考:转转短链平台设计与实现高并发短链设计!面试设计题 - 短链接系统设计原创 2025-02-28 23:50:12 · 361 阅读 · 0 评论 -
算法之刷题汇总
剑指 Offer 题解 | CS-Notes 面试笔记Leetcode 题解 | CS-Notes 面试笔记原创 2025-02-28 23:43:37 · 310 阅读 · 0 评论 -
算法之算法思想
算法思想。原创 2025-02-28 23:36:24 · 149 阅读 · 0 评论 -
算法之排序算法
♥常见排序算法知识体系详解♥ | Java 全栈知识体系算法 - 排序 | CS-Notes 面试笔记十大经典排序算法总结 | JavaGuide原创 2025-02-28 23:34:31 · 299 阅读 · 0 评论 -
算法之算法主题
《程序员数学 v2.0》 | 小傅哥 bugstack 虫洞栈原创 2025-02-28 23:29:14 · 184 阅读 · 0 评论 -
算法之数据结构
目录数据结构数据结构与算法面试题《倚天村 • 图解数据结构》 | 小傅哥 bugstack 虫洞栈♥数据结构基础知识体系详解♥ | Java 全栈知识体系线性数据结构 | JavaGuide数据结构与算法面试题 | 小林coding原创 2025-02-28 23:26:34 · 449 阅读 · 0 评论 -
Spring Boot启动过程?
Spring Boot 的启动过程是一个复杂且有序的流程,它整合了 Spring 框架的众多特性,并进行了自动化配置,以快速搭建起一个可用的应用程序。通过以上步骤,Spring Boot 实现了从应用启动到运行的自动化流程,大大简化了 Java 应用的开发和部署过程。原创 2025-02-26 23:55:13 · 1035 阅读 · 0 评论 -
如何设计一个秒杀系统?
秒杀场景的技术难点,具体内容如下:参考:高并发下秒杀系统的设计原创 2025-02-24 14:58:10 · 275 阅读 · 0 评论 -
分布式服务配置中心
分布式服务配置管理和服务注册与发现是微服务架构的核心组件。选择合适的工具需根据具体需求(如一致性、性能、功能全面性)和生态集成(如Spring Cloud、Kubernetes)进行权衡。常用工具包括Spring Cloud Config、Apollo、Nacos、Consul等,各有优缺点,需结合实际场景选择。原创 2025-02-23 17:23:06 · 663 阅读 · 0 评论 -
分布式缓存
分布式缓存是一种将数据分散存储在多个节点上的缓存机制,旨在解决在大规模分布式系统中,单一缓存服务器无法满足高并发、大数据量的缓存需求问题。原创 2025-02-23 14:33:14 · 611 阅读 · 0 评论 -
分布式服务注册与发现
分布式服务注册与发现是微服务架构的核心组件,通过动态管理服务实例信息,提升系统的弹性和可用性。常用工具包括Eureka、Consul、Zookeeper等,选择时需根据一致性、性能和生态需求进行权衡。注册中心基础概念角色与功能:注册中心涉及服务提供者、服务消费者和服务注册中心三个角色。其需具备服务注册、注销、心跳检查、查询、变更查询等功能,还要保证服务高可用,进行健康检查、状态变更通知,部分有白名单机制。CAP 理论:分布式架构中,一致性(C)、可用性(A)、分区容错性(P)无法同时满足。原创 2025-02-23 17:14:41 · 1138 阅读 · 0 评论 -
CPU 100% 问题怎么排查?
如上图,找到了耗CPU高的线程对应的线程名称“AsyncLogger-1”,以及看到了该线程正在执行代码的堆栈。假设,服务器上部署了若干Java站点服务,以及若干Java微服务,突然收到运维的CPU异常告警。如上图,10804对应的16进制是0x2a34,当然,这一步可以用计算器。之所以要转化为16进制,是因为堆栈里,线程id是用16进制表示的。如上图,进程10765内,最耗CPU的线程PID为10804。(3)查看堆栈,定位线程在干嘛,定位对应代码;接着,查看堆栈,找到线程在干嘛。原创 2020-04-20 16:00:57 · 339 阅读 · 0 评论 -
RPC相关知识点
目录RPC 相关的重要知识点常见的RPC框架Dubbo的原理RPC(Remote Procedure Call)即远程过程调用,是一种计算机通信协议,允许程序调用远程计算机上的过程或函数,而无需了解底层网络细节。以下是一些 RPC 相关的重要知识点:RPC 是分布式系统中实现服务间通信的重要技术,理解和掌握这些知识点对于开发高性能、可靠的分布式应用至关重要。核心架构与组件Dubbo 采用分层架构设计,主要组件包括服务提供者(Provider)、服务消费者(Consumer)、注册中心(Registry)、监原创 2025-02-20 22:38:38 · 138 阅读 · 0 评论 -
ZooKeeper相关知识点
ZK原创 2025-02-20 22:37:47 · 104 阅读 · 0 评论 -
系统设计之消息队列
消息队列 | CS-Notes 面试笔记Java NIO - 零拷贝实现 | Java 全栈知识体系吊打面试官 | 小林coding面试官:RocketMQ 和 Kafka 有什么区别?消息队列基础知识总结 | JavaGuideDisruptor常见问题总结 | JavaGuideKafka常见问题总结 | JavaGuideRocketMQ常见问题总结 | JavaGuideRabbitMQ常见问题总结 | JavaGuide原创 2025-02-20 22:36:37 · 85 阅读 · 0 评论 -
系统设计之缓存
缓存 | CS-Notes 面试笔记简述:Redis 线程模型、Redis 的核心数据结构的使用场景、各种缓存高并发的使用场景:缓存雪崩,缓存穿透、缓存击穿,热key,大key等_redis线程模型及使用场景-优快云博客架构之高并发:缓存 | Java 全栈知识体系缓存基础常见面试题总结(付费) | JavaGuide原创 2025-02-20 22:34:59 · 67 阅读 · 0 评论 -
降级和熔断
架构之高并发:降级和熔断 | Java 全栈知识体系降级&熔断详解(付费) | JavaGuide原创 2025-02-20 22:34:05 · 112 阅读 · 0 评论 -
系统设计之限流
架构之高并发:限流 | Java 全栈知识体系服务限流详解 | JavaGuide原创 2025-02-20 22:32:34 · 115 阅读 · 0 评论 -
灾备和故障转移
架构之高可用:容灾备份,故障转移 | Java 全栈知识体系JavaGuide(Java学习&面试指南) | JavaGuide原创 2025-02-20 22:31:21 · 99 阅读 · 0 评论