面试题学习笔记 | Redis 分布式锁
实现分布式锁是 Redis 的一个常见用途 在单体架构中,为了解决并发问题,我们通常会在本地使用锁来让线程互斥访问资源,从而避免因原子性、有序性、可见性问题而导致的并发安全隐患。然而,在分布式架构下,传统的本地锁无法跨多个应用实例进行资源同步管理,因为这些实例运行在不同的机器上,彼此难以直接访问对方
[LeetCode] 每日一题 1745. 分割回文串 IV
题目链接 https://leetcode.cn/problems/palindrome-partitioning-iv 题目描述 给你一个字符串 s ,如果可以将它分割成三个 非空<
面试题学习笔记 | Redis 缓存
我们都知道,由于 Redis 采用内存存储,并且数据访问速度极快,因此常被用作后端缓存,以降低频繁查询数据库带来的流量压力。同时,缓存能够显著提升数据查询效率,因此在高并发场景中被广泛应用。 然而,缓存的引入使得数据操作从单一数据库查询变成了多步操作,导致系统失去了原子性,这也带来了 数据一致性 问
[LeetCode] 每日一题 1278. 分割回文串 III
本题要求将字符串分割成 k 个回文子串,并最小化修改字符数。通过动态规划求解,先计算每个子串变为回文串的代价,再利用 DP 计算最优分割方案,提高字符串处理能力
面试题学习笔记 | Redis 基础
Redis 中常见的数据结构 Redis 提供了 5 种基本数据结构:string(字符串)、list(列表)、hash(哈希)、set(集合)和 zset(有序集合,sorted set) 1. string(字符串) string 是 Redis 中最基本的数据类型,可以存储文本、数字和二进制数
[LeetCode] 每日一题 132. 分割回文串 II
使用动态规划解决分割回文串的最小分割次数问题。先预处理所有子串是否是回文串,然后利用 DP 计算最小分割次数,避免回溯,提升效率
面试题学习笔记 | MySQL 进阶知识
本文详细讲解了 MySQL 中的进阶知识,涵盖了 事务的二阶段提交、深度分页优化、以及 主从同步机制 等重要概念。二阶段提交确保了事务的持久性和一致性,避免了崩溃恢复中的数据丢失或不一致问题。针对 深度分页,文章介绍了使用子查询、记录最大ID等优化方式来提高性能。此外,还深入探讨了 MySQL 的主从同步机制,分析了同步、异步和半同步复制的工作原理,并提供了解决主从同步延迟的方法。本文适合开发者在面试或项目中深入理解 MySQL 的核心原理
[LeetCode] 每日一题 131. 分割回文串
设计一个分割回文串的算法,通过回溯和动态规划的结合高效求解。先用动态规划预处理所有子串是否为回文串,然后通过回溯枚举所有可能的分割方案
面试题学习笔记 | MySQL 锁机制总结
MySQL 中有哪些锁类型? 在 MySQL 中,锁机制可以分为两大类:共享锁(Shared Lock,简称 S 锁)和排它锁(Exclusive Lock,简称 X 锁)。这些锁是用来控制多个事务并发访问同一数据的方式 共享锁(S 锁)与排它锁(X 锁) S 锁(共享锁):当一个事务执行读取操作时
[LeetCode] 每日一题 2353. 设计食物评分系统
设计了一个支持修改食物评分并查询评分最高食物的系统。通过使用 TreeSet 自动排序食物并利用 Map 快速查找相关信息,能够高效完成评分修改和查询操作。