"一分钟"学习复习系列
文章平均质量分 83
目前聚焦于工程架构,针对系统原理、工程架构、数据结构算法,避免长篇大论,而是直击痛点,保证真正理解并抓住重点,致力于在最短的时间内,达到学习明白或迅速温习。不仅是达到能理解,而且达到立即可写出代码迅速用于实践。保证每一篇都有可编译、可运行、结果正确的代码例子。
FSak47
这个作者很懒,什么都没留下…
展开
-
分布式+zookeeper八股文
1、zookeeper: zookeeper的节点组织结构:与标准文件系统的名称空间非常相似 zookeeper的节点包括三种类型: 「持久节点」(persistent node)节点会被持久 「临时节点」(ephemeral node),客户端断开连接后,ZooKeeper 会自动删除临时节点 「顺序节点」(sequential node),每次创建顺序节点时,ZooKeeper 都会在路径后面自动添加上10位的数字,从1开始...原创 2021-09-05 20:07:55 · 628 阅读 · 0 评论 -
网络八股文
1、网络IO模型 首先是同步IO和异步IO,这是很多人混淆的地方:同步IO:应用程序主动向内核查询是否有可用数据,如果有自己负责把数据从内核copy到用户空间。异步IO:应用程序向内核发起读数据请求需要:(1)告诉内核数据存放位置(2)注册回调函数,当内核完成数据copy后调用回调通知应用程序取数据。同步IO/异步IO最大区别:同步IO数据从内核空间到用户空间的copy动作是由应用程序自己完成。而异步IO则是注册回调函数并告知内核...原创 2021-09-05 19:10:31 · 231 阅读 · 0 评论 -
MySQL面试八股文
1、MySQL的B树和B+树 B树: 每个节点都存储数据,随机IO很大B+树: 数据都在叶子节点上,并且增加了顺序访问指针,每个叶子节点都指向相邻的叶子节点的地址。相比B-Tree来说,进行范围查找时只需要查找两个节点,进行遍历即可。而B-Tree需要获取所有节点,相比之下B+Tree效率更高。 所以B+ 树中,数据对象的插入和删除仅在叶节点上进...原创 2021-09-05 17:37:42 · 338 阅读 · 0 评论 -
kafka面试八股文
0、kafka的基本名词 topic:划分message的逻辑概念,一个topic的数据分布在多个broker上 partition:每个topic的数据,被切分至一个或多个partition中 offset:消息在partition的编号,不跨partition consumer:从broker获取message producer:向broker生产message replication:kafka...原创 2021-09-05 17:21:28 · 1930 阅读 · 0 评论 -
Redis八股文
一、Redis 1、都有哪种数据格式 string、hash、list、set、zset 引申出bitmap 分别对应哪些场景 2、为什么速度快纯内存操作 网络IO模型,牵出reactor 单线程处理,注意redis6.0后也有多线程 3、Redis持...原创 2021-09-05 11:33:53 · 154 阅读 · 0 评论 -
关于vector
vector是一个基于使用动态堆空间的连续空间的STL容器,可以方便动态追加扩展,方便如同数组的按索引访问; vector有两个重要概念,一个是容器的分配的空间的大小(capacity),一个是容器内当前元素的个数(size),前者对应的是实际在堆上为这个vector分配了多少堆空间,后者是当前vector内,实际有多少个元素,这和vector的迭代器(begin、end)相关; ...原创 2018-05-14 20:20:08 · 531 阅读 · 0 评论 -
关于字节序
字节序分为小端(主机字节序)和大端(网络字节序): 1、所谓字节序是: 数据在存储中,是由高字节部分到低字节部分,还是由低字节部分到高字节部分,就是字节序; 小端:从低字节部分到高字节部分存储 大端:从高字节部分到低字节部分存储 如0x1234: 内存顺序: 低---高 ...原创 2018-05-10 16:43:36 · 3878 阅读 · 0 评论 -
c++的多态(重载、覆盖、隐藏)
描述这类的文章有很多,这里用最简洁的方式用于记牢: 1、什么是重载(overload): 在同一个作用域下的两个同名函数,并且它们的参数不同(返回值是否相同可选),这样的两个函数叫重载。 注意理解"在同一个作用域下",至少包括以下: a. 在同一个名字空间下面,比如都在名字空间abcde下定义的两个普通函数,或者两个全局函数; ...原创 2018-05-02 20:19:29 · 1739 阅读 · 0 评论 -
c++11的闭包(lambda、function、bind)
c++11开始支持闭包,闭包:与函数A调用函数B相比较,闭包中函数A调用函数B,可以不通过函数A给函数B传递函数参数,而使函数B可以访问函数A的上下文环境才可见(函数A可直接访问到)的变量;比如: 函数B(void) { ...... } 函数A { int a = 10; B(); //普通调用函数B } 函数...原创 2018-04-23 11:14:02 · 12337 阅读 · 0 评论 -
c++11的时间库chrono
c++11的时间库chrono简化了时间、日期、时间间隔的计算的编程开发;主要体现于: 1、基于system_clock、steady_clock、high_resolution_clock的时钟(clock)的确凿时间点(time_point)的获取; 2、基于不同时间单位、不同时间点之差的时间间隔(duration)的计算; c++11的时间库chrono均位于名字空...原创 2018-04-18 10:19:24 · 3382 阅读 · 0 评论 -
auto关键字实现简易的数值范围迭代器
比如需要遍历数值范围[5,10),直观的方法是:for (int i = 5; i < 10; i++) { .....}c++11的auto关键字,可以不指定数据类型,如下:for (auto i = 5; i < 10; i++) { .....}c++11的auto关键字,还可以遍历容器,如下:std::vector<int> v = {5,6,7...原创 2018-04-11 18:25:01 · 1155 阅读 · 0 评论