郭柒
码龄5年
关注
提问 私信
  • 博客:90,445
    90,445
    总访问量
  • 33
    原创
  • 490,773
    排名
  • 16
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:重庆市
  • 加入CSDN时间: 2019-08-22
博客简介:

GUO-QI的博客

查看详细资料
个人成就
  • 获得45次点赞
  • 内容获得7次评论
  • 获得92次收藏
创作历程
  • 38篇
    2020年
成就勋章
TA的专栏
  • MySQL
    1篇
  • 数据结构相关
    4篇
  • 操作系统相关
    4篇
  • Linux 相关
    8篇
  • c/c++ 面试
    8篇
  • C++ 相关
    12篇
  • 计算机网络
    4篇
  • 设计模式
    2篇
  • 基础算法
    3篇
  • 手撕算法学习
    8篇
  • Linux 高并发服务器
    12篇
  • Libevent高性能网络库
    1篇
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

软开知识点查漏补缺

1.软件设计原则?七大原则:1. 开闭原则, 每个类或者模块函数都应具备对外可以扩展,对内关闭修改权限的原则。2. 依赖倒置原则, 高层模块不应依赖底层模块,二者都应该依赖于各个抽象类。将各个模块之间的耦合性降到最低,以求实现彼此独立,互不干扰的效果,提高后期的维护性,可靠性。3. 单一职责原则, 保证一个类只实现一种功能,而不是多个功能。4. 接口隔离原则, 使用多个专门的接口而不是用单一的总接口,总体上符合我们对于高内聚低耦合的设计思想。5. 迪米特原则, 又叫最少知道原则,各个类保持无联系
原创
发布博客 2020.10.29 ·
276 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

算法1:贪心思想

贪心
原创
发布博客 2020.08.21 ·
321 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

shell 学习 if /while / for 语法格式

语法特点总结在大多数情况不需要 ;结尾shell脚本编程的空格非常重要,这和Linux的语法也有一定的关系。if 语句示例:if 判断目录、文件#/bin/bash#auto testfile#by authors guoqi 2020DIR=/tmp/20200714if [ ! -d $DIR ];then mkdir -p $DIR echo"this $DIR creat success!"else echo -e "\033
原创
发布博客 2020.08.14 ·
331 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C/C++开发 面经合集 —— c++ 强化

(1) 多态性都有哪些?(静态和动态,然后分别叙述了一下虚函数和函数重载)编译时的多态(静态) 主要体现在函数重载上和函数模板上。运行时的多态(动态)主要通过虚函数来实现,体现在子类重写父类所定义的 virtual 函数。重载、重写、重定义。在类继承中,重定义,重载。重定义函数名相同,返回类型必须相同,参数列表可以相同,可以不同;重载,函数名相同,返回类型和参数列表至少一个不同。只要子类出现与父类同名的函数,子类就不会继承父类同名函数(隐藏)。当该同名函数在父类声明为虚函数时(virtual),称
原创
发布博客 2020.08.06 ·
1624 阅读 ·
0 点赞 ·
0 评论 ·
10 收藏

内存对齐原理

偶然间看到这片博文,觉得非常生动形象,于是转载:原文链接内存对齐带你深入理解内存对齐最底层原理公众号:开发内功修炼相信绝大多数的人都了解内存对齐,对齐后性能高。但是其最最底层的原理是啥呢? 有的人可能会说,因为高速缓存的工作机制。读者你很聪明,这是原因之一。但我今天想挖的是更底层一点的原理,让我们去内存的物理构成里找找答案!内存物理结构我们来了解一下内存的物理构造,一般内存的外形图片如下图:图1 内存外形图一个内存是由若干个黑色的内存颗粒构成的。每一个内存颗粒叫做一个chip。每个chip内部,是由8个
转载
发布博客 2020.08.04 ·
377 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

算法3:动态规划简单学习

动态规划
原创
发布博客 2020.08.03 ·
317 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Linux 常用命令合集

常用命令艿艿:这一小节会非常非常非常长,当做温故知新吧。另外,面试官也可能会问,你熟悉 Linux 么?你平时使用哪些 Linux 命令。酱紫的连环炮~当...
转载
发布博客 2020.07.30 ·
3546 阅读 ·
1 点赞 ·
0 评论 ·
13 收藏

算法5:回溯算法

1.回溯算法
原创
发布博客 2020.07.29 ·
1219 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Linux 条件变量,互斥量详解

C++ 解决线程同步的问题主要通过 互斥锁 mutex 与 条件变量 condition_varible 来完成。Linux 封装的多线程库中封装了一系列的函数用于互斥和条件变量。互斥量:mutexLinux 主要函数:pthread_mutex_t ;本质上是一个结构体类型的变量。pthread_mutex_t mutex; mutex 只有两种取值 0 、 1;常用函数:#include<pthread.h>pthread_mutex_init(pthread_mutex_
原创
发布博客 2020.07.27 ·
633 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

操作系统基础知识储备

