自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(212)
  • 收藏
  • 关注

原创 浙大数据结构全题解汇总(C++实现)

浙大数据结构题解汇总

2024-10-16 23:00:57 1035

原创 手写mini-spring项目梳理

spring相关的异常BeanDefinition类:Bean的定义(核心),不包含Bean的具体信息BeanDefinitionRegistry接口:注册Bean(核心),定义注册Bean方法BeanFactory接口:IoC容器的核心接口,定义获取Bean的方法(核心)SingletonBeanRegistry接口:定义了一个获取单例对象的接口。

2025-11-21 10:53:55 818

原创 面试常考排序复习

【代码】面试常考排序复习。

2025-11-20 17:39:47 188

原创 黑马点评逻辑梳理+面试题

我参与的 “XXXXXX系统” 是一个基于 SpringBoot 的前后端分离项目,主要围绕本地生活服务场景,实现了短信验证码登录、店铺查找、优惠券秒杀、到店点评的业务流程。其中最大的难点我认为就是优惠券秒杀,这里遇到过超卖问题和一人一单问题,超卖问题是我在进行测试时发现100张优惠券生成了120个左右的订单,这里明显是有问题,后来我进行排查发现原来是库存判断和扣减的非原子性操作,从而导致超卖。

2025-11-19 13:29:54 636

原创 codetop高频(10)

使用归并排序的思想:先找到中间节点将链表劈成两半,然后进行归并排序的递归调用。分两半的链表再合并一下,最后返回。

2025-11-13 13:29:54 319

原创 codetop高频(9)

使用深度搜索,优先添加左括号,当右括号比左括号少时再添加右括号。

2025-11-12 11:33:12 274

原创 codetop高频(8)

先数出来一共有几个节点,然后遍历到要删除的节点的前一个节点,最后删除。

2025-11-11 20:53:51 143

原创 Linux&git入门&设计模式(常考点)

System.out.println("去医院看病了~");//由于现在不知道该开什么处方,所以只能先定义一下行为,然后具体由子类实现//大致的流程先定义好就行//开药同理//开处方操作根据具体病症决定了//拿药也是根据具体的处方去拿。

2025-11-09 18:48:00 933

原创 操作系统面试题学习

操作系统是计算机系统中管理硬件和软件资源的中间层系统,屏蔽了硬件的复杂性,并且为用户提供了便捷的交互方式,比如说 Windows、Linux、MacOS 等操作系统核心有四大功能:文件、cpu、内存、IO管理文件管理:提供文件增删改的功能,并维护文件的存储结构cpu管理:也就是进程管理,用于创建和终止进程内存管理:为进程分配资源,并存储应用信息IO管理:管理连接设备以及网络IO与os的交互用户态和内核态的划分主要源于内存的划分,操作系统的内存分为内核空间和用户空间,

2025-11-09 16:22:24 521

原创 计算机网络面试题

OSI 是理论上的网络通信模型,TCP/IP 是实际应用层面上的网络通信模型OSI模型包括7层:应用层:负责给应用程序提供统一的接口表示层:负责数据格式转换会话层:维护通信会话传输层:负责端到端的传输网络层:负责主机到主机的传输数据链路层:进行数据的封装、寻址物理层:在物理链路中进行传输TCP/IP模型包括四层:应用层 :支持HTTP、DNS(SMTP、FTP)等协议,为用户提供应用功能传输层:负责端到端的传输(TCP、UDP协议)网际层:实现主机到主机的传输,依靠于IP协议。

2025-11-09 15:32:20 570

原创 面试题:多线程打印ABC和0-100

使用信号量Semaphore,A先获取许可证再依次交给B和C。

2025-11-06 17:17:35 170

原创 高频八股自用

是不可变类,实现原理是String类里有final数组来存放字符串,本身类也是final不可被继承修改,而且提供的方法对字符串操作都不会修改源字符串,会新建一个返回。负载因子是0.75,当HashMap里元素的数量超过容量*负载因子时会发生扩容至原来的2倍。负载因子如果太低,比如0.5则会浪费很多空间,如果是0.9则会发生太多冲突导致性能下降。0.75 是 JDK 作者经过大量验证后得出的最优解,能够最大限度减少 rehash 的次数。而且由于容量是2的幂,所以算出来的数恰好都为整数。

2025-11-05 15:48:33 780

原创 codetop高频(7)

【代码】codetop高频(7)

2025-11-04 16:46:53 299

原创 codetop高频(6)

