自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 19届秋招面经

目录小米:C++:大疆:C++:计算机网络:项目:代码:项目:开放性问题:计网:猿辅导:项目:算法:对象模型:C++:操作系统:数据库:计网:BIGO项目:C++:计网:操作系统:设计模式:阿里C++:操作系统:计网:算法:小米:C++:浅拷贝思想?指针所有权的转移。...

2019-09-16 22:33:02 269 1

原创 Effective ObjectiveC (一) 基础特性

一、Object-C 特性1.ObjectiveC是面向对象的语言,采用动态绑定的消息结构,在运行时才会检查对象类型。接收一条消息后执行何种代码,由运行期环境(runtime)而非编译器决定。2.所有的Object-C对象必须分配在堆上。int、float、double、char 等基本数据类型与封装其的结构体保存在栈上。二、头文件引入1.当一个类作为另一个类的成员变量时写在其 .h 文件中时,不需要知道该类的所有细节,此时最好使用向前声明。在头文件中 @class ClassName。

2021-07-25 13:16:26 177 1

原创 Objective-C 基础入门(五)分类与扩展

一、Category 分类在面对一个类定义时,可能想要添加一些新方法,例如对于 Fraction(分数)类,除了将两个分数相加的 add:方法之外,还想要将两个分数相减、相乘和相除的方法。另外,当参与一个大型程序设计项目,为一个新定义的类编写处理文件系统的方法,并使其模块化。以上情况的实用解决方案就是使用分类 Category。分类提供了一种简单的方式,将类的定义模块化到相关方法的组或分类中。 分类提供了扩展现有类定义的简便方式,不必访问类的源代码,也无需创建子类。 可以通过未命名分类实现私

2020-07-22 16:41:55 234

原创 Objective-C 基础入门(三) 读写文件与回调

