自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 即时通讯项目---好友管理子服务

本模块主要介绍即时通讯项目有关好友管理这部分内容。主要设计好友添加、删除、获取好友列表、创建会话等等一系列操作。

2025-08-08 15:34:40 550

原创 剑指offer67道算法题速刷(C++)

剑指offer67道算法题,附带题目链接与代码。

2025-08-06 14:17:45 614

原创 即时通讯项目---消息持久化子服务

本模块主要介绍消息持久化这部分内容,主要是当新消息发送之后,消息转发模块会把消息存到mq中,而本模块要做的就是从mq中读取消息内容持久化到mysql中,并提供消息记录的查询功能。

2025-08-04 13:49:20 321

原创 即时通讯项目---etcd、spdlog、odb二次封装

本篇主要介绍etcd.hpp logger.hpp mysql.hpp三个通用文件的封装。

2025-08-03 17:59:22 658

原创 即时通讯项目---消息转发子服务

本篇主要介绍消息转发子服务的实现,具体来说就是client在一个聊天会话中发送了一条消息,server收到之后就要把该消息转发给聊天会话中的人。该服务要做的就是找到聊天会话中有些谁,然后交给网关服务去逐个进行消息转发。

2025-08-02 17:34:47 571

原创 即时通讯项目---用户管理

本篇主要是对于该项目的用户管理模块做一个文档说明,即登录用户自己的一些信息进行管理,比如说登录用户的注册登录服务,用户名、密码、签名、头像等等的一些操作进行处理。

2025-08-01 18:28:43 789

原创 ChatIm项目文件上传与获取

ChatIm项目文件服务模块

2025-07-26 18:40:26 706

原创 brpc的安装与使用介绍以及channel的封装

brpc在ubuntu24.04的安装与使用介绍,rpc调用流程介绍,以及channel的封装

2025-07-20 17:03:35 731

原创 ChatIM项目语音识别安装与使用

这是一个ChatIM的项目,有兴趣的伙伴可以照着我的博客和gitee进行完成gitee链接:https://gitee.com/qi-haozhe/chat-im。

2025-07-20 14:49:18 751

原创 Go语言反射机制详解

go语言反射机制

2025-07-08 20:22:20 631 1

原创 Lua中table、模块、元表和元方法

Lua中table、模块、元表和元方法的学习与使用

2025-05-28 17:40:05 1284

原创 Lua基础语法

lua注释、数据类型·、标识符、运算符、函数、循环控制、流程控制语法学习。

2025-05-25 23:14:00 1282

原创 【得物】20250419笔试算法题

【得物】笔试真题训练-20250419

2025-04-22 15:41:26 2227

原创 【盒马】20250412笔试算法题

接下来我们计算当选中白色位置的时候期望如何算,具体思路是,当选中一个W位置(i,j)时,我们就需要看看以(i,j)为基点,当把该位置染成红色之后,上下左右四个方向可以把几个连通块合成一个连通块。我们可以看上下左右四个放下的arr中存的值放到一个set里,set是会去重的,所以最后set里面有几个元素,就说明有几个连通块被合成了一个连通块,本题比较简单,就是输入俩字符串,s和t,保证这俩字符串的字符个数都是偶数,然后把t的后半部分拼接到s后面,然后把s和t的前半部分输出即可。

2025-04-17 11:30:52 763

原创 C++笔试强训18、19、20

如果在父类构造函数中调用虚函数,由于调用构造函数的顺序是先调用父类的构造函数再调用子类的构造函数,所以这个时候子类还没初始化呢,如果形成多态会发生一些未定义的错误,所以就只能调用父类的虚函数,所以不会发生多态。然后调用子类的构造函数,子类构造函数中调用了父类成员函数test,test中调用会使用父类的this指针调用func函数,会发生多态,因为父类this指针指向的是子类对象,所以会调用子类的成员函数func,会。C/D:map、set底层都是红黑树,每个节点之间不是连续的,节点之间是通过指针相连的。

2025-04-14 16:54:19 731

原创 【腾讯云智】20250329笔试算法题