dp[i][j]表示word1的前i个字符(最大下标i-1)与word2的前j个字符(最大下标j-1)的最少操作数。否则取dp[i-1][j]\dp[i][j-1]\dp[i-1][j-1]最小加1。简单模拟,用StringBuilder存答案,因为是倒序所以最后要反转。从末尾遍历两个字符串,转换为数字相加,留下进位,取模存到ans里面。dp经典题目,首先dp数组初始化两边,并且考虑指针越界问题。退出循环有两种可能,要么走到同一节点,要么都为null。如果当前两位置相等,则直接等于dp[i-1][j-1]

2025-10-22 12:33:50 148

原创 codetop高频(5)

层序遍历,再用collections反转偶数层。注意用两个list,一个存ans一个存layer,一个queue,存树节点。使用快慢指针,一个两步,一个一步。每次都要判断right及right的下一个节点不为空,因为要移动否则会报空指针异常。遍历四周,直到元素等于总和停下,每次加入前都要判断。i,j算位置,注意回溯及移位,回到最左边前layer++,算最外层有多厚。

2025-10-21 10:20:28 348

原创 codetop高频(4)

依旧要维护四个指针,反转过程中的cur和pre,left和right存反转的前一个节点和反转开始节点,这样最后把这四个节点连起来就能将反转链表插入原链表中。使用ArrayDeque实现栈,如果为前置符号直接放入后置对应符号,如果为空或者栈内符号不等于当前符号,证明后置错误,返回false。pre存最小的价格,如果当前比之前高就比较一下,每次更新一下pre。为空或pq就返回该节点(假设pq在同一颗子树上会直接返回最高节点)然后查左子树右子树,如果都不为空则pq在两边,返回中间。最后栈不为空返回false。

2025-10-20 13:10:32 256

原创 codetop高频(3)

dfs:遍历四个方位算出当前位置,如果越界就跳过,如果不是岛屿或者走过了就跳过。先去找最小位置的下标,然后再判断去左右哪边进行二分查找,注意越界和不等情况。使用arraydeque来实现队列存放Node节点,集合的使用较为多。一个path数组,一个visit数组(回溯算法需要path)初始化4个方位的数组,一个岛屿二维数组和visit数组。遍历每一个元素,如果找到了没走过的岛屿就dfs并+1。dfs遍历的时候注意删除判断,用size()-1进行。在就返回,不在就放入。否则标记走过并进入。

2025-10-19 15:22:10 255

原创 codetop高频(2)

如果i==j并且字符串长度小于等于3(2、3长度回文)或i-1==j+1(3以上长度回文)就让dp为true。主函数直接调用,quicksort分左右两侧遍历,不稳定,元素相等会交换位置。<2直接返回,默认最小值为1,dp[i][j]表示i到j的字符串是否回文。一个循环判断即可,比较当前节点的值小的放进来,然后移动两个指针。注意先排序,然后第一个位置重复了跳过,里面重复了跳过。还有swap函数,注意i,j,l,r的大小关系。dp(最佳写法,还有中心扩散法但不如dp)初始化一个头结点,和一个新链表指针。

2025-10-16 21:11:42 288

原创 codetop高频(1)

初始化时简历linkedHashMap并初始化accessorder为true,让它按找访问顺序排序(get\put时更新),这里它会自动将最近访问移到链表最前面,还有重写里面的removeEldestEntry方法,它会在put新元素时检查是否要移除最老元素,如果为true则移除。(其实这个代码有一个小bug,那就是对于未访问但已过期的元素没有及时删除,不过要实现完整的在面试的短时间内感觉够呛,这样感觉应付面试官也够用了)使用集合 O(Nlogk),最小堆存元素,超过k了就移除堆顶,实现简单。

2025-10-15 14:45:35 422

原创 Java面试常用算法api速刷

面试常用api

2025-10-09 23:04:47 670

原创 SSM面试题学习

IoC:即控制反转的意思,它是一种创建和获取对象的技术思想,依赖注入(DI)是实现这种技术的一种方式。传统开发过程中,我们需要通过new关键字来创建对象。使用IoC思想开发方式的话,我们不通过new关键字创建对象,而是通过IoC容器来帮我们实例化对象,并进行Bean对象生命周期的管理,可以大大降低对象之间的耦合度。AOP:是面向切面编程,能够将那些与业务无关,却为业务模块所共同调用的逻辑封装起来,以减少系统的重复代码,降低模块间的耦合度。

2025-10-07 19:26:23 926

原创 Redis面试题学习

redis作为缓存主要有四个问题,分别是缓存穿透、缓存击穿、缓存雪崩以及缓存一致性问题。缓存穿透是指当用户访问的数据,既不在缓存中,也不在数据库中,导致出现大量Redis不存在数据的请求落入DB,从而导致DB出现瓶颈或者直接被打宕机,整个系统陷入瘫痪。解决方案也有几种,对于恶意攻击我们可以做ip限流和非法校验,在redis中缓存一个空值或默认值,或者也可以使用布隆过滤器快速判断是否存在。