四、通过 NSString 和 NSData 读写文件1.通过 NSString 写入文件在将字符串对象写入文件时,要指定字符串编码。字符串编码是描述字符和代表的数字之间的映射关系。常用的编码有 ASII编码、UTF-8 和 UTF-16。NSMutableString *str = [NSMutableString new];for(int i=0;i<10;i++){ [str appendString:@"Aaron is cool!\n"];}[str writ

2020-05-15 17:27:33 789

原创 Objective-C 基础入门(二) collection类

三、collection 类Collection 类的实例用于保存指向其他对象的指针。除了 NSArray 及其子类 NSMutableArray 之外,还有 NSSet / NSMutableSet 和 NSDictionary / NSMutableDictionary。1.NSSet / NSMutableSetNSSet 对象包含的内容是无序的,并且特定的对象只能出现一次。NS...

2020-05-07 16:49:28 386

原创 Objective-C 基础入门(一)

目录一、什么是Objective-C?Hello worldTips:二、Objective-C的类1.新建一个OC类self 指针Tips:2.NSString创建实例NSString方法3.NSArray创建数组遍历数组NSMutableArray4.属性声明属性属性的特性5.继承创建覆盖方法super...

2020-05-03 16:19:09 1528

原创 Linux 多线程服务器端编程:使用 muduo C++ 网络库

目录一、线程同步精要互斥器 mutex条件变量封装 MutexLock、MutexLockGuard 和 Condition线程安全的 Singleton 实现mutex 与 shared_ptr 的应用实例一、线程同步精要并发编程的两种基本模型:message passing 和 shared memory。线程同步的四项原则:尽量最低限度的共享对象...

2019-10-15 15:51:26 1100

转载 面试知识点

1. 前言面试考察的知识点多而杂,要完全掌握需要花费大量的时间和精力。但是面试中经常被问到的知识点却没有多少,你完全可以用 20% 的时间去掌握 80% 常问的知识点。在这里我将这 80% 常问的知识点整理出来,方便大家快速地掌握。这些知识点也标注了重要程度,从而让大家可以根据知识点的重要程度去制定学习计划。如果你想更好的学习这些知识点,可以参考知识总结方法一文,这篇文章的最后给出了比...

2019-09-16 22:36:36 152

转载 路由选择算法

主机通常直接与一台路由器相连接,该路由器即为该主机的默认路由器(defaultrouter) ,又称该主机的第一跳路由器(first-hop router)每当主机发送一个分组时,该分组被传送给它的默认路由器。源主机的默认路由器称作源路由器(sourcerouter) ,目的主机的默认路由器称作目的路由器(destination router)。一个分组从源主机到目的主机的路由选择问题显然...

2019-08-29 11:31:50 5322

原创 数据库 - 深入浅出MySQL

目录一、SQL 基础SQL 分类DDL 语句1.创建并使用数据库2.创建并查看表定义3.创建外键4.修改表 (modify,change)DML 语句1.插入记录 insert into 语句2.更新记录 update 语句DCL 语句数值类型int(x)char(x) 和 varchar(x)enum 枚举类型SET 类型...

2019-08-28 10:05:37 435

原创 项目:多线程网络库的日志实现

C++的日志库 log4cxxlog4cxx有三个主要组件:loggers(记录器),appenders(输出源)和layout(布局)。可以简单理解为日志类别,要输出的地方,输出形式。Logger是log4cxx的核心类,只执行日志操作;looger有层次结构,最顶层为RootLogger;logger是有级别的。每个logger可以附加多个Appender。Appender代表了日志...

2019-08-07 22:48:57 322

原创 背包问题

https://www.cnblogs.com/Christal-R/p/Dynamic_programming.html#include<iostream>#include<string>#include<vector>using namespace std;int n = 4; //描述物品个数int c = 8; //描述...

2019-08-06 21:33:01 134

转载 Epoll机制

目录select()和poll() IO多路复用模型epoll IO多路复用模型实现机制epoll 的三个相关函数1、epoll_create函数2、epoll_ctl函数3、epoll_wait函数4、epoll 建立线程池epoll的LT和ET 两种方式LT模式select()和poll() IO多路复用模型select的缺点:1.单个进程能够监...

2019-07-04 23:11:17 896

转载 多线程服务器的常用编程模型

文中的“ 多线程服务器” 是指运行在 Linux 操作系统上的独占式网络应用程序。不涉及 Windows 系统,不涉及人机交互界面(无论命令行或图形) ;不考虑文件读写(往磁盘写 log 除外) ,不考虑数据库操作,不考虑 Web 应用;只考虑 TCP,不考虑 UDP,也不考虑除了局域网络之外的其他数据收发方式。有了以上这么多限制,那么我将要谈的“ 网络应用程序”的基本功能可以归纳为“ ...

2019-06-03 22:53:39 1274

转载 C++对象模型:函数语意学

概述C++支持三种类型的成员函数有:static、nonstatic、和 virtual,每一种类型被调用的方式都不相同。不同类型的成员函数的调用会有不同的表现,以下对每一种类型的成员函数进行简单的分析。1.Nonstatic Member Functions 非静态成员函数为了使 nonstatic member function 能够与非成员函数具有相同的效率,C++ 编译器内部...

2019-05-14 16:55:36 165

原创 C++ 2.0 新特性 语言特性

只谈新东西C++ 2.0 新特性 包括语言特性和标准库两个层面,后者以 头文件 形式呈现的。标准库的东西全部都放在 名称空间 std 中。目录一、可变参数模板 Variadic template统一的初始化explicit 接收多个参数时的构造函数default 与 delete模板的模板参数noexpect 设置不抛出异常lambda 函数使用...

2019-05-14 16:54:04 913

原创 C++ 内存管理(一)primitives 基础工具

目录一、四种基础工具的使用1.1 四种工具的介绍1.1.1 new、::operator new()、malloc 三者之间的关系1.1.2delete、free1.1.3 array new、array delete1.1.4 placement new1.2 实现内存管理工具的重载1.2.1 重载全局版本 ::operator new /::op...

2019-05-14 16:53:10 362

原创 C++ 内存管理(二)std::allocator

目录一、VC6 标准分配器的实现二、G2.9 分配器的实现三、G2.9 std::alloc 源码剖析3.1 alloc 类基本设计3.2 refill 函数3.3 chunk alloc 函数四、std::alloc 运行细节观察一、VC6 标准分配器的实现VC 中的 allocator 只是实现了到 _Allocator -> operato...

2019-05-14 16:52:48 768

原创 C++ 内存管理(三)malloc/free

windows 下 VC 6.0 运行 C++ 程序的流程:call stack 调用栈VC 10 中对小块内存的管理转移到 HeapAlloc 中实现。_heap_init() 中实现的就是分配16个 header,由_sbh_pHeaderList维护借助 SBH 实现的这种结构去管理 1GB 内存,实现了 快速的内存分配与回收、碎片消除。...

2019-05-14 16:52:37 278 1

转载 数据库 - SQL

目录一、基础select语句关于分组处理数据的语句顺序:其他二、创建表三、修改表四、插入五、更新六、删除七、查询DISTINCTLIMIT八、排序ORDER BY 子句九、过滤WHERE十、通配符百分号 %下划线 _方括号 [ ]十一、计算字段拼接别名十二、函数汇总文本处理日期和时间处...

2019-05-14 16:51:24 819

原创 操作系统 - 内存管理

目录空闲内存管理伙伴系统基本内存管理方案页式存储管理方案段式存储管理方案段页式存储管理方案交换技术虚拟内存分页系统地址映射页面置换算法1. 最佳2. 最近最久未使用3. 最近未使用4. 先进先出5. 第二次机会算法6. 时钟7.工作集算法分段段页式分页与分段的比较地址重定位进程在运行前还没有加载到物理内存中,所...

2019-05-14 16:50:53 431

转载 操作系统 - 链接

目录编译系统静态链接目标文件动态链接编译系统以下是一个 hello.c 程序:#include <stdio.h>int main(){ printf("hello, world\n"); return 0;}在 Unix 系统上,由编译器把源文件转换为目标文件。gcc -o hello hello.c这个过程...

2019-05-14 16:50:45 1340

转载 C++对象模型:执行期语意学

目录执行期发生的转换一 、对象的构造和解构(构造和析构必须调用时)全局对象局部静态对象default constructor和数组二、new和delete运算符针对数组的new语意Placement Operator new 语意三、临时性对象执行期语义主要从一下两个方面展开:执行期发生的一些转换。 临时性对象。执行期发生的转换一 、对象的构...

2019-05-14 16:50:25 227

转载 图说C++对象模型:对象内存布局详解

目录1.何为C++对象模型?2.文章内容简介3.理解虚函数表3.1.多态与虚表3.2.使用指针访问虚表4.对象模型概述4.1.简单对象模型4.2.表格驱动模型4.3.非继承下的C++对象模型5.继承下的C++对象模型5.1.单继承5.2.多继承5.2.1一般的多重继承(非菱形继承)5.2.2 菱形继承6.虚继承6.1.虚基类表解析...

2019-05-14 16:50:18 358

转载 C++对象模型:构造、析构、拷贝语意学

目录1、有关纯虚函数2、无继承情况下的函数构造2.1struct 构造2.2抽象数据类型2.3有虚函数的情况3.继承体系下的对象构造3.1概述3.2虚拟继承的情况3.3vptr的初始化4.对象复制语意学5.析构函数语意学1、有关纯虚函数抽象基类的数据成员初始化如果一个类被声明为抽象基类(其中有 purevirtual function),则...

2019-05-14 16:49:38 335

转载 操作系统 - 设备管理

目录磁盘结构磁盘调度算法1. 先来先服务2. 最短寻道时间优先3. 电梯算法磁盘结构盘面(Platter):一个磁盘有多个盘面; 磁道(Track):盘面上的圆形带状区域,一个盘面可以有多个磁道; 扇区(Track Sector):磁道上的一个弧段,一个磁道可以有多个扇区,它是最小的物理储存单位,目前主要有 512 bytes 与 4 K 两种大小; 磁头(...

2019-05-14 16:48:29 214

原创 操作系统 - 文件系统

文件:一组带有标识的,在逻辑上有完整意义的信息项的序列信息项:构成文件内容的基本单位,信息项之间具有顺序关系文件系统:操作系统中统一管理信息资源的一种软件文件的分类(unix)普通文件:用户自己建立使用的文件,一般为 ASII 或二进制文件 目录文件:操作系统为了管理文件系统而建立的系统文件 特殊文件:将各种设备抽象成的文件,有利于提供一个统一的操作接口。如字符设备文件(终端、...

2019-05-14 16:48:22 707

原创 操作系统 - 概述

目录一、操作系统二、基本特征1. 并发2. 共享3. 虚拟4. 异步典型操作系统的架构Windows三、处理器四、中断与异常1. 中断(外部原因)2. 异常(内部原因)3. 陷入(主动调用)工作原理五、系统调用系统调用、库函数、API、内核函数一、操作系统1.概念:计算机系统中的一个系统软件,是一些程序模块的集合2....

2019-05-14 16:48:15 180

转载 网络 - Socket 编程

目录套接字概述TCP 的套接字编程初等网络函数介绍1.int socket(int domain, int type,int protocol)2.int bind(int sockfd, struct sockaddr *my_addr, int addrlen)3.int listen(int sockfd,int backlog)4.int accept(...

2019-05-14 16:48:05 533

转载 数据库 - 系统原理

目录一、事务 transaction概念ACID1. 原子性(Atomicity)2. 一致性(Consistency)3. 隔离性(Isolation)4. 持久性(Durability)AUTOCOMMIT二、并发一致性问题丢失修改读脏数据不可重复读幻影读三、封锁封锁粒度封锁类型1. 读写锁2. 意向锁封锁协议...

2019-05-14 15:40:22 316

转载 Linux 常用操作与相关概念

目录一、常用操作以及概念快捷键求助1. --help2. man3. info4. doc关机1. who2. sync3. shutdownPATHsudo命令格式包管理工具发行版VIM 三个模式GNU开源协议二、磁盘磁盘接口1. IDE2. SATA3. SCSI4. SAS磁盘的文件名...

2019-05-14 15:40:12 657

转载 操作系统 - 死锁

目录死锁的基本概念必要条件处理方法鸵鸟策略死锁检测与死锁恢复1. 每种类型一个资源的死锁检测2. 每种类型多个资源的死锁检测3. 死锁恢复死锁预防1. 破坏互斥条件2. 破坏占有和等待条件3. 破坏不可抢占条件4. 破坏环路等待死锁避免1. 安全状态2. 单个资源的银行家算法3. 多个资源的银行家算法哲学家就餐问题死锁的基...

2019-05-14 15:40:00 289

转载 海量数据处理

https://blog.csdn.net/v_july_v/article/details/7382693目录何谓海量数据处理?第一部分、从set/map谈到hashtable/hash_map/hash_setset/map/multiset/multimaphash_set/hash_map/hash_multiset/hash_multimap第二部分、处理海...

2019-05-14 15:39:32 920

原创 操作系统 - 进程管理

目录进程与线程1. 进程2. 线程3. 区别进程状态的切换进程调度算法1. 批处理系统1.1 先来先服务 first-come first-serverd(FCFS)1.2 短作业优先 shortest job first(SJF)1.3 最短剩余时间优先 shortest remaining time next(SRTN)1.4 最高相应比优先...

2019-05-14 15:39:19 385

转载 C++ 多线程系统编程入门

引言在 C++11 发布之前,Linux程序员都用过Pthread来实现多线程,但有了C++ 11 的std::thread以后,便可以在语言层面编写多线程程序,直接的好处就是多线程程序的可移植性得到了很大的提高。另外,在开发C++程序时,一般在吞吐量、并发、实时性上有较高的要求。在语言层面上实现的多线程,也可以实现从并发、异步、缓存 方面的性能的提高。与C++ 11多线程相关的头文件...

2019-05-14 15:38:59 590

原创 HTTP 协议和服务

目录一、概述二、HTTP 协议的基本过程请求响应无状态特性内部过程向服务器发出请求的方法HTTP 1.1持久连接使用 Cookies 的状态管理三、HTTP 报文四、返回结果的 HTTP 状态码五、Web 服务器六、HTTP 首部HTTP 首部字段HTTP/1.1 通用首部字段请求首部字段响应首部字段实体首部字段为 Co...

2019-05-10 10:55:14 786

原创 Linux 编程

目录Linux 编程环境vim 使用简介GCC编译器GDB 调试器1.常用调试命令2.调试多线程程序命令3.使用 core dump 文件调试Linux 网络编程进程的产生Linux 编程环境vim 使用简介1.普通模式下按下 I 键进入插入模式,再按下 Esc 键返回普通模式。2.建立文件:“vim 文件名”3.退出vim:普通...

2019-05-06 22:41:39 213

原创 数据库编程题

1.查找最晚入职员工的所有信息CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) NOT NULL,`gender` char(1) NOT NULL,`hire...

2019-03-14 16:07:43 1221

转载 数据库 - MySQL

目录基本概念MySQL一、索引B+ Tree 原理1. 数据结构2. 操作3. 与红黑树的比较MySQL 索引1. B+Tree 索引2. 哈希索引3. 全文索引4. 空间数据索引索引优化1. 独立的列2. 多列索引3. 索引列的顺序4. 前缀索引5. 覆盖索引索引的优点索引的使用条件二、查询性能优化使用...

2019-03-04 15:28:39 243

原创 图解 TCP/IP(五)应用层

一、DNS 域名系统DNS 可以将网址字符串自动转换为具体的 IP 地址,维护一个用来表示组织内部主机名(域名)和 IP 地址之间对应关系的数据库。域名是指为了识别主机名称和组织机构名称的一种名称,具有层次结构,从上到下依次为:根域名、顶级域名、二级域名。DNS 是一个分布式数据库,这里的分布式数据库是指,每个站点只保留它自己的那部分数据。DNS 可以使用 UDP 或者 TCP...

2019-02-26 16:48:10 301

侯捷 STL标准库与泛型编程 课件

侯捷 网易云课堂 STL标准库与泛型编程 配套课件 1. 认识headers、版本、重要资源 2. STL体系结构基础介绍 3. 容器之分类与各种测试(一) 。。。。。。。

2018-12-17

空空如也

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

TA关注的人

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