八股文 八股deque std

数据库八股1

1、什么是数据库? 数据库(Database) 是保存有组织的数据的容器(通常是一个文件或一组文件),是通过数据库管理系统(DataBase- Management System,DBMS) 创建和操纵的容器。DBMS 的主要目标是提供一种可以方便、高效地存取数据库信息的途径。 2、数据库的分类? ......
八股 数据库 数据

网络八股7

1、DoS 攻击 和 DDoS攻击是什么?如何防范? DoS(Denial of Service,拒绝服务) 攻击和 DDoS(Distributed Denial of Service,分布式拒绝服务)攻击都是网络安全领域常见的攻击手段。它们的目的是通过消耗目标系统的资源(如带宽、处理能力、内存等 ......
八股 网络

网络八股6

1、物理层主要做什么事情? 物理层是 OSI 模型中最低、最基本的一层,简单的说,网络的物理层面确保原始的数据可在各种物理媒体上传输。 2、主机之间的通信方式有哪些? 单工通信:单向通信,发送方和接收方是固定的,消息只能单向传输。例如采集气象数据、家庭电费,网费等数据收集系统,或者打印机等应用主要采 ......
八股 网络

网络八股5

1、MAC 地址和 IP 地址分别有什么作用? MAC 地址是(数据链路层)和(物理层)使用的地址,是写在网卡上的物理地址。MAC 地址用来定义网络设备的位置。IP 地址是(网络层和以上各层)使用的地址,是一种逻辑地址。IP 地址用来区别网络上的计算机。 互联网中主机之间相互传递数据的逻辑是:先通过 ......
八股 网络

网络八股4

1、IP 协议的定义和作用是什么? ip (Internet Protocol) 互联网协议。网络层是整个互联网的核心,网络层向上只提供简单灵活的、无连接的、尽最大努力交互的数据报服务。 ip 地址是一个数字标签,例如 192.0.2.1 ,用于与使用 ip 协议进行通信的计算机网络连接,IP 地址 ......
八股 网络

网络八股3

1、 2、 3、 4、 5、 TCP如何保证可靠传输:数据分块、校验和、流量控制、ARQ协议(自动重传协议:每发完一个分组就停止发送,等待对方确认,在收到确认后再发下一个分组)、超时重传、拥塞控制。 UDP(用户数据报协议)是一种不可靠的传输协议,主要有以下两个原因: (1)不提供可靠性保证:UDP ......
八股 网络

[八股]多进程编程

进程调度策略: 先来先服务。 短作业优先 最短剩余时间优先 优先级调度 时间片轮转 进程调度的发起来区分:抢占式、非抢占。 非抢占就是主动调度的(自己CPU用不上了,可以交出CPU使用),抢占式就是进程以外的中断事件返回时,或者一些状态切换过程中被动发生的,被标记为可调度并没有正常向下执行。 不管是 ......
八股 进程

取得std::ifstream对象的文件描述符

使用C++标准库无法取得std::ifstream对象的文件描述符,但GNU libstdc++库可以取得: ```cpp #include #include #include int main() { std::ifstream ifs("test.txt"); if (!ifs) { std:: ......
ifstream 对象 文件 std

网络八股2

1、因特网是极为复杂的系统,它包含大量的软件以及硬件系统,大量的应用程序和协议、各种类型的端系统、分组交换机,面对这种庞大且复杂的系统,将其化简分层是极其有必要的,分层的好处如下: (1)各层之间相互独立、相关隔离。每层只考虑当前层如何实现,无需考虑其他层(2)提高整体结构的灵活性,层次之间结构解耦 ......
八股 网络

std::copy与std::back_inserter引发的惨案

#include <iostream> #include <vector> #include <numeric> #include <sstream> int main() { std::vector v{1, 2, 3, 4, 5}; std::copy(begin(v), end(v), std ......
惨案 back_inserter std inserter copy

[C++] std::optional与RVO:最高效的std::optional实践与探究

## 返回值优化RVO 在cppreference中,是这么介绍RVO的 `In a return statement, when the operand is the name of a non-volatile object with automatic storage duration, wh ......
optional std RVO

【紧急科普】关于 std::vector 和 std::list 谁性能好的讲解

很多面试官。。。唉。不是一个年代的人吧。八股文当中现在倾向于说 list 中间插入性能更好。 1,std::vector 和 std::list 同属逻辑线性表。 2,std::vector 在内存当中连续,std::list 在内存当中不连续。 3,std::vector 因为在内存当中连续,随机 ......
科普 std 性能 vector list

std::for_each易忽略点

以下代码为修改vector内部的每一个元素,使其每个元素大小变为原来的平方。 std::vector v1{1, 2, 4, 2}; std::for_each(begin(v1), end(v1), [](auto& n) { return n * n; }); for (const auto& ......
for_each each std for

std模版库 队列、优先队列、双端队列

queue为单端队列 deque为双端队列 priority_queue为优先队列 #include #include priority_queue, less> // 最大堆 默认为对大堆 也即和 priority_queue 等价 priority_queue, greater> // 最小堆 ......
队列 模版 std

Java的部分八股(随便记着玩)

# Java的部分八股 ## 1.Hashmap和Hashtable的区别 1.安全性 hashtable是线程安全的,hashmap是非线程安全的 但是hashmap的性能高于hashtable 多线程下使用hashmap需要使用一个线程安全的集合 2.容量部分 Hashmap的初始容量为16,h ......
八股 部分 Java

C++11 右值引用&&、移动语义std::move、完美转发std::forward

参考:https://blog.csdn.net/HR_Reborn/article/details/130363997 #pragma once class Array { public: Array() : size_(0), data_(nullptr){ } Array(int size) ......
语义 amp std forward move

c++ stl std::sort使用例子

class User { public: int32_t m_fight_power; private: int32_t m_level; }; bool CenterData::compare(const User *left, const User *right) { if(left->m_fi ......
例子 sort stl std

八股

## Python #### python-内置函数 内置函数是python预先定义的函数,这些函数可以提高我们的编码效率。常用的比如map,他可以传两个参数,分别是函数和指定的序列,会根据你提供的函数对指定的序列做映射,还比如zip,我们也叫拉链,就是把两个可迭代的对象打包成一个个元组。还有像ha ......
八股

std::allocator

设计主要目的:减少malloc的cookie的开销 设计主要方法:减少malloc的次数,用数据结构管理已经分配的内存。 核心数据结构:free_list[16]存储16根链表头,free_list[i],0~15 ,free_list[i]管理(i + 1)*16字节型区块。 客户所需要内存块大小 ......
allocator std

C语言八股

数据结构: 结构体与联合体的区别? 结构体每个成员变量的内存都是独立的,联合体的成员变量的内存空间存在覆盖的情况 一个结构体的大小,也就是用sizeof运算符得到的结果,是每个成员变量的大小进行对齐并填充字节之后的总的大小。 联合体的大小则是其中一个占用内存空间最大的成员变量的大小,内存占用是共享的 ......
八股 语言

linux操作系统八股

C++分配内存的方式:new delete malloc free、placement new 数组new跟delete 程序空间布局管理:这些是站在最理想情况的程序员设计角度来谈的 栈 mmap 堆 BSS 数据段 TEXT段 讲讲malloc 是C库函数,底层会调用brk跟mmap两种系统调用, ......
八股 系统 linux

数据结构与算法八股

讲一讲插入排序 讲一讲冒泡排序 讲一讲快速排序 讲一讲堆排序 讲一讲归并排序 dp dp数组的定义及含义:dp[num1.length+1][num2.length+1],为什么要+1呢,因为我们要判断他与前面的关系涉及到i-1,所以遍历需要从1开始 return的是什么 如果初始化时候size+1 ......
八股 数据结构 算法 结构 数据

项目八股

#项目涉及知识点 C++11新特性:auto类型推导、lambda匿名捕获、范围for循环、智能指针、constexpr、右值引用完美转发移动构造、nullptr 多线程编程:线程互斥、同步、线程池、任务队列 网络编程:http,tcp/ip,epoll/poll/select区别、socket流程 ......
八股 项目

八股文

<iframe src="https://crush6397-my.sharepoint.com/personal/bingzhenxigua_crush6397_onmicrosoft_com/_layouts/15/Doc.aspx?sourcedoc={fe68fd4a-fee5-47dd-9 ......
八股文 八股

C++里std::enable_shared_from_this是干什么用的?

std::enable_shared_from_this使用场景 在很多场合,经常会遇到一种情况,如何安全的获取对象的this指针,一般来说我们不建议直接返回this指针,可以想象下有这么一种情况,返回的this指针保存在外部一个局部/全局变量,当对象已经被析构了,但是外部变量并不知道指针指向的对象 ......

C++ 多线程详解之异步编程 std::packaged_task

std::packaged_task 将任何可调用对象(比如函数、lambda 表达式等等)封装成一个 task,可以异步执行。执行结果可以使用 std::future 获取。 比如下面的例子,构造一个 std::packaged_task 后,get_future() 函数返回一个 std::fu ......
线程 packaged_task packaged task std

利用队列的内置模块(deque)模拟 Linux 下的 tail 命令(输出文件中最后几行的内容)

> 博客地址:https://www.cnblogs.com/zylyehuo/ ```python # -*- coding: utf-8 -*- from collections import deque def tail(n): # n:指定输出文件中最后几行 with open('test. ......
队列 模块 命令 文件 内容

队列的内置模块(deque)--双向队列

> 博客地址:https://www.cnblogs.com/zylyehuo/ ```python # -*- coding: utf-8 -*- from collections import deque q = deque([1,2,3,4,5], 5) q.append(6) # 队尾进队 ......
队列 双向 模块 deque

面试八股回答通用模板

# 面试八股回答通用模板 ## 1、整体回答思路 面试的八股问题都可以尝试从以下几个方面来回答即: 是什么、为什么、怎么做、举例说明、对比分析、结合实际 ## 2、举例说明 >面试官:介绍一下vector和list的区别以及优缺点? “是什么”:vector 是一个动态数组,它在内存中以连续的方式存 ......
八股 模板

关于callback和std::bind的那些事

## 前言 使用callback常常需要绑定类的具体函数,哪些可以绑定哪些不能? ## 分析 callback不同与普通函数,其入参也是一个函数,具体行为由入参决定 我们看这样一段代码 https://godbolt.org/z/4YTKs567j ```cpp #include #include ......
callback bind std