- 博客(331)
- 收藏
- 关注
原创 springboot苍穹外卖实战:十四、微信支付(cpolar实现内网穿透)
微信支付包含以下产品,在这里我们选择小程序支付。参考:https://pay.weixin.qq.com/static/product/product_index.shtml微信支付时序图。
2025-07-27 15:03:25
866
原创 springboot苍穹外卖实战:十三、导入地址簿+用户下单
本专栏只是黑马课程的相关笔记,个人自学使用,请支持B站上黑马的原版视频。该文章对应视频Day08-01到Day08-11(含11)。
2025-07-23 19:15:19
516
原创 springboot苍穹外卖实战:十二、添加购物车+查看购物车+清空购物车
本专栏只是黑马课程的相关笔记,个人自学使用,请支持B站上黑马的原版视频。该文章对应视频Day07-13到Day07-19(含19)。
2025-07-23 18:51:28
909
原创 25年春招:米哈游运维开发一面总结
reactive用于处理对象类型(包括数组、Map 等)ref用于处理基本类型(如 number、string)和创建响应式引用// 使用ref定义基本类型响应式数据// 使用reactive定义对象类型响应式数据。
2025-06-12 19:32:31
416
3
原创 25年春招:携程java开发一面
讲了大一下参加的一个项目,AI+医疗。从此对软件开发感兴趣。大二上去选修计软的课程,大二下被计软老师推荐去第一份实习。Java通常比Python快。python可能存在性能问题。
2025-06-12 19:20:40
169
原创 25年春招:字节跳动客户端开发二面总结
base深圳,番茄小说,客户端开发岗,二面,总长1h30min左右。本人bg:双非,非科班女生,三段实习,分别是小、中、大厂,第一段和第二段都为java开发,第三段为python开发。所以很多面试都重点拷打了大厂实习内容。
2025-06-12 19:13:45
190
原创 java面试题:List如何排序?内存溢出/OOM怎么回事?如何排查和解决?
List排序可以通过实现Comparable接口并且实现compareTo方法,或者传入comparator去实现排序。
2025-06-05 01:22:47
392
原创 mysql:MVCC机制
MVCC机制主要是mysql的多版本并发控制的一个机制,它主要是允许mysql去保存同一时间对同一份数据的不同历史版本的,从而避免读写之间的锁竞争,从而去提高并发的性能。它会去维护三个隐藏的字段,一个是最近修改的事务ID,一个是指向旧版本的指针,一个是自增的行ID。当然它也是有局限性的,譬如不能完全解决幻读问题,当版本链过长的时候也会影响查询性能,而且存储版本需要额外的空间等等。),读操作需要等到写操作完成之后嘛,写操作也要等到读完成之后,所以会存在锁的竞争,相应就不是很快。
2025-05-25 20:03:08
370
原创 计网5:HTTP/TCP的长连接和短连接的区别以及各自的应用场景
譬如用户在淘宝之类的购物软件,他可能频繁的切换页面,主页,商品详情页啥的,切换的不同商品。它们的区别就是,在资源占用发面,首先长连接会持续占用客户端和服务端的TCP资源(譬如内存、文件描述符之类的),但是它只需要TCP的三次握手和四次挥手,所以减少了创立和断开连接的开销。其次就是协议方面的区别,HTTP/1.1及之后是默认长连接的,HTTP/1.0的话则是默认短连接的,需要我们通过。HTTP的长连接就是在一条TCP连接上进行多次HTTP请求的处理,直到客户端/服务端主动断开连接。字段去额外开启长连接。
2025-05-25 19:07:59
521
原创 leetcode hot100:十四、解题思路大全:真·大全!python版
给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。
2025-05-23 18:01:40
1101
原创 leetcode hot100:十三、解题思路大全:多维动态规划(不同路径、最小路径和、最长回文子串、 最长公共子序列、编辑距离)
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?
2025-05-23 17:00:04
573
原创 leetcode hot100:十二、解题思路大全:二分(搜索插入位置、搜索二维矩阵、在排序数组中查找元素的第一个和最后一个位置、搜索旋转排序数组、寻找旋转排序数组中的最小值、寻找两个正序数组的中位数
给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。
2025-05-23 16:45:06
575
原创 leetcode hot100:十一、解题思路大全:回溯(全排列、子集、电话号码的字母组合、组合总和、括号生成、单词搜索、分割回文串、N皇后)
我太爱这种回溯了,多做几次就熟了的感觉,别管,已膨胀(
2025-05-23 16:09:41
1230
原创 leetcode hot100:十、解题思路大全:二叉树(二叉搜索树中第 K 小的元素、二叉树的右视图、二叉树展开为链表、前序+中序构造二叉树、路径总和Ⅲ、二叉树的最近公共祖先、二叉树中的最大路径和)
中序遍历二叉搜索树可以得到一个递增序列。因此,第 k 小的元素就是中序遍历序列中的第 k 个元素。
2025-05-23 14:59:54
280
原创 leetcode hot100:九、解题思路大全:二叉树(二叉树的中序遍历、二叉树的最大深度、翻转二叉树、对称二叉树、二叉树的直径、二叉树的层序遍历、将有序数组转换为二叉搜索树、验证二叉搜索树)
呃呃呃终于到了,万众喜爱的二叉树环节。。。
2025-05-23 14:38:42
309
原创 leetcode hot100:八、解题思路大全:动态规划(爬楼梯、杨辉三角、打家劫舍、完全平方数、零钱兑换、单词拆分、最长递增子序列、乘积最大子数组、分割等和子集、最长有效括号)
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
2025-05-22 23:40:17
348
原创 leetcode hot100:七、解题思路大全:链表(K个一组翻转链表、随机链表的复制、排序链表、合并 K 个升序链表、LRU缓存)、栈(有效的括号、最小栈、字符串解码、每日温度、柱状图中最大矩形)
记它一辈子呜呜呜呜呜呜呜。坏题!坏题!!!给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。
2025-05-22 23:26:48
653
原创 leetcode hot100:六、解题思路大全:链表(相交链表、反转链表、回文链表、环形链表、环形链表Ⅱ、合并两个有序链表、两数相加、删除链表的倒数第N个结点、两两交换链表中的节点)
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null。
2025-05-22 23:01:37
785
原创 leetcode hot100:五、解题思路大全:普通数组(最大子数组和、合并区间、轮转数组、除自身以外数组的乘积、缺失的第一个正数)、图论(岛屿数量、腐烂的橘子、课程表、实现Trie前缀树)
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。
2025-05-22 18:08:26
276
原创 leetcode hot100:四、解题思路大全:滑动窗口(无重复字符的最长子串、找到字符串中所有字母异位词)、子串(和为k的子数组、滑动窗口最大值、最小覆盖子串)
给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。
2025-05-20 19:37:12
355
原创 leetcode hot100:三、解题思路大全:哈希(两数之和、字母异位词分组、最长连续序列)、双指针(移动零、盛最多水的容器、三数之和、接雨水)
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案。
2025-05-20 19:27:59
485
原创 leetcode hot100:二、解题思路大全:堆(数组中的第k个最大元素、前k个高频元素、数据流的中位数)、贪心(买卖股票的最佳时机、跳跃游戏、跳跃游戏Ⅱ、划分字母区间)
因为某大厂的算法没有撕出来,怒而整理该贴。部分题目有AC代码。
2025-05-20 19:09:37
818
原创 leetcode hot100:一、解题思路大全:技巧(只出现一次的数字、多数元素、颜色分类、下一个排列、寻找重复数)、矩阵(矩阵置零、螺旋矩阵、旋转图像、搜索二维矩阵Ⅱ)
本文整理了几道常见的算法题目及其解题思路,主要涉及数组操作和排序问题。首先,**“只出现一次的数字”问题通过异或运算的特性,能够在O(n)时间复杂度和O(1)空间复杂度内找到唯一出现一次的数字。其次,“多数元素”问题提供了两种解法:排序法和候选人算法,前者时间复杂度为O(nlogn),后者为O(n),但实际运行时间可能因语言实现而有所不同。接着,“颜色分类”问题通过三指针法(荷兰国旗解法)在O(n)时间内将数组中的0、1、2分类排序。最后,“下一个排列”**问题通过从右向左寻找第一个下降点,并交换最接近的数
2025-05-19 21:37:23
1193
原创 DRF/Django+Vue项目线上部署:腾讯云+Centos7.6(github的SSH认证、静态资源、uwsgi、nginx的配置)
80是HTTP的端口,443是HTTPS的端口,22是远程连接的端口,3306是mysql的端口。
2025-05-08 20:12:05
522
原创 高可用系统设计面试知识点总结:异步调用、限流之常见限流算法(固定窗口计数器算法、滑动窗口计数器算法、漏桶算法、令牌桶算法)、单机限流(RateLimiter)、分布式限流(RRateLimiter)
使用异步之后我们可能需要 适当修改业务流程进行配合,比如用户在提交订单之后,不能立即返回用户订单提交成功,需要在消息队列的订单消费者进程真正处理完该订单之后,甚至出库后,再通过电子邮件或短信通知用户订单成功。
2025-04-28 23:05:29
1174
原创 计网4:HTTPS和HTTP的区别?HTTPS原理、HTTP报文结构、半连接队列(SYN队列)和全连接队列、TIME_WAIT状态过多如何解决?80端口最多能连多少个IP连接?怎么看端口的监听情况?
time_wait状态过多,一般情况下其实就是在短时间内,我们建立了大量的TCP连接,但是又断开了大量的TCP连接,导致很多time_wait状态。像是我在腾讯虽然不是做监控的,但是我也有写过一些监控相关的脚本,譬如我们有一个主机,这个主机他要去监控很多个mysql服务,那么有时候我们就会发现一些mysql服务连接不上,报错说连接不上xxx端口之类的。为此,HTTPS又引入了一个服务器证书签名的机制。像是请求报文的起始行就包括,请求的类型(get还是post),请求的url,HTTP协议的版本号之类的。
2025-04-20 17:24:42
924
原创 系统设计面试总结:高性能相关:CDN(内容分发网络)、什么是静态资源、负载均衡(Nginx)、canal、主从复制
CDN 就是将静态资源分发到多个不同的地方以实现就近访问,进而加快静态资源的访问速度,减轻服务器以及带宽的负担。你可以将 CDN 看作是服务上一层的特殊缓存服务,分布在全国各地,主要用来处理静态资源的请求。我们经常拿全站加速和内容分发网络做对比,不要把两者搞混了!全站加速(不同云服务商叫法不同,腾讯云叫 ECDN、阿里云叫 DCDN)既可以加速静态资源又可以加速动态资源,内容分发网络(CDN)主要针对的是 静态资源。绝大部分公司都会在项目开发中使用 CDN 服务,但很少会有自建 CDN 服务的公司。
2025-04-13 13:11:33
1170
原创 计网3:为什么说TCP是可靠的?ACK和重传机制、流量控制/拥塞控制机制、CLOSE_WAIT 、 TIME_WAIT 了解过是什么吗?服务器发送给客户端ack、FIN时,tcp是什么状态?
首先,在TCP协议中,接收数据的被动方当接收到数据时,会发送一个ACK包,并带上正确的序号(期望下一个字节的序号)。那么发送数据的主动方就能通过这个ACK包,来确认数据是不是丢失了,因为发送方会在发送数据的时候,就启动一个叫重传计时器的东西,如果在超时时间内还没有收到ACK包,那么它就默认这个包丢失了,就会触发重传机制。譬如发送方发的数据的序号是1,数据大小是100字节,那接收方就会回复一个ACK包,带上序号101。其次就是, TCP存在一个流量控制(滑动窗口)的机制。
2025-04-10 00:18:57
408
原创 python笔试输入输出模板ACM模式
:文件对象(包含所有输入内容,直到遇到文件结束符EOF),不能直接strip()或split():去除行首尾的空白字符(如换行符)。:将字符串按空格分割成列表(如[‘1’, ‘5’])。:将列表中的每个元素转换为整数。:计算两个整数的和。输入行数,再输入多行,每行空格分割等效参数或者输入多行,每行空格分割等效参数,直到遇到固定输入如0 0或者输入多行,每行开头为参数个数,然后是空格分割的等效参数,直到参数个数为固定值如0结束输入行数,再输入多行,每行开头为参数个数,然后是空格分割
2025-03-28 23:27:15
382
原创 数据结构与算法:链表相关力扣题:203.移除链表元素、707. 设计链表、206. 反转链表、24.两两交换链表中的节点、19. 删除链表的倒数第 N 个结点、142.环形链表 II
效率:0ms,击败100.00%
2025-03-27 22:55:24
357
原创 分布式系统面试总结:3、分布式锁(和本地锁的区别、特点、常见实现方案)
仅供自学回顾使用,请支持javaGuide原版书籍。本篇文章涉及到的分布式锁,在本人其他文章中也有涉及。
2025-03-27 20:01:39
498
原创 分布式系统面试总结:2、分布式ID的业务场景:一码付(微信/支付宝二维码付款)、订单号、优惠券/兑换券、日志跟踪/分布式链路跟踪(trace和span的生成规则)、短网址
仅供自学回顾使用,请支持javaGuide原版。
2025-03-26 21:01:54
1040
原创 数据结构与算法:数组相关力扣题:27.移除元素、977.有序数组的平方、209.长度最小的子数组、59. 螺旋矩阵 II
因为要原地操作,所以一开始的思路就是遍历数组,遇到数值符合的元素,将其和后面的元素两两交换从而实现后移一位。这个代码的问题就是,如果在数组中遇到重复的数值等于val的元素,这个两两交换且后移一位就会失效。
2025-03-25 21:59:04
705
原创 分布式系统面试总结:2、分布式ID的特性、数据库生成(mysql自增主键、号段模式、redis的incr)、算法生成(UUID、Snowflake雪花算法)、开源框架生成(Leaf、Tinyid)
一个好的分布式ID除了满足基本条件(如全局唯一)之外,最好还有以下特性:最简单的一种,通过自增主键产生来唯一的 ID。stub 字段无意义,只是为了占位,便于我们插入或者修改数据。并且,给 stub 字段创建了唯一索引,保证其唯一性。然后我们通过 来插入数据。1.2.1.1.1. vs 插入数据这里,我们没有使用而是使用来插入数据。因为的实现如下:而的实现如下:支持的并发量不大存在数据库单点问题(可以使用数据库集群解决,不过增加了复杂度)ID 没有具体业务含义安全问题(比如根据订单 ID 的递增规
2025-03-25 18:58:02
987
原创 分布式系统面试总结:1、CAP+BASE理论、Raft算法(选举机制、心跳机制)、API网关:常见功能、和反向代理的区别、Spring Cloud Gateway(过滤器、如何自定义全局异常处理)
在 SpringBoot 项目中,我们捕获全局异常只需要在项目中配置 @RestControllerAdvice和 @ExceptionHandler就可以了。不过,这种方式在 Spring Cloud Gateway 下不适用。Spring Cloud Gateway 提供了多种全局处理的方式,比较常用的一种是实现ErrorWebExceptionHandler并重写其中的handle方法。
2025-03-20 15:27:15
661
原创 系统设计面试总结:8、java的web端站内信/消息推送详解:短轮询、长轮询、SSE、Websocket
进攻自学回顾使用,请支持javaGuide原版书籍。
2025-03-19 20:59:29
873
原创 数据结构与算法:动态规划dp:子序列相关力扣题(下):392. 判断子序列、115.不同的子序列、583. 两个字符串的删除操作、72.编辑距离、647. 回文子串、516. 最长回文子序列
效率:19ms,击败16.26%代码简单是简单,就是效率太低了。我们不需要使用两重循环来遍历两个字符串,而是直接双指针一起遍历即可。
2025-03-13 23:18:12
239
原创 系统设计面试总结:7、java的定时/延时任务:单机(ScheduledThreadPoolExecutor、Spring Task、时间轮)、分布式任务调度框架(Quartz、XXL-JOB)
它是 BlockingQueue 的一种,底层是一个基于 PriorityQueue 实现的一个无界队列,是线程安全的。当我们需要新建一个 3s 后执行的定时任务,只需要将定时任务放在下标为 3 的时间格中即可。当我们需要新建一个 9s 后执行的定时任务,只需要将定时任务放在下标为 9 的时间格中即可。时间轮中的每个时间格代表了时间轮的基本时间跨度或者说时间精度,假如时间一秒走一个时间格的话,那么这个时间轮的最高精度就是 1 秒(也就是说 3 s 和 3.9s 会在同一个时间格中)。有点伪分布式的味道。
2025-03-13 19:09:32
1281
原创 系统设计面试总结:6、敏感词过滤方案:Trie字典树、DAT、AC自动机;数据脱敏方案:Hutool(配合jackson通过注解实现脱敏)、FastJson、MyBatis-Flex(自定义代码实现)
Retention (RetentionPolicy.RUNTIME):运行时生效。@Target (ElementType.FIELD):可用在字段上。@JacksonAnnotationsInside:此注解可以点进去看一下是一个元注解,主要是用户打包其他注解一起使用。@JsonSerialize:上面说到过,该注解的作用就是可自定义序列化,可以用在注解上,方法上,字段上,类上,运行时生效等等,根据提供的序列化类里面的重写方法实现自定义序列化。
2025-03-12 19:19:44
1012
黑马头条初始化工程项目代码
2024-02-07
黑马头条初始化工程maven仓库
2024-02-07
sky-take-out阶段性工程代码(day04-套餐之分页查询、新增套餐、修改套餐、启用禁用套餐)
2023-11-05
sky-take-out阶段性工程代码(店铺营业状态查询与设置)
2023-11-01
redis可视化客户端Another-Redis-Desktop-Manager.1.5.5和redis win、linux版本
2023-11-01
sky-take-out资料
2023-10-17
javaweb:mybatis之mapper三种实现方式的代码,第一种是sql映射实现,第二种是代理实现,第三种是注解实现
2023-10-11
Django之十四、添加用户之django组件Form/ModelForm实现
2023-10-04
java常用映射器(b站黑马程序员瑞吉外卖代码资源)
2023-09-01
springboot练手项目reggie外卖的数据库、pom文件、application文件、前端资源
2023-07-15
Hypervisor脚本:解决电脑没有HyperV问题
2023-07-13
三、Django之使用模板并引用静态内容:jquery-3.6.0.min.js和bootstrap-3.4.1
2023-06-27
Vue3项目调用百度地图不成功
2024-02-08
vue页面文字自动左右翻转的问题
2024-02-08
一个vue3项目的页面跳转失效问题
2024-02-08
spring/springboot自定义aop注解失效
2023-10-21
使用mockjs模拟图片并展示在前端时报错
2023-09-20
设置的@TableId(type = IdType.AUTO)不生效
2023-09-19
springboot整合本机redis测试出错
2023-09-02
使用WEIBO数据集做中文实体识别时无法跑通项目
2023-07-05
请问Django可以直接在models.py里面用orm删除数据吗?
2023-06-29
使用Django的load语法加载图片失败
2023-06-23
使用Django的load语法加载图片失败
2023-06-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人