自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL(含面试题)

请注意,以上提到的优化策略可能不适用于所有数据库系统和应用程序。在实际应用中,应根据具体的数据库类型、工作负载和硬件环境来选择合适的优化方法。此外,当对数据库进行更改时,务必备份并在测试环境中验证更改的影响。SQL语句性能优化是提高数据库应用程序效率的关键。

2023-09-08 20:16:21 88 1

原创 排序算法详解

插入排序在实现上,通常采用in-place排序(即只需用到 {\displaystyle O(1)} {\displaystyle O(1)}的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。在区间中随机挑选一个元素作基准,将小于基准的元素放在基准之前,大于基准的元素放在基准之后,再分别对小数区与大数区进行排序。挪位,为最新元素提供插入空间。

2023-09-02 11:03:50 205

转载 C库字符串函数介绍

C 库函数 char *strstr(const char *haystack, const char *needle) 在字符串 haystack 中查找第一次出现字符串 needle 的位置,不包含终止符 '\0'。返回值:若str2是str1的子串,则返回str2在str1的首次出现的地址;)又称结束符,缩写 NUL,是一个数值为 0 的控制字符,\0 是转义字符,意思是告诉编译器,这不是字符 0,而是空字符。在 C 语言中,字符串实际上是使用空字符 \0 结尾的一维字符数组。

2023-09-02 09:10:54 189

原创 刷题算法逻辑篇

例如,如果你的键是字符串,那么它将花费 O(m),其中 m 是字符串的长度。大多数算法的时间复杂度为 O(n⋅k),k 是在每个节点上做的操作数, 通常是 O(1)。根据实现的不同,通过索引访问元素可能比 O(n) 快,但有一个重要的常量除数。图上的 DFS 和 BFS:O(n⋅k+e),其中 n 是节点数,e 是边数,前提是每个节点处理花费都是。在最坏的情况下,二分查找的时间复杂度为 O(logn),其中 n 是初始搜索空间的大小。O(n⋅k),其中 n 是状态数,k 是每个状态所需要的操作数。

2023-09-01 21:05:47 70 1

原创 C++中的STL标准库常用函数lower_bound()、upper_bound()、equal_range() 以及 binary_search() 的用法

lower_bound() 函数定义在。

2023-09-01 20:40:04 1580 1

原创 Linux基本知识(含面试题)

Linux进程中,应用可见的内存空间是一样的,是如何做到的A.使用虚拟内存转换B.运行时分配不—样的实际地址C.都不是D.编译时区分正确答案是A.使用虚拟内存转换。在Linux进程中,应用可见的内存空间是一样的,这是通过使用虚拟内存转换来实现的。虚拟内存技术使得每个进程都拥有独立的内存空间,同时保证了不同进程之间的隔离性。通过虚拟内存转换,可以将逻辑地址转换为物理地址,使得每个进程可以使用相同的逻辑地址空间,但实际上访问的是不同的物理地址空间。

2023-09-01 19:25:32 427 1

原创 常见设计模式讲解(含面经)

单例模式:保证类的实例化对象仅有一个,并且提供一个访问他的全局访问点。应用场景:表示文件系统的类,一个操作系统一定是只有一个文件系统,因此文件系统的类的实例有且仅有一个。打印机打印程序的实例,一台计算机可以连接好几台打印机,但是计算机上的打印程序只有一个,就可以通过单例模式来避免两个打印作业同时输出到打印机。实现方式:单例模式可以通过全局或者静态变量的形式实现,这样比较简单,但是这样会影响封装性,难以保证别的代码不会对全局变量造成影响。

2023-09-01 10:31:09 52 1

原创 算法相关知识(含面试题)

背包问题的基本条件:背包容量V和一些物品,物品有体积和价值两个属性。0-1背包的问题限制的条件是每个物品只有一种,要么放入背包,要么不放入,如何才能使得背包获得最大的价值,最终的结果,背包可以不被放满。多重背包问题是介于0-1背包和完全背包问题之间,多重背包的每个物品的数量是有限的,是介于1到无限之间的某个数。当然我们仍然可以转化为0-1背包问题来解决.同样是有N种物品和一个容量为V的背包,和0-1背包不同的是每种物品的个数是无限个。

2023-09-01 10:22:00 28 1

原创 QT相关知识(含面经)

本篇文章讲解了Qt中的各种内存管理机制,算是做了一个比较全面的描述。之所以说是必读,是因为笔者在工作中发现,内存管理确实非常重要。Qt内存管理机制是贯穿整个Qt中所有类的核心线索之一,搞懂了内存管理能在脑海中形成内存中对象的布局图,写代码的时候才能下笔如有神,管理起项目中众多的对象才能游刃有余,提高开发效率;能够减少bug的产生。有经验的开发者应该知道,内存问题很难调试定位到具体的位置,往往导致奇怪的bug出现。能够帮助理解Qt众多类的底层不变的逻辑,学起来更容易。

2023-09-01 10:16:18 1466 1

原创 计算机网络相关知识(含面试题)

TCP是一种面向连接的协议,而UDP是一种无连接的协议。TCP提供可靠的服务,也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;可以改为三次挥手,但是三次挥手并不是一个可靠的过程,因为可能存在半开连接的情况,即客户端发出了Fin报文,但是服务器没有收到或者在服务端回复了Ack报文后,客户端没有收到。在TCP四次挥手过程中,客户端和服务器都发送和接收Fin和Ack报文,从而确保连接的可靠关闭。因此,虽然四次挥手过程可能会显得有些多余,但它实际上是必要的,以确保网络通信的可靠性和安全性。

2023-09-01 10:16:15 96 1

原创 数据库相关知识(含面试题)

MySQL和SQLite是两种常用的数据库管理系统,它们各自具有优点和缺点。总体来说,MySQL具有更强大的功能和性能,而SQLite具有轻量级和便携性的优势。在功能方面,MySQL支持大量数据库功能,包括事务处理、存储过程、视图等,而SQLite只支持基本的SQL功能。此外,MySQL是面向大型企业的,适合处理大量数据和高并发访问,而SQLite适合小型应用程序和嵌入式系统。在性能方面,MySQL通常比SQLite更快,尤其是在读取和写入大型数据集时。

2023-09-01 10:16:12 48 1

原创 操作系统知识汇总(含面试题)

进程间通信的方式有六种示意图如下所示:包括管道、消息队列、共享内存、信号量、信号、sokect等​管道(pipe):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。命名管道(named pipe):命名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。信号量(semaphore):信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。

2023-09-01 10:16:05 280 1

原创 C/C++的一些面经以及必备知识分享

本文将记录一些C++常用核心知识以及面试经常会问到的一些问题

2023-08-31 21:14:28 406

转载 计算机网络微课堂听课笔记

本文为湖科大教书匠计算机网络微课堂笔记

2023-08-29 15:15:56 109 1

转载 LeetCode31.下一个排列/LeetCode热题99

本题来自力扣热题100

2023-08-28 16:46:33 26 1

转载 C++相关岗位面经

指针传递:本质上是值传递,只不过拷贝的是指针的值,拷贝之后实参和形参是不同的指针,但指向的地址都相同。通过指针可以间接的访问指针所指向的对象,从而可以修改它所指对象的值。值传递:形参是实参的拷贝,函数对形参的所有操作不会影响实参。形参是实参的拷贝,改变形参的值并不会影响外部实参的值。引用传递:当形参是引用类型时,我们说它对应的实参被引用传递。部分编译器在底层也是使用指针来实现引用传递。

2023-08-16 08:36:27 37 1

空空如也

空空如也

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

TA关注的人

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