标签:算法

分布式常见面试题:聊聊分布式ID的生成方案

今天咱们来聊聊分布式数据库中一个基础但又关键的问题,那就是如何生成数据表的记录 ID 。 当数据量越来越大,并发量越来越高,传统的单库单表遇到性能瓶颈时,我们自然会想到分库分表。利用分库分表虽能分摊压力,但在享受性能提升的同时,也会遇到很多问题,比如多表查询、分布式事务等等,这些咱们在前几期重点聊过。本期重点说一说分布式数据库中数据表记录 ID 的生成方案。……

分布式常见面试题:聊聊分布式系统下商城秒杀系统的设计思路

今天咱们来聊聊电商系统中常见的秒杀活动。几乎每一家电商都会搞秒杀,一般在促销活动中,指定一定数量的商品用低价吸引大量用户参与,但只有少数用户能购买成功,这就是电商秒杀的套路,目的是用低价商品引入大批流量。 那对于电商系统来说,怎么设计一套既能满足日常交易,又能扛住高并发的秒杀系统,这可是程序员们重点要考虑的问题。 先说商品购买流程,大家应该都熟悉。比如一个朋……

数据库常见面试题:分库分表带来了哪些挑战

在我们日常的生产环境中,一旦数据库出现性能瓶颈,很自然就会想到分库分表。可以按照取模、一致性哈希或者时间点来分区等等。总的来说,操作起来还算容易,尤其是借助一些中间件,像 MyCat ,拆分动作相对容易。 然而,在享受性能提升的同时,分库分表也带来了诸多难题。比如大家在评论区提到的,分库分表之后怎么去 join 。一般情况下,不建议像单库单表那样进行 joi……

数据库常见面试题:分库分表的几种策略

今天咱们来聊聊数据库分库分表那些事儿。为什么要对数据库进行分库分表呢?在数据量达到一定程度之后,查询操作的性能就会变得很差,所以不得不考虑分库分表。那怎么去拆分数据表,用什么样的策略和算法拆分,这是接下来要探讨的重点。 分表的策略常用的有三个,先来说说按照时间点分区。这个方法很实用,适用于订单数据拆分,比如按天分表、按月分表、按年分表。时间越久的数据,被查询……

消息队列常见面试题:消息队列如果遇到消息积压,该如何解决?

今天咱们来聊聊在生产环境中,如果使用的消息队列遇到消息积压该怎么解决。这可是个常见又关键的问题。 我们都清楚,消息队列中的消息通常存放在内存里,要是出现过量的消息积压,就可能引发内存或磁盘告警,导致响应超时、连接阻塞,还会影响其他队列使用,让整体服务不可用。 那为啥会出现消息积压呢?其实消息队列有生产端和消费端,一进一出。积压的原因要么是生产端产生消息太快太……

AI 行业大变革 国内大批AI软件面临下架

各位朋友,今天要和大家说一个重要的事情。AI 野蛮生长的时代可能即将结束了,又有一波 AI 创业者可能要倒下了。 那为什么国家突然对 AIGC“踩刹车”呢?我来给大家分享一下原因,还有昨天刚实施的管理办法,大家可得抓紧做好预案。先来看“刹车原因”,我总结了主要有两点。 第一个就是影响安全,首要的就是信息安全。自从国外的 GPT 和 AI 绘画火爆全球后,去年……

Java 不能学了还能学啥?计算机专业学生何去何从

哈喽,大家好!今天来聊一聊计科和软工的同学到底应该学点什么技术,特别是普本和大专的同学他们到底能干什么。 现在网上有很多人说 Java 不能学了,那到底该怎么办呢?躺平吗?下面说说我的看法。 首先要明确一点,现在整个行业确实不太好,所以大龄其他专业的能不转计算机就坚决不要转了。但对于计算机专业的同学,咱们来具体分析一下。首先大专的同学应该全力去考一个本科,这……

使用ssl了还有必要对传输数据再加密吗?

使用SSL(Secure Sockets Layer)或其继任者TLS(Transport Layer Security)协议已经为数据传输提供了强大的安全保障。SSL/TLS通过以下方式确保数据的安全: 加密:使用对称加密算法(如AES)对实际传输的数据进行加密,保证即使数据在传输过程中被截获,攻击者也无法直接解读其内容。 身份验证:通过……

hutool 使用RSA256实现JWT token签发与验证

在使用JWT时,可以使用hutool工具包轻松实现,这里我们展示下使用 RSA256加解密,来实现JWT的签发与验证。 1.导入依赖 首先导入hutool的maven依赖: <dependency> <groupId>cn.hutool</groupId> <artifactId&……

js判断水仙花数代码实现

本文主要讲解关于js判断水仙花数代码实现相关内容,让我们来一起学习下吧! 任务 水仙花数是这样的一个3位数:它的每一个数位的数字的立方和等于它本身。 例如:153=1 * 1 * 1 + 5 * 5 * 5+ 3 * 3 * 3 ,故153是水仙花数。 当用户输入一个三位数n,判断这个数字n是不是水仙花数。 思路 当用户输入一个3位数后,需要将这个数字进行拆……

React基础面试题及答案

本文主要讲解关于React基础面试题及答案相关内容,让我们来一起学习下吧! 1,说说react里面bind函数与箭头函数 bind 由于在类中,采用的是严格模式,所以事件回调的时候会丢失this指向,指向的undefined,需要使用bind来给函数绑定上当前实例的this指向。 箭头函数的this指向上下文,所以永久能拿到当前组件实例的。this指向我们可……

Java项目中时间窗口及其应用场景

本文主要讲解关于Java项目中时间窗口及其应用场景相关内容,让我们来一起学习下吧! 一. 前言 时间窗口在限流 ,分布式 ID 的生成方面都有很多应用,这一篇主要目的是弄清楚怎么最好的实现这个功能。 时间窗口的应用很多 : 可以用于统计和监控,也可以用于限流和流量控制,或者在指定窗口里面做实时计算,ID 生成等业务处理等 二. 原理 时间窗口其实由 窗口 和……