自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(143)
  • 资源 (1)
  • 收藏
  • 关注

原创 2.操作系统常问面试题1

软连接(Symbolic Link):类似于 Windows 系统中的快捷方式,是一个指向另一个文件路径的文件。删除软连接不会影响原文件,但删除原文件会导致软连接失效。硬链接(Hard Link):是直接指向文件在磁盘中的实际数据块,相当于给文件一个新的名字。硬链接文件与原文件共享相同的数据块,删除其中任何一个,数据仍然存在。静态库在编译时直接链接到程序,形成一个独立的可执行文件;动态库在运行时加载,多个程序可以共享同一个库。静态库的文件较大,而动态库的文件较小且更新更灵活。

2024-11-07 11:11:43 1019

原创 1.5 新特性 C++面试常见问题

C++11 是一个重大的版本,添加了许多新的特性,极大地提升了 C++ 的表达能力和性能。通过这些新特性,开发者可以编写更高效、更易读和更安全的代码。智能指针在内存管理上提供了更高的安全性和便利性,能够有效避免许多常见的内存管理错误,而普通指针则需要开发者自行管理内存。使用智能指针可以减少内存泄漏和其他潜在问题,使代码更加健壮。特性所有权独占所有权共享所有权不拥有所有权拷贝与移动不可拷贝,只能移动可拷贝,支持引用计数不可拷贝,通常与shared_ptr一起使用引用计数无有无内存管理。

2024-10-30 19:31:00 1002

原创 1.4 STL C++面试问题

C++ 标准模板库(STL)提供了多种常见的容器,用于存储和管理数据。下面是一些 STL 中常见的容器及其实现原理的概述。STL 提供了多种容器,适用于不同的使用场景。每种容器都有其特定的实现原理和性能特点,以满足开发者的需求。选择合适的容器可以提高程序的效率和可维护性。通过 STL,开发者能够轻松地使用和管理各种数据结构,极大地简化了 C++ 编程。在 C++ 标准模板库(STL)中,空间适配器(Allocator)是一种用于管理内存分配的机制。

2024-10-29 19:34:56 1105

原创 1.3 面向对象 C++面试问题

面向对象编程通过将数据和操作封装在对象中,提供了更灵活和可维护的方式来开发软件,而面向过程编程则更关注于实现具体的步骤和过程。根据项目的需求和复杂性,开发者可以选择适合的编程范式。封装:隐藏内部实现,通过公开接口操作对象,保护数据并提高安全性。继承:通过继承基类的属性和方法,重用代码并实现类的扩展。多态:通过统一的接口表现不同的行为,增加程序的灵活性和可扩展性。重载:是在同一作用域中定义同名但参数不同的多个函数,它用于处理不同类型或数量的参数,是一种编译时的多态性。重写。

2024-10-28 20:16:13 823

原创 1.2 C++内存

栈更适合临时、局部变量,生命周期短,效率高,自动管理;堆更适合长生命周期的动态对象,灵活,但需要手动管理内存,有可能导致内存泄漏或碎片问题。malloc分配的内存位于堆中,手动管理。局部变量位于栈中,系统自动管理。在 C/C++ 中,malloc和局部变量的内存分配分别发生在不同的内存区域:malloc分配内存malloc(Memory Allocation)函数用于在**堆(Heap)**中分配内存。堆内存是动态分配的,程序员需要手动管理,即使用malloc分配后需要调用free。

2024-10-23 14:00:15 691

原创 1.1 C++语言基础面试问题

预处理:展开宏,处理#include等预处理指令。编译:将C++源代码转换为汇编代码。汇编:将汇编代码转换为机器代码(目标文件)。链接:将目标文件和库文件合并,生成最终的可执行文件。函数指针 是一种指向函数的指针,它指向的是函数,而不是变量。通过函数指针,我们可以像调用普通函数一样调用指针所指向的函数。函数指针允许程序根据不同的需求动态选择要调用的函数,使代码更加灵活和模块化。通过函数指针,可以实现回调机制、动态函数调用、函数表、多态等功能,使得代码更加模块化和可扩展。

2024-10-18 20:44:34 722

原创 左值、右值

C++引入右值引用的核心意义在于性能优化,尤其是通过移动语义减少不必要的拷贝操作,提升资源管理的效率。此外,右值引用支持完美转发,增强了泛型编程的灵活性,并且通过区分左值和右值使得函数重载更加直观和高效。右值引用的引入使得C++在处理复杂对象和高性能应用时变得更加高效和灵活。