2025-10-07 13:22:33 832

原创 MySql复习及面试题学习

不断维护

2025-10-06 21:43:57 1267

原创 demo:基于 SpringMVC 的用户管理系统

其实这个demo的有些逻辑并不是非常合理,主要是自己动手体验一下mvc的架构,并且多熟悉一下其中的注解和配置,我争取后续的demo中业务逻辑更加的完善一些。

2025-06-30 19:56:55 490

原创 SSM重点复习

使用@RequestBody注解将json数据转换为Java对象前提:导入jackson依赖、使用注解@EnableWebMvc(配置json转换器)//接受Cookie//接受请求头 使用@RequestHeader共享域:request\session\servletcontext\model家族。

2025-06-17 10:33:14 719

原创 面试刷题4:java(核心+acm模式)

【代码】面试刷题4:java(核心+acm模式)

2025-05-26 20:39:15 443

原创 面试算法刷题3(核心+acm)

哈希表,将元素,下标键值对存储进去,然后遍历查找即可。string数组转为int数组再遍历,最后输出答案。不断递归根节点,根据深度来判断加在哪一层上。时空复杂度都为O(n)

2025-05-20 15:33:44 381

原创 Spring6学习及复习笔记

个人使用,不断维护

2025-05-17 16:09:29 1345 1

原创 面试常考算法2(核心+acm模式)

力扣面试题(核心+acm模式)

2025-05-09 12:27:07 385

原创 面试算法刷题练习1(核心+acm)

面试常考算法核心+acm模式

2025-05-07 19:05:01 532

原创 JVM面试题学习

个人使用,后续完善

2025-04-21 17:06:23 938

原创 JUC面试题学习

个人复习使用,不断维护

2025-04-20 21:39:35 975

原创 Java集合面试题学习

个人复习使用,不断维护

2025-04-19 14:13:30 807

原创 Java基础面试题学习

本人查缺补漏使用,持续完善

2025-03-20 14:55:01 1128

原创 java面试复习巩固

针对本人进行复习,暂未完成,会后续更新

2025-03-05 16:10:42 979

原创 计算机网络:网络层知识点及习题(二)

在RIP中,假设路由器X和路由器K是两个相邻的路由器,X向K说:“我到目的网络Y的距离为N(假设N小于15)”,则收到此信息的K就知道:“若将到网络Y的下一个路由器选为X,则我到网络Y的距离为”A. 在进行路由信息交换时,OSPF协议中的路由器向本自治系统中的所有路由器发送信息,RIP协议中的路由器仅向自己相邻的路由器发送信息。B. 在进行路由信息交换时,OSPF协议中的路由器发送的信息只是链路状态数据库中的部分内容,RIP协议中的路由器发送的信息是整个路由表。

2025-01-04 19:26:37 1173 1

原创 计算机网络:网络层知识点及习题(一)

网络层实现主机到主机的传输,主要有分组转发和路由选择两大功能路由选择处理机得出路由表,路由表再生成转发表,从而实现分组从不同的端口转发网络层向上层提供的两种服务:面向连接的虚电路服务、无连接的数据报服务。因特网采用后者。

2025-01-02 19:53:18 1382

原创 计算机网路:运输层知识点及相关习题

主机甲和主机乙之间建立了一个TCP连接,TCP最大段长度为1000字节,若主机甲当前发送窗口为6000字节,不考虑拥塞窗口,在主机甲向主机乙连续发送三个最大段后,成功收到主机乙发送的第一个段的确认段,确认段中通告的接收窗口大小为4000字节,则此时主机甲还可以向主机乙发送的最大字节数是。主机甲和乙建立了TCP连接,主机甲向主机乙发送了两个连续的TCP段,分别包含200字节和300字节的有效载荷,第一个段的序号为100,主机乙正确接收到两个段后,发送给主机甲的确认号是。

2024-12-28 18:44:21 942

原创 JavaWeb:JavaScript

内容

2024-12-12 18:32:12 551

原创 计算机网络:数据链路层(三)

3 在下图中,假设交换机的转发表是空的,主机H2给H3发送一个单播帧,则能收到该单播帧的主机有。A. IEEE 802.1Q帧对以太网的MAC帧格式进行了扩展,插入了4字节的VLAN标记。C. 交换机之间传送的帧可能是IEEE 802.1Q帧,也可能是普通以太网帧。2 假设交换机的转发表是空的,当交换机收到某个单播帧后,会将该帧。D. 记录数据包的目的IP地址与该数据包进入交换机的端口号。B. 记录帧的目的MAC地址与该帧进入交换机的端口号。A. 记录帧的源MAC地址与该帧进入交换机的端口号。

2024-12-12 16:06:38 1385

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除