main函数中二维数组直接遍历,如果该位置不为0即有僵尸,且vis[i][j]=false代表没被遍历过,那就直接把vis[i][j]=true,然后tmp=arr[i][j]表示这一个范围tmp即僵尸的初始数量然后++cnt,表示块数+1,然后调用dfs即可。我们可以找打一个最小的数a=3满足6<=2*3<=9,如果a变成2就不满足了,所以最小就是3,然后可以找到一个最大的数b=4满足6<=2*4<=9,如果b=5的话就不满足了,所以b最大只能是4,所以最后输出3 4。

2025-04-13 13:51:56 1170

原创 常见算法模板总结

各类算法模板总结,包括C++、Java、Python三种语言。

2025-04-09 22:13:54 445 1

原创 滑动窗口常见题目

滑动窗口常见套路总结,与部分题目解析

2025-03-24 17:38:49 984

原创 回溯算法经典题目

回溯算法常见题目

2025-03-22 18:31:25 929

原创 C++从零实现Json-Rpc框架

RPC(Remote Procedure Call)远程过程调用,是⼀种通过网络从远程计算机上请求服务,而不需要了解底层网络通信细节。RPC可以使用多种网络协议进行通信, 如HTTP、TCP、UDP等, 并且在TCP/IP网络四层模型中跨越了传输层和应用层。简言之RPC就是像调用本地方法一样调用远程方法。过程可以理解为业务处理、计算任务,更直白的说,就是程序/方法/函数等,就是像调用本地方法一样调用远程方法。具体原理不多做解释,简单来说就是客户端A需要运行函数func,得到结果,但是这个函数不在客户端这里,

2025-03-11 17:48:09 1172

原创 从0开始完成基于异步服务器的boost搜索引擎

基于自研muduo库的异步boost搜索引擎项目

2025-03-09 15:36:04 555

原创 C++ map、set、multimap、multiset的介绍和使用

set文档set是按照一定次序存储元素的容器在set中,元素的value也标识它(value就是key,类型为T),并且每个value必须是唯一的。set中的元素不能在容器中修改(元素总是const),但是可以从容器中插入或删除它们。在内部,set中的元素总是按照其内部比较对象(类型比较)所指示的特定严格弱排序准则进行排序。set容器通过key访问单个元素的速度通常比unordered_set容器慢,但它们允许根据顺序对子集进行直接迭代。set在底层是用二叉搜索树(红黑树)实现的。

2025-03-08 10:39:21 598

原创 Redis的持久化-RDB&AOF

redis持久化 AOF与RDB过程详解

2025-03-02 13:14:53 1219

原创 C++特殊类的设计

在加锁区域内,再次进行判空检查(第二次检查),这是为了确保在第一个线程进入加锁区域后,如果有其他线程也尝试进入,它们会在第一次检查失败后被阻塞,直到第一个线程完成单例对象的创建并解锁。将该类的构造函数设置为私有即可,因为子类的构造函数被调用时,必须调用父类的构造函数初始化父类的那一部分成员,但父类的私有成员在子类当中是不可见的,所以在创建子类对象时子类无法调用父类的构造函数对父类的成员进行初始化,因此该类被继承后子类无法创建出对象。然而,这种方法虽然简单有效,但在单例对象已经创建之后,每次调用。

2025-02-27 19:50:15 931

原创 MySQL索引概述与使用

MySQL索引基础概念与基本操作

2025-02-24 18:26:05 1082

原创 Linux当中的权限问题

文件权限介绍与管理,普通用户与超级用户介绍与切换,文件掩码,粘滞位等等。

2024-09-27 11:25:47 916

原创 C++ bitset(位图)的模拟实现

判断方式比较简单,每一个整数的所有比特位,只要有一个为1,那该整数就肯定不等于0,所以,我们可以遍历所有整数,只要有一个整数不等于0,那就说明有1,返回true,否则所有整数都是0,没一个1,返回false。需要注意的是,如果位图没有包含最后一个整数的全部比特位,那么最后一个整数的二进制无论如何都不会为全1,所以在判断最后一个整数时应该只判断位图所包含的比特位。例如,假如我们要建立一个50个比特位的位图,就需要两个int大小,共64个比特位,使用前50个比特位,后14个舍弃不用就好。的大小是否符合预期。

2024-09-25 13:35:12 975

原创 C++ bitset(位图)的介绍和使用