2024-10-17 20:24:35 666

原创 芯源微一面问题

进程是资源分配的最小单位,线程是CPU调度的最小单位。一个进程可以包含多个线程。:进程有独立的内存空间,线程共享同一进程的内存和资源。进程切换开销大,线程切换较轻量。:进程间通信较复杂(如管道、共享内存),线程间共享内存,通信更简单,但要处理同步问题。:多进程适合并行执行,多线程更适合并发任务,在多核CPU上线程也能并行执行。:进程独立,一个进程崩溃不会影响其他进程;线程崩溃可能导致整个进程终止。总结:进程独立性强,线程效率高但需要同步管理。

2024-10-14 19:37:08 958

原创 多态常见面试问题

抽象类是包含至少一个纯虚函数的类,不能直接实例化对象,必须通过派生类重写其纯虚函数后才能实例化。抽象类通常作为接口使用,规定派生类必须实现某些功能。抽象类的特点:纯虚函数:抽象类中至少有一个纯虚函数,形式为 virtual 函数名() = 0;。不能实例化:抽象类不能创建对象,必须通过派生类实现纯虚函数后才能实例化派生类对象。派生类的实现:派生类继承抽象类时,必须实现所有的纯虚函数,否则该派生类也将成为抽象类。抽象类的作用:接口设计:抽象类可以定义一组规范,派生类必须按照这些规范去实现。

2024-10-12 20:00:59 874

原创 多态相关问题

也就是说,在调用A中test执行 func的时候,参数使用的是A中的,而函数的实现使用的B中的func.总结:多态的本质原理,符合多态的两个条件,那么调用时,会指到对象的虚表中找到对应的虚函数地址,进行调用。具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。多态调用:程序运行时去指向对象的虚表中找到函数的地址,进行调用。普通函数的调用:编译或连接时确定函数的地址。虚函数重写是接口继承,重写实现。例子:新用户 领红包 99。以下例题:输出是什么?普通函数继承是实现继承。

2024-10-10 20:11:35 294

原创 华勤技术软件开发笔试题

1.在C/C++等编译型语言中,可以将较简单的函数定义为内联函数。函数再调用时,编译器会将函数体的代码直接插入到调用点,而不是通过调用栈来调用函数。减少了函数调用的开销(如参数传递和返回值处理)。内联函数适合简单、短小的函数。如果函数比较复杂,内联函数会增加代码体积,可能得不尝试。Lambda 函数(Python)。在Python中,lambda函数是一种匿名函数,适用于定义较短的、只执行简单逻辑的函数。lambda函数可以减少函数调用的开销,因为它的定义更加简洁。使用C扩展或编译加速。

2024-10-10 20:06:59 1621

原创 继承+模板、菱形继承问题

1、有了继承自然就有多继承,从而衍生出菱形继承。2、多继承可以认为时C++的缺陷之一。3、继承和组合public继承是一种is-a的关系。也就是说每个派生类对象都是一个基类对象。组合是一种has-a的关系。假设B组合了A,每个B对象中都有一个A对象。优先使用对象组合,而不是类继承。继承允许你根据基类的实现来定义派生类的实现。1、

2024-09-18 11:09:45 317

原创 leetcode 55. 跳跃游戏

*

2024-09-10 17:28:22 243

原创 leetcode 221. 最大正方形

输入:matrix = [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”,“1”,“1”,“1”],[“1”,“0”,“0”,“1”,“0”]]

2024-08-08 18:33:06 266

原创 leetcode 67. 二进制求和

示例 1:输入:a = “11”, b = “1”输出:“100”示例 2:输入:a = “1010”, b = “1011”输出:“10101”提示:a 和 b 仅由字符 ‘0’ 或 ‘1’ 组成字符串如果不是 “0” ,就不含前导零。

2024-08-08 16:37:46 391

原创 leetcode 136. 只出现一次的数字

136. 只出现一次的数字已解答简单相关标签相关企业提示给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间’

2024-08-08 15:05:53 225

原创 leetcode 80 删除数组中的重复两次以上的数

解释:函数应返回新长度 length = 7, 并且原数组的前七个元素被修改为 0, 0, 1, 1, 2, 3, 3。不需要考虑数组中超出新长度后面的元素。解释:函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3。输入:nums = [0,0,1,1,1,1,2,3,3]输出:7, nums = [0,0,1,1,2,3,3]输出:5, nums = [1,1,2,2,3]输入:nums = [1,1,1,2,2,3]

