摘要: 各大八股以及笔记整理而成,笔记早期记录,太过青涩,八股要么太杂要么太细,所以以自己的方式提炼重点 内存管理 1.为什么要有虚拟内存? 单片机的 CPU 是直接操作内存的「物理地址」, 如果在内存中同时运行两个程序,将会出现内存覆盖,擦掉第二个程序存放在相同位置上的所有内容。 问题:问题是这两个程序都 阅读全文
posted @ 2023-09-30 09:52 游客0721 阅读(191) 评论(0) 推荐(0)
摘要: 整理各大八股,夹杂自己理解,死记硬背效果差,搜索验证才记得牢,由于这里只是作为实习准备,所以不会记录太全,干不干程序员这行还说不定呢... 2023-09-26 20:07:54 星期二 三阳开泰五天没好难受至极 牛客网面试对照 C++基础语法 1.内存管理 在 C++ 中,程序运行时,内存主要分成 阅读全文
posted @ 2023-09-25 19:45 游客0721 阅读(83) 评论(0) 推荐(0)
摘要: 略 阅读全文
posted @ 2023-09-24 18:24 游客0721 阅读(21) 评论(0) 推荐(0)
摘要: 工厂方法模式 简单工厂模式 缺点:只能创建单一类型的对象,而不是不同类型的类对象 需要使用switch case类工厂代码还需要修改,不是扩展而是修改 假设我们需要实现一些不同的爬虫类,比如 TextSpider 、 ImageSpider 等等,它们都需要继承自一个 Spider 抽象基类。这里我 阅读全文
posted @ 2023-09-24 18:04 游客0721 阅读(19) 评论(0) 推荐(0)
摘要: 当需要严格控制一个类在全局只有唯一一个实例,并且可以随时调用它的时候,就可以使用单例模式。 单例模式可以以实例化时间分为懒汉式和饿汉式、以C实现方式分为C++98的实现以及C++11的实现。 懒汉式 c++11 class Singleton { public: static Singleton* 阅读全文
posted @ 2023-09-24 16:33 游客0721 阅读(20) 评论(0) 推荐(0)
摘要: 为什么需要设计模式 促进代码重用,应对需求和系统的变化 面向对象设计模式 面向对象的三大机制:封装、继承和多态 代码隔离:对新增的代码采取新增类的方式实现,对类的继承不需要修改甚至可能不需要重新编译原有的类。 在一个基本的爬虫类中,都会有一个不变的流程,也就是发送请求,匹配数据,写入文件。这三个步骤 阅读全文
posted @ 2023-09-24 16:17 游客0721 阅读(17) 评论(0) 推荐(0)
摘要: 感觉这模式就是常见的封装.. 看不出哪里比简单工厂好 建造者模式 动机 将一个复杂对象的创建过程及其表示分离,同一个创建过程可以创建不同的表示 当需要创建一个包含多个部分或配置选项的复杂对象,并且需要将构建过程与表示分离时,建造者模式很有用 帮助你灵活地构建不同配置的对象,同时保持构建过程的清晰性和 阅读全文
posted @ 2023-09-24 15:49 游客0721 阅读(14) 评论(0) 推荐(0)
摘要: 抽象工厂模式及示例 模式的动机 提供一种接口,用于创建一系列相关或相互依赖的对象 抽象工厂模式通过引入抽象工厂接口,允许客户端代码通过工厂接口创建产品,而不需要关心具体的产品类; 数据库之间的查询语句是差不多的,不用管是哪类数据库 使得客户端代码可以与特定产品的具体类解耦,实现了抽象和实现的分离 只 阅读全文
posted @ 2023-09-24 14:48 游客0721 阅读(22) 评论(0) 推荐(0)
摘要: 工作场景:让用户根据接口查询系统各资源占用率 优化用户性能 传统代码: 传统代码 //main.cpp #include <iostream> #include "ServerInfoGetter.h" #include <chrono> #include <thread> int main() { 阅读全文
posted @ 2023-09-24 13:08 游客0721 阅读(12) 评论(0) 推荐(0)
摘要: 工作场景:编写一个给用户发送短信的程序 传统写法 传统写法 #include <stdio.h> #include <string> enum NotifMessageType { WUDI, FEITIAN }; class NotifMessage { public: int sendMessa 阅读全文
posted @ 2023-09-24 10:05 游客0721 阅读(17) 评论(0) 推荐(0)