面试题给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数中。【腾讯】遍历,时间复杂度O(N)排序(O(NlogN)),利用二分查找: logN单从方法上来说这两种方法都是可以的,但是从内存上来说,这里有40亿个整数,换算一下就相当于16G,也就是说要操作这些数据的话需要占用16G的内存,内存消耗是很大的,所以从内存上来看,这两种方法都是不合适的。位图解决。

2024-09-24 20:03:30 2882

原创 C++笔试强训15、16、17

在同一个作用域内,可以有多个同名函数,但这些函数的参数列表(参数的数量、类型或顺序)必须不同。重载是编译时多态的一种体现。

2024-09-23 13:26:40 1016

原创 Redis中List(列表)类型的常用命令

Redis中List数据类型的常用命令

2024-09-22 12:56:24 961

原创 Redis中Hash(哈希)类型的基本操作

redis中哈希类型的基本操作

2024-09-20 10:57:16 2144

原创 C++笔试强训12、13、14

C++笔试强训12、13、14,共三十道选择题,6道编程题。

2024-09-07 17:18:07 1201

原创 Redis中String类型的基本命令

Redis中String类型的基本操作命令

2024-09-05 23:25:04 1229 1

原创 Redis基本全局命令

redis基本全局命令

2024-08-29 13:20:05 1080

原创 ProtoBuf简要介绍与快速上手使用(C++版)

protobuf简要介绍与初步上手(C++语言)

2024-08-24 21:30:29 1645 5

原创 C++笔试强训11

C++笔试训练

2024-08-08 21:11:52 924

原创 C++笔试强训10

a是const int类型的,&a就是const int*类型的,此处强转成int*类型赋值给p,然后通过p修改了值为20,然后打印出a的值和*p的值。在主流编译器中空类的大小一般都是1,如果空类的大小为0的话,比如说类A创建了三个对象a、b、c,那在内存上,这三对象不就在同一个内存位置了嘛?const成员函数,const加在函数名()的后面,此处的const实际上修饰的是this指针,表明在该成员函数中,不能修改非静态的成员变量。故会先初始化a,后初始化b,和初始化列表中a,b的顺序无关,故会输出ab。

2024-07-31 12:16:20 849

原创 C++笔试强训9

本题中就是没有配对使用导致的问题,new class A[5]会调用5次构造函数,但在释放的时候应该使用delete[] pclassa才对,这里使用的是delete pclassa会导致未定义行为,题目不太严谨,此处应该给出出现未定义行为才对,不过如果非要选一个的话,那就是析构了一次,因为。C++中的静态数据成员是类的成员,但它不是类的任何特定对象的实例的一部分。A:将构造函数设为私有,new都创建不了,因为new一个对象的时候会调用该对象的构造函数,现在构造函数私有的,就不能创建了,故A错。

2024-07-28 18:38:47 953

原创 C++笔试强训8

本题让补充一个构造函数,成员变量是一个int类型的指针p,然后调用show函数返回*p之后是个5,说明我们要给p来new一块内存,并把5存进去,p=new int(x)符合题意,故选B。类里有个静态成员变量,构造函数中++了一次,析构函数中–的一次,故值不变,又因为静态成员变量是属于类的,故对象释放该静态成员变量依旧存在,故值不变还是0‘故选D。概念:是一个特殊的构造函数,是单参的,参数类型必须是类类型的引用,一般情况下会使用const来修饰例如: A(const A& a),指针可以改变所指对象,正确。

2024-07-25 18:16:42 1189

原创 C++笔试强训7

这意味着编译器会尝试将函数的代码直接插入到每个调用该函数的地方,而不是像通常那样进行函数调用(即,生成调用指令,跳转到函数代码,执行函数体,然后返回)。友元函数是在类外部定义的普通函数,它只能通过传入的参数(如果有的话)来访问类的成员,或者通过类的对象显式地访问(如果该函数设计为接受类的对象作为参数)。函数参数默认值又叫缺省参数,缺省参数必须从右向左开始缺省,必须连续给定缺省值,也就是说,从左到右,一旦遇到一个参数是缺省的,那么之后的参数也必须都是缺省的。指针是类成员函数特有的,用于指向调用该函数的对象。

2024-07-21 22:06:29 1162 2

SGI版本的STL源码

SGI版本的STL源码,侯捷老师推荐版本。

2024-04-29

空空如也

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

TA关注的人

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