2024-08-08 14:54:47 313

原创 QT开发笔记:常用控件

常用控件:站在巨人的肩膀上,Qt中已经提供了大量的内置控件(按钮、文本框、单选按钮、复选按钮、下拉框)可直接学习其特性使用方法使用。控件 Widget 界面上的各种元素,各种部分的统称。HTML包含很多标签,不同的标签有不同的效果。 图片 链接 输入框 按钮随着时代的发展新的GUIQt 的控件虽然很多但是整体来说研制还是比现代的控件体系更逊色QT Designer中展示的控件都是默认的样子。还提供了一些优化手段,可以让控件更好看近几年提供 QT Design Studio 对标现代

2024-07-24 16:06:39 307

原创 QT开发笔记:信号和槽

表示一个符号,使用的字节数有变化,2-4,但是在utf8中,一个汉字,一般是3个字节。所谓的信号槽,终究要解决的问题,就是响应用户的操作。当信号带有参数的时候,槽的参数必须和信号的参数一致(类型和个数一致)。信号给槽的参数不能少!不需要搞一个单独的信号槽链接,处理函数就像控件的一个属性/成员一样(大部分GUI框架都是这样搞)。给QT某个控件设置位置,就需要指定坐标,对这个空间来说,坐标系的原点就是相对父窗口/控件的。字符集~~表示汉字的字符集,不同的字符集表示同一个汉字,使用的数字不相同。

2024-07-16 23:36:30 937

原创 高并发内存池

Google 的tcmalloc 全称thread Caching Malloc ,即缓存的malloc,实现了高效的多线程内存管理,用于替代系统的内存分配相关的函数。定长内存池设计固定大小的内存申请释放需求。

2024-07-10 16:08:57 239

原创 线程111

线程如何看待进程内部的资源: 一组寄存器、栈3、线程VS进程线程在进程的内部执行,是OS调度的基本单位线程切换成本更低:地址空间和页表不需要切换 线程调度层面:上下文。如果进程切换cache就立即失效:新进程过来只能重新缓存。如何保证创建进程的时候定义全局的一把锁,1、判读的本质是计算的一种2、也可能出现问题。加锁的原理:交换的本质就是寄存器内的数据。

2024-07-10 16:08:36 186

原创 1.mysql基本概念环境配置等

创建一个数据库在linux上本质是在做什么?mysql就是一个client,命令行的client图形化的访问数据库的软件 --clientmysql的生态中,也会提供第三方库,让语言也能直接访问mysql --client所谓安装数据库服务器,只是在机器上安装一个数据库管理系统程序。基于行和列。

2024-07-10 16:08:08 603

原创 高并发内存池联调问题

经过排查,此处assert(actualNum > 0) 判断条件应该是大于零,否则或许if判断条件无法执行。实际 actualNum 值并没有大于一 断点报错。

2024-07-10 16:07:54 190

原创 信号111

2、核心转储当进程出现魔种异常的时候,是否有OS将当前进程在内存中的相关核心数据,转存到磁盘中!一般而言云服务器的核心转储功能是关闭的。3、验证进程等待中的core dump标记位。4、为什么生产环境一般都要关闭 core dump系统调用接口:用户调用系统接口——执行)OS对应的系统调用代码—OS提取参数或者设置特定的数值——向目标进程写信号——修改对应的进程信号标记位——进程后续会处理》执行对应的操作。由软件条件产生信号:管道,读端不光不读而且还关闭了,写端一直在写,会发生什么?

2024-07-10 10:40:32 213

原创 进程通信1

软硬链接:区别:有无inode动态库和静态库静态库 .a将 .o文件打包成 lib_.a文件至此,已经完成代码的打包。将output包移动或安装到指定的执行路径中。打包安装包动静库名字相同 默认情况下连接的是如果动态库存在,指定静态库为什么要有库???站在使用库的角度 库的存在可以大大减少我们开发的周期 提高软件的本身的质量。站在写库人的角度:简单 代码安全1、 ncurses 字符的界面库 -----centos 7 yum。

2024-07-10 10:40:13 743

原创 18、进程控制

原理:将磁盘上的程序加载到内存中并将当前程序的页表重新映射。execl一旦调用成功,后续所有代码全部不会被执行。所谓的exec*程序本质就是如何加载程序的函数。

2024-07-10 10:39:06 147

原创 文件描述符