进程与线程的区别多进程与多线程区别,应用场景volatile和原子变量的区别proc文件系统自旋锁与普通锁的区别虚拟内存进程的内存分布栈内存为什么由系统自动分配和释放守护进程如何创建进程间的通信方式及其区别,应用场景死锁条件和解除进程调度方式对编译连接的理解共享内存实现原理僵尸进程是什么,如何处理自旋锁在单cpu与多cpu下的使用用户态与内核态...
原创
发布博客 2020.07.22 ·
2160 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

数据结构相关知识储备

hash处理冲突的方法二分查找及其变种数组与链表的区别redis数据结构用过哪些,了解跳表?红黑树比平衡二叉树有哪些优点二叉树,b+树,hash,二叉查找树区别说说红黑树的特性各种树,排序的时间复杂度数据库索引,事务,事务级别不考虑事务的隔离性会出现什么问题事务隔离级别索引的类型AC自动机时间复杂度...
原创
发布博客 2020.07.22 ·
1208 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

GuoQi_HttpServe 设计问题笔记

too many open files
原创
发布博客 2020.07.22 ·
620 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

makefile 编写原理 + 示范

文章目录一、概述二、编写1)文件的命名规则2)用途3)基本规则4)工作原理5)执行6)变量7)函数三、实操第一版makefile第二版makefile第三版makefile第四版makefile第五版makef...
转载
发布博客 2020.07.19 ·
1000 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据库知识储备

如何提高查询速度?加了索引就快了?数据库索引底层结构mysql与memcache的区别mysql常见三种存储引擎的MySQL B+Tree索引和Hash索引的区别?B+树索引和哈希索引的明显区别是:非关系型数据库和关系型数据库区别,优势比较?mysql常见查询优化方案...
原创
发布博客 2020.07.14 ·
1705 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

Linux Http服务器 epoll + threadpool 实现

Http服务器中包含了http协议、TCP/IP协议,同时该项目又包含了I/O复用技术、多进程多线程、线程池管理以及Linux gdb多线程多进程调试等一系列基本操作,所以通过该项目可以把以上的技术点一一掌握,博主也是本着这样的初心来进行本 HttpServe 的开发设计。首先,亮出 github地址:https://github.com/GUOQIFU/GuoQi_HttpServe 传送门首先,分为三大部分:1. Http 报文解析 2. epoll反应堆 3.线程池的设计1. Http 报文解析
原创
发布博客 2020.07.13 ·
1819 阅读 ·
1 点赞 ·
0 评论 ·
7 收藏

Linux基础知识及应用编程

如何查看进程打开的文件介绍下nm与ldd命令shell命令查内存,端口 ,io访问量,读写速率awk grep具体应用硬链接与软连接,目录可不可以用硬链接常见命令netstat iptable tcpdump topmakefile介绍下(cmake介绍下)gdb查看堆栈中所有遍历gdb查看shared_ptr指向的内容gdb如何调试多进程多线程g++和gcc编译出来有什么区...
原创
发布博客 2020.07.06 ·
3162 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

服务器开发之 Nginx 学习笔记

1.Nginx简介Nginx 是一个高性能的HTTP和反向代理服务器,特点是占内存少,并发能力强。Nginx转为性能优化而开发,性能是器最重要的考量,实现上非常注重效率,能经受住高负载的考验,有报告表明能支持的高达50000个并发连接数。百度,腾讯,网易,淘宝等都在使用Nginx.2.反向代理将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器的地址,隐藏了真实服务器的地址。3.负载均衡将原来
原创
发布博客 2020.06.30 ·
706 阅读 ·
1 点赞 ·
1 评论 ·
2 收藏

计算机网络知识储备

介绍下proactor和reactorreactor的组成TIME_WAIT危害TIME_WAIT时长,为什么?IP为什么要分片项目中说用到线程池,开多大,为什么运用线程池?select和epoll区别select什么情况返回0epoll可读情况有哪些什么时候需要TCP四次挥手?如何设置非阻塞什么是零拷贝?tcp与udp的区别以及应用场景如何设计一个可靠的udp粘包如何...
原创
发布博客 2020.06.28 ·
8137 阅读 ·
3 点赞 ·
3 评论 ·
10 收藏

tiinyhttp思路解析

1.main 函数准备 socket创建,bind绑定,listen监听,accept等待接收过程。2.创建线程处理http请求报文3.字符串处理,http协议的格式,按照每个字段的含义提取相应的方法,URL等信息出来。4.判断请求,静态页面请求还是动态请求,判断是否执行CGI程序5.CGI程序,父子进程之间创建管道进行通信,最后又父进程将CGI程序的结果发送给客户端,至此,最复杂的一种请求情况结束。6.以下为完整流程图,字有点小,请放大细看。...
原创
发布博客 2020.06.24 ·
621 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

LRU——缓存管理算法

1.页面缓存管理算法,即LRU算法是运用过去预测未来的一种算法,将过去访问量最高的页面资源保存到缓冲区的最前面,将最不常用的资源放在缓冲区最后面或者将之删除。2.缓冲区的结构为了更好的在后期查找,遍历最好使用键值对,哈希表等结构,查找时间复杂度为O(1),所以本文采用map + list的数据结构来当做数据缓冲区。LRUCzche.h//LRU算法 map+循环链表实现class LRUCache {public: LRUCache(int size); ~LRUCache(); voi
原创
发布博客 2020.06.18 ·
4288 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏
加载更多