
面试
文章平均质量分 92
工科扫地僧
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构与算法 常见面试题
二分查找搜索区间的概念:如果是左闭右闭空间,那么跳出循环的条件为搜索区间为空,那么Left>Right时才返回下面是基本二分查找、左边界二分查找、右边界二分查找如何从所有很多的ip地址中快速找个某个ip地址如何求一个数的平方根递归非递归排序算法各自的性质,甚至优化,手撕快排,归并等https://blog.csdn.net/SHAOYEZUIZUISHAUI/article/details/102233729快排:https://..原创 2020-07-14 20:29:14 · 482 阅读 · 0 评论 -
在自己的项目中怎么样注意内存对齐的问题
https://blog.csdn.net/gerryke/article/details/38109761?utm_source=blogxgwz1转载 2020-08-06 09:33:32 · 182 阅读 · 0 评论 -
结构体(struct)和联合体(union)的区别、验证大小端、内存对齐
https://blog.csdn.net/sjtudou/article/details/81074916转载 2020-07-28 10:56:10 · 296 阅读 · 0 评论 -
Linux进程状态解析 之 R、S、D、T、Z、X (主要有三个状态)
https://blog.csdn.net/sdkdlwk/article/details/65938204转载 2020-07-27 12:28:48 · 627 阅读 · 0 评论 -
select、poll和epoll的理解
https://blog.csdn.net/uniquenessss/article/details/107294130转载 2020-07-26 15:45:05 · 155 阅读 · 0 评论 -
进程间通信的7种方式
进程间通信的7种方式转载 2020-07-26 07:57:43 · 199 阅读 · 0 评论 -
段式存储、分页存储、快表、虚拟内存、缺页中断、页表、二级页表、请求调页、页面置换、段页式存储
页面大小==内存块号逻辑地址 转换成 物理地址逻辑地址/页面大小=字面号逻辑地址%页面大小=偏移地址物理地址==内存块号*页面大小+偏移地址一个进程可能只分配了几个内存块三级页表即多级页表:因为各级页表的大小不能超过一个页面,所以需要根据页面大小和页表项的大小调整为几级页表当然、每增加一级页表,则访存次数就会增加,n级的页表,需要n+1的访存次数虚拟内存基于局部性原理提出了虚拟内存cpu寻址范围决定了...原创 2020-07-05 12:42:44 · 1653 阅读 · 0 评论 -
红黑树总结
当在10亿数据中只需要进行10几次比较就能查找到目标时,不禁感叹编程之魅力!人类之伟大呀! —— 学红黑树有感红黑树是一种含有红黑结点并能自平衡的二叉查找树红黑树总是通过旋转(左旋和右旋)和变色达到自平衡性质:https://www.jianshu.com/p/e136ec79235c2-3树3节点的树,左边节点表示小于b,中间节点表示在b,c之间,右边节点表示大于c节点2-3树的插入永远不会添加到一个空节点上,如图,如果插入到三个节点了,则会分开成为一个绝对平...原创 2020-05-25 19:48:54 · 267 阅读 · 0 评论 -
5种网络通信设计模型(也称IO模型)
https://www.cnblogs.com/god-of-death/p/7837695.html转载 2020-05-09 18:54:01 · 445 阅读 · 0 评论 -
分布式与集群的区别
分布式是指将多台服务器集中在一起,每台服务器都实现总体中的不同业务,做不同的事情。并且每台服务器都缺一不可,如果某台服务器故障,则网站部分功能缺失,或导致整体无法运行。存在的主要作用是大幅度的提高效率,缓解服务器的访问和存储压力集群是指将多台服务器集中在一起,每台服务器都实现相同的业务,做相同的事情。但是每台服务器并不是缺一不可,存在的作用主要是缓解并发压力和单点故障转移问题。分布式是指将...原创 2020-05-05 22:27:47 · 338 阅读 · 0 评论 -
图解 TCP 重传、滑动窗口、流量控制、拥塞控制
参考链接:https://mp.weixin.qq.com/s/Tc09ovdNacOtnMOMeRc_uA一个数据包在网络中的心路历程:https://mp.weixin.qq.com/s?__biz=MzUxODAzNDg4NQ==&mid=2247483989&idx=1&sn=7e2ed852770743d3955ef9d5561fcef3&sce...转载 2020-05-05 08:29:39 · 413 阅读 · 0 评论 -
epoll核反应堆模型
/* *epoll基于非阻塞I/O事件驱动 */#include <stdio.h>#include <sys/socket.h>#include <sys/epoll.h>#include <arpa/inet.h>#include <fcntl.h>#include <unistd.h>#inclu...原创 2020-04-07 11:42:19 · 396 阅读 · 0 评论 -
f服务器高并发线程池的实现
线程池的概念参考链接:https://blog.csdn.net/liuyuchen282828/article/details/104533796threadpool.h#ifndef __THREADPOOL_H_#define __THREADPOOL_H_typedef struct threadpool_t threadpool_t;/** * @function...原创 2020-04-06 22:55:35 · 307 阅读 · 0 评论 -
条件变量实现生产者消费者模型
同条件变量和互斥锁实现生产者和消费者模型#include<stdio.h>#include<unistd.h>#include<pthread.h>#include<stdlib.h>//利用链表模拟共享资源struct msg{ struct msg *next; int num;};struct ms...原创 2020-03-13 16:26:47 · 363 阅读 · 0 评论 -
互斥锁,读写锁
一、互斥量(互斥锁)将输出作为共享资源,加锁,进行父线程输出大写HELLO WORLD,子线程输出小写hello world,利用随机数,使得睡眠时间,模拟线程占用cpu时间,调用pthread_mutex_init初始化的互斥锁,在释放内存前需要调用pthread_mutex_destroy#include<stdio.h>#include<unistd.h&...原创 2020-03-12 22:33:37 · 373 阅读 · 0 评论 -
线程程序示例
一、创建一个线程,并回收,验证线程是全局变量共享的#include<stdio.h>#include<unistd.h>#include<pthread.h>//exit()在这个库中#include<stdlib.h>//线程函数void* ptf(void* arg){ printf("this is child pt...原创 2020-03-12 20:38:48 · 413 阅读 · 0 评论 -
extern到底是指声明还是定义
extern到底是指声明还是定义,取决于代码的本意,对于一个全局变量,如果你想定义一个全局变量,那么加不加extern,无关紧要,但是如果你要在文件外部声明一个全局变量,则必须加extern例如:extern int i; //声明,不是定义int i; //声明,也是定义参考链接:https://blog.csdn.net/qq_38880380/article/details...原创 2020-03-11 22:56:23 · 977 阅读 · 0 评论 -
KMP算法
参考链接:http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html转载 2020-03-07 23:13:10 · 177 阅读 · 0 评论 -
make, makefile,cmake、C/C++从源代码到生成可执行程序的过程详解
make, makefile,cmake区别:https://blog.csdn.net/Aiyanghong/article/details/86501720为什么要makefile,makefile简单实例https://blog.csdn.net/Andrew659/article/details/6307324?depth_1-utm_source=distribut...原创 2020-03-02 21:43:34 · 857 阅读 · 0 评论 -
C++中unordered_map,unordered_set,map和set的用法和区别
参考链接:https://blog.csdn.net/zjajgyy/article/details/65935473unordered_map和mapunordered_map存储机制是哈希表,,即unordered_map内部元素是无序的。map是红黑树,map中的元素是按照二叉搜索树存储,进行中序遍历会得到有序遍历。unordered_set和setunordered_s...原创 2020-01-22 15:08:35 · 2219 阅读 · 0 评论 -
C/C++扩展Python与Swig工具
闲话python 48: C/C++扩展Python与Swig工具python作为一种通用的编程语言,一般而言,是能够满足逻辑实现的需求的。只是在日常使用过程中,除了实现一些逻辑之外,至少还有两个方面的需求是可能需要寻求其他语言帮助的,第一个是提升运行效率,第二个是复用已有C/C++代码。python比较接近自然语言这一特性确实对使用者而言很不错,但是这带来了一个不良后果--运行速度慢。有时还...转载 2019-12-03 21:14:32 · 636 阅读 · 0 评论 -
编译型和解释型、动态语言和静态语言区别
https://www.jianshu.com/p/83a47cc71aff转载 2019-12-03 21:00:35 · 190 阅读 · 0 评论 -
内存对齐
参考连接:https://blog.csdn.net/qq_27909209/article/details/80814324原创 2019-11-21 19:11:27 · 158 阅读 · 0 评论 -
野指针和内存泄漏
野指针可能会造成内存泄漏,内存泄漏不一定就是野指针造成的(注,野指针不是一定会造成内存泄漏,如果它随机指向的是一个变量地址,则就不会造成内存泄漏了)内存泄漏:定义:程序中已动态分配的堆内存由于某种原因,程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果 造成内存泄漏的原因有两点:对象没有被释放、循环引用野指针:定义:如果内存已经释放,而指针还在引...原创 2019-11-17 15:27:11 · 1354 阅读 · 0 评论 -
面试中的复杂度分析
一、O(f(n)) n代表的数据规模,其中f(n)代表程序块的运行次数,与程序块的运行次数成正比二、O(f(n)) 表示的是一个算法的平均复杂度,适用于不同数据规模,相当于,f(n)类似于多项式,满足n从1,2,3......依次增加三、具体的复杂度,会跟数据用例有关,比如插入排序如果在有序有序用例情况下,复杂度会变成0(n)级别当n<=1000时,O...原创 2019-10-28 23:49:34 · 276 阅读 · 0 评论 -
数据类型、数据结构、算法
数据类型就是对数据的抽象描述基本的内置类型加上类型说明符,组成多种数据类型数据结构一般是说计算机存储和组织数据的方式,还有就是相互之间存在一种或多种特定关系的数据元素的集合,简单来说就是数据的逻辑或物理存储方式数据结构,分为线性数据结构、非线性数据结构线性数据结构:线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系,包括数组、链表、栈、队列非线性数据结构...原创 2019-10-26 17:17:41 · 298 阅读 · 0 评论 -
C 中类和结构体的区别
C++结构体内部成员变量及成员函数默认的访问级别是public,而c++类的内部成员变量及成员函数的默认访问级别是private。C++结构体的继承默认是public,而c++类的继承默认是private,所以类在继承的时候需要public结构体:没有默认的构造函数,但是可以添加构造函数没有析构函数没有 abstract 和 sealed(因为不能继承)不能有protecte...原创 2019-10-22 14:54:41 · 528 阅读 · 0 评论 -
c++中重载,重写、隐藏
一、重载重载从overload翻译过来,是指同一可访问区内被声明的几个具有不同参数列表(参数的类型,个数,顺序不同)的同名函数,根据参数列表确定调用哪个函数,重载不关心函数返回类型。相同的范围(在同一个作用域中) 函数名字相同 参数不同列表(不同类型或者不同数量参数) virtual 关键字可有可无 返回值可以不同(仅仅返回值不同,不能称为重载)二、重写重写翻译自overri...原创 2019-09-03 19:41:40 · 450 阅读 · 0 评论 -
C++ 值传递、指针传递、引用传递详解
https://www.cnblogs.com/dingxiaoqiang/p/8012578.html原创 2019-09-03 20:02:16 · 186 阅读 · 0 评论 -
new与malloc的区别以及实现方法
https://blog.csdn.net/zxx901221/article/details/83004401https://blog.csdn.net/hazir/article/details/21413833转载 2019-09-03 20:08:31 · 145 阅读 · 0 评论 -
为什么尽量不用using namespace std
https://blog.csdn.net/DW_css/article/details/65938827https://blog.csdn.net/zxyhhjs2017/article/details/92820112转载 2019-09-05 22:03:47 · 322 阅读 · 0 评论 -
union内存空间
union { int a; char p[5]; char*a; }UNION; int *a; cout << sizeof(UNION) << endl; cout << sizeof(a) << endl;union内存空间由大括号中占内存最大的决定,上述代码中char数组内存空间最大为5,但是int类型,需...原创 2019-09-06 10:21:27 · 755 阅读 · 0 评论 -
C++:cin、cin.getline()、getline()的用法
参考链接:https://blog.csdn.net/qq_40725780/article/details/81032700转载 2019-09-12 09:49:56 · 377 阅读 · 0 评论 -
C++ sizeof的使用总结
https://blog.csdn.net/candyliuxj/article/details/6307814转载 2019-09-12 14:36:31 · 442 阅读 · 0 评论 -
数据结构中的堆和栈与内存分配中的堆区和栈区分析
参考链接:https://www.cnblogs.com/jzssuanfa/p/7068147.html内存分配中的栈区和堆区:栈区:在Windows下,栈是向低地址扩展的数据结构。是一块连续的内存的区域处于相对较高的地址以地址的增长方向为上的话,栈地址是向下增长的。栈中分配局部变量空间由编译器自己主动分配释放 。存放函数的參数值,局部变量的值堆区:堆是向高地址扩...原创 2019-10-08 20:40:22 · 320 阅读 · 0 评论 -
基本数据类型在32位系统和64位系统中所占字节数
左边为32位系统,右边为64位系统参考链接:https://blog.csdn.net/liu1055087125/article/details/66478048原创 2019-10-09 21:57:59 · 284 阅读 · 0 评论 -
详解C++中指针和引用的区别
https://www.jb51.net/article/160003.htmhttps://blog.csdn.net/gcc2018/article/details/82285940https://www.runoob.com/w3cnote/cpp-difference-between-pointers-and-references.html原创 2019-09-03 19:54:42 · 448 阅读 · 0 评论