1、文件 = 文件内容 + 属性(也是数据)2、文件的所有操作,无外乎: 1、对内容 2、对属性3、文件在磁盘上(硬件)上放着,我们访问文件,先写代码——编译——exe——运行——访问文件:本质是谁在访问文件呢?进程(需要通过接口访问【语言C、C++、Java】).要向硬件写入,只有 操作系统有权利{通过驱动程序}。普通用户、也想写入呢?必须让OS提供接口。文件类的系统调用接口!跨平台比较难 语言上对接口做一下封装,为了让接口更好的使用。

2024-03-19 09:31:26 944

原创 进程地址空间和进程控制

2、因为进程随时有可能被终端(可能并没有执行完)、下次回来、还必须从之前的位置继续运行继续运行(不是最开始),就要要求CPU必须随时记录下当前进程执行的位置,所有,CPU内有对应的寄存器数据,用来记录当前进程的执行位置!1、创建进程的时候,就直接拷贝分离?可能拷贝子进程根本就不会用到的数据空间,即便是用到了,也有可能只是读取!我们的父进程通过调用waitpid来进行等待,如果子进程没有退出,我们waitpid这个系统调用,立马返回!创建子进程,不需要将不会访问的,或者只读取的数据,拷贝一份。

2024-03-07 17:50:48 192

原创 牛客:计算日期是本年的第多少天

【代码】牛客:计算日期是本年的第多少天。

2024-01-10 11:34:17 509

原创 C++: 求1+2+3+...+n

【代码】C++: 求1+2+3+...+n。

2024-01-05 11:59:20 1119 1

原创 微波遥感用于农业干旱监测:最新进展与挑战

农业干旱是多种水文气象过程相互作用的极端事件。因此,评估干旱的发生、程度、持续时间和强度是复杂的,需要综合使用多个变量,如温度、降雨量、土壤湿度(SM)和植被状态。利用土壤水分和植被状态信息的好处是,它们综合了降水、温度和蒸散的信息,使其成为植物有效水分和植被生产力的直接指标。微波遥感可以同时检索SM和植被信息,基于卫星的SM和植被产品每天都可以在区域或全球范围内免费使用。因此,微波遥感产品在干旱监测应用中发挥着越来越重要的作用。本文综述了微波遥感用于大规模农业干旱监测的最新进展。

2023-10-31 15:04:38 498

原创 遥感在森林水分胁迫检测与监测中的应用

摘要:在气候变化的背景下,仅依赖于降水的森林生态系统的水分胁迫发生率呈上升趋势,即使在典型的耐旱物种中也是如此。遥感技术为在地方和区域尺度上监测森林提供了一种有效、全面和及时的方法。这些技术还有助于制定植物水分状况的各种指标,这些指标在评估森林水分胁迫方面可以发挥关键作用。本文综述了遥感在森林水分胁迫监测中的应用,揭示了遥感和地理信息系统在森林资源有效管理中的应用潜力。它审查了利用遥感技术探测缺水造成的森林压力的原则和意义。

2023-10-31 11:50:14 618

原创 计数排序--

【代码】计数排序--

2023-10-30 17:45:58 131

原创 【leetcode;145.二叉树的后序遍历】

【代码】【leetcode;145.二叉树的后序遍历】

2023-10-20 09:22:25 159

原创 【leetcode:94.二叉树的中序遍历】

【代码】【leetcode:94.二叉树的中序遍历】

2023-10-20 09:07:46 197

原创 leetcode:144.二叉树的前序遍历

【代码】leetcode:144.二叉树的前序遍历。

2023-10-19 15:20:20 136

原创 leetcode:572.另一棵树的子树

【代码】leetcode:572.另一棵树的子树。

2023-10-18 09:52:06 133

原创 leetcode:101.对称二叉树

借用二叉树是否相同的代码改动左右孩子相等对应关系,即为是否对称。

2023-10-18 08:51:01 215

原创 leetcode:100相同的数

【代码】leetcode:100相同的数。

2023-10-17 23:09:36 191

原创 leetcode 965.单值二叉树

【代码】leetcode 965.单值二叉树。

2023-10-17 18:52:54 131

数控车床自动回转刀架.rar

机械相关专业课程设计:数控车床自动回转刀架。包括本人精心制作的solidworks模型以及装配图、爆炸图、部分零件图、材料明细表、爆炸动画、以及其他制作过程中搜集的资料(包括MU风上20元的模型)。价格良心,希望能够帮助大家。哔哩哔哩介绍视频 https://www.bilibili.com/video/BV1z54y1V7o6?share_source=copy_web

2021-05-25

空空如也

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

TA关注的人

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