- 博客(96)
- 收藏
- 关注
原创 【Linux篇】面试——用户和组、文件类型、权限、进程
一个 组中 可以有 多个用户,一个 用户 也可以 属于 不同的组。接下来的 字符中,以 三个 为一组,且均为 rwx 的三个参数的 组合。r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。是 Linux 系统 中的一个 账户,代表 一个操作者 或 一个 服务进程。用户 登录系统时,需要 提供 有效的 用户名 和 密码,以 验证其身份。Linux 文件的 基本 权限 就有 九个,分别是。记录了 这个用户的 一些 基本属性。是一组用户的 集合,三种身份 各有 自己的。
2024-11-12 17:58:17
1362
原创 【网络面试篇】其他面试题——Cookie、Session、DNS、CDN、SSL/TLS、加密概念
对称加密 也称为私钥加密,使用 相同的密钥 来进行 加密和解密。在 加密 过程中,明文数据 通过 应用 特定的算法 和 密钥 进行加密,生成 密文数据。解密过程则是 将 密文数据 应用 同样的 算法 和 密钥 进行解密,恢复为 明文数据。由于 加密 和 解密 都使用 相同的密钥,因此 对称加密算法的速度 通常较快,但 密钥 的 安全性 很重要。如果 密钥泄漏,攻击者 可以轻易地 解密数据。
2024-11-11 17:38:40
841
原创 【网络面试篇】TCP 相关——重传机制、滑动窗口、流量控制、拥塞控制、Keep-Alive、KeepAlive
拥塞窗口 cwnd 是 发送方 维护的 一个的 状态变量,它会 根据网络 的 拥塞程度 动态变化的。发送窗口 swnd 和 接收窗口 rwnd是 约等于的 关系,由于 加入了 拥塞窗口 的概念后,此时发送窗口的值 是 swnd=min(cwnd, rwnd),也就是拥塞窗口 和 接收窗口 中的 最小值。只要网络中没有出现拥塞,cwnd 就会增大;但网络中出现了拥塞,cwnd 就减少;
2024-11-10 17:46:26
1421
原创 【系统面试篇】其他相关题目——虚拟内存、局部性原理、分页、分块、页面置换算法
虚拟内存 在 每一个 进程 创建加载的 过程中,会 分配一个连续 虚拟地址空间,它 不是 真实 存在的,而是通过映射 与 实际地址空间 对应,这样 就可以使 每个进程 看起来 都有 自己独立的 连续地址空间,并 允许 程序访问 比物理内存 RAM 更大的 地址空间,每个程序 都可以 认为它 拥有 足够的 内存来 运行。内存分段是 将一个 程序的 内存空间 分为不同的逻辑段 segments每个 段 代表程序的 一个功能模块 或 数据类型,如 代码段、数据段、堆栈段 等。
2024-11-08 18:06:37
1048
原创 【系统面试篇】进程与线程类(2)(笔记)——进程调度、中断、异常、用户态、核心态
中断和异常都会 导致处理器 暂停 当前正在执行的 任务,并 转向 执行一个 特定的 处理程序(中断处理程序 或 异常处理程序然后 在处理完 这些特殊情况 后,处理器 会返回 到被打断的 任务继续执行。
2024-11-05 16:36:43
1113
原创 【网络面试篇】HTTP(2)(笔记)——http、https、http1.1、http2.0
服务器收到 客户端的 第三个随机数(pre-master key)之后,通过协商的 加密算法,计算出 本次通信的「会话秘钥」。加密通信算法 改变通知,表示 随后的 信息都 将用「会话秘钥」加密通信。服务器 握手结束 通知,表示 服务器的 握手阶段 已经结束。这一项 同时 把之前 所有内容的 发生的数据 做个摘要,用来 供客户端 校验。至此,整个 TLS 的握手阶段 全部结束。接下来,客户端 与 服务器 进入加密通信,就 完全是 使用普通的 HTTP 协议,只不过用「会话秘钥」加密内容。综述。
2024-11-04 17:15:50
1098
原创 【系统面试篇】进程和线程类(1)(笔记)——区别、通讯方式、同步、互斥、锁分类
目录一、问题综述1. 进程和线程的区别?2.进程的状态有哪些?3.进程之间的通信方式?(1)管道(2)消息队列(3)共享内存(4)信号量(5)信号(6)Socket4.解释一下进程同步和互斥,以及解决这些问题的方法?(1)互斥的概念(2)同步的概念(3)锁(4)信号量(5)使用信号量和 PV 操作5.什么是死锁?如何避免死锁?(1)互斥条件(2)持有并等待条件(3)不可剥夺条件(4)环路等待条件(5
2024-11-02 17:32:27
855
原创 【网络面试篇】HTTP(1)(笔记)——状态码、字段、GET、POST、缓存
对于一些 具有 重复性的 HTTP 请求,比如 每次请求 得到的 数据 都一样的,我们 可以把 这对「请求-响应」的数据都 缓存在 本地,那么下次就 直接读取 本地的 数据,不必在 通过网络 获取 服务器的 响应了,这样的话 HTTP/1.1 的性能 肯定 肉眼可见的 提升。所以,避免发送 HTTP 请求的方法 就是 通过 缓存技术,HTTP 设计者早 在之前就 考虑到了这点,因此HTTP 协议的头部有不少是针对缓存的字段。HTTP 缓存有两种实现方式,分别是强制缓存 和 协商缓存。
2024-11-02 16:28:16
1336
原创 【网络面积篇】TCP断开连接(笔记)
关闭 连接时,客户端 向 服务端 发送 FIN 时,仅仅 表示客户端 不再发送 数据了 但是还能 接收数据。服务端 收到 客户端的 FIN 报文时,先回一个 ACK 应答报文,而 服务端 可能 还有 数据需要处理 和 发送,等 服务端 不再发送数据 时,才发送 FIN 报文 给客户端 来表示 同意现在 关闭连接。从 上面过程 可知,服务端 通常需要 等待完成 数据的 发送和处理,所以 服务端 的开发送,因此是 需要 四次挥手。ACK 和 FIN 一般 都会 分开发送,因此是 需要 四次挥手。
2024-10-31 16:59:36
1044
1
原创 【网络面试篇】TCP连接建立(笔记)
现在 考虑一个 场景,客户端先 发送了 SYN (seq=90)报文,然后 客户端 宕机了,而且 这个 SYN 报文 还被网络阻塞 了,服务端 并没有 收到,接着 客户端重启 后,又重新 向 服务端 建立连接,发送了 SYN (seq=100)报文(这里不是重传 SYN,重传的 SYN 的序列号是一样的一个「SYN 报文」比「最新的 SYN」报文早到达了 服务端,那么 此时服务端 就会 回一个 SYN+ACK 报文给 客户端,此报文中的 确认号是 91(90+1)。
2024-10-30 18:19:05
1010
原创 【算法篇】图论类(1)(笔记)
如果想 表示 无向图,即:grid[2][5] = 6,grid[5][2] = 6,表示 节点 2 与 节点 5 相互连通,权值为6。用一个方格地图,假如每次搜索的方向为 上下左右(不包含斜上方),那么给出一个start起始位置,那么BFS就是从四个方向走出第一步。grid[2][5] = 6,表示 节点 2 连接 节点 5 为 有向图,节点 2 指向 节点 5,边的 权值为 6。然后我们再去遍历这个地图,遇到有陆地的地方,去采用深搜或者广搜,边统计所有陆地。100. 岛屿的最大面积。
2024-10-29 17:21:48
1019
原创 【网络面试篇】TCP、UDP类(笔记)——特点、区别、面向字节流、粘包、拆包、端口
用户消息 通过 TCP 协议传输 时,消息可能会 被 操作系统「分组」成 多个的 TCP 报文,如果 接收方的 程序如果 不知道。一定是「一对一」才能连接,不能像 UDP 协议可以 一个主机 同时向多个主机 发送消息,也就是 一对多是 无法做到的;内核是 通过 四元组 信息来 定位一个 TCP 连接的,并不会 因为 客户端的 端口号 相同,而导致 连接冲突的 问题。无论的 网络链路中 出现了怎样的 链路变化,TCP 都可以 保证一个报文 一定能够 到达 接收端;,是无法 读出一个 有效的 用户消息的。
2024-10-29 16:04:05
1337
原创 【网络篇】计算机网络——链路层详述(笔记)
我们将 运行 链路层协议(即第 2 层)的 任何设备均 称为节点(node)。节点包括主机、路由器、交换机 和 WiFi 接人点。我们也 把沿着通信 路径连接 相邻节点的 通信信道称为链路(link)。为了将一个 数据报 从源主机 传输到目的 主机,数据报 必须通过沿端 到端路径上的 各段链路 传输。举例来说,在 如下图中的 公司网络 中,考虑 从无线主机 之一向 服务器之一 发送一个 数据报。
2024-10-28 16:47:08
1401
原创 【网络面试篇】从输⼊ URL 到⻚⾯展示到底发⽣了什么?
(1)URL 解析(2)DNS 查询(3)TCP 连接(4)处理请求(5)接受响应(6)渲染页面。
2024-10-27 17:48:25
479
原创 【算法篇】贪心类(2)(笔记)
目录一、Leetcode 题目 1. 柠檬水找零2. 根据身高重建队列3. 用最少数量的箭引爆气球4. 无重叠区间5. 划分字母区间6. 合并区间7. 单调递增的数字8. 监控二叉树二、总结https://leetcode.cn/problems/lemonade-change/description/https://leetcode.cn/problems/lemonade-change/description/2. 根据身高重建队列https://leetcode.cn/proble
2024-10-22 18:25:29
639
原创 【算法篇】动态规划类(4)——子序列(笔记)
目录一、Leetcode 题目 1. 最长递增子序列2. 最长连续递增序列3. 最长重复子数组4. 最长公共子序列5. 不相交的线6. 最大子序和7. 判断子序列8. 不同的子序列9. 两个字符串的删除操作10. 编辑距离11. 回文子串12. 最长回文子序列二、动态规划总结https://leetcode.cn/problems/longest-increasing-subsequence/description/https://leetcode.cn/problems/longest-increasin
2024-10-16 18:57:15
1255
原创 【算法篇】动态规划类(2)——01背包+完全背包(笔记)
有一堆石头,用整数数组stones表示。其中stones[i]表示第i块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为x和y,且x <= y。那么粉碎的可能结果如下:如果x == y,那么两块石头都会被完全粉碎;如果x!= y,那么重量为x的石头将会完全粉碎,而重量为y的石头新重量为y-x。最后,最多只会剩下一块 石头。返回此石头 最小的可能重量。如果没有石头剩下,就返回0。
2024-10-13 17:46:47
1284
原创 【算法篇】动态规划类(1)(笔记)
动态规划,英文:Dynamic Programming,简称 DP,如果 某一问题有很 多重叠子问题,使用动态规划 是最有效的。dp[i] 的定义为:第 i 个数的 斐波那契数值是 dp[i]。有dp[i]种方法。
2024-10-12 18:05:38
1187
原创 【网络篇】计算机网络——网络层详述(笔记)
上图显示了一个 通用路由器 体系结构的 总体视图,其中 标识了一台 路由器的 4 个组件。第二层交换机 和 第三层路由器等 中间盒 剧增,而且 每种都有自己 特殊的 硬件、软件 和 管理界面,无疑 给许多网络操作员 带来了十分头疼的 大麻烦。然而,近期 软件定义 网络的 进展 已经预示 并且正在 提出一种统一的 方法,以一种现代、简洁和综合方式,提供 多种网络层功能 以及 某些 链路层功能。
2024-10-12 01:36:52
848
原创 【网络篇】计算机网络——运输层详述(笔记)
运输层 协议为运行 在不同主机上 的应用 进程之间提供了逻辑通信(logic communica-tion)功能。从应用程序的 角度看,通过 逻辑通信,运行 不同 进程的 主机好像 直接相连一样;实际上,这些 主机也许 位于 地球的两侧,通过 很多路由器及 多种不同 类型的 链路相连。应用进程 使用 运输层提供的 逻辑通信功能 彼此 发送报文,而 无须考虑承载 这些报文的 物理基础设施的 细节。运输层协议是在 端系统中 而不是在 路由器中实现的。在发送端。
2024-10-07 21:18:17
2313
1
原创 【网络篇】计算机网络——应用层详述(笔记)
Web 页面(Web page)(也叫文档)是由 对象 组成的。一个对象(object)只是一个文件,诸如一个 HTML 文件、一个 JPEG 图形、一个 Java 小程序或一个视频片段这样的文件,且它们可 通过一个 URL 地址 寻址。多数 Web 页面含有一个 HTML 基本文件(base HTMLfile)以及几个 引用对象。例如,如果一个 Web 页面包含 HTML 文本和 5 个JPEG 图形,那么这个 Web 页面有 6 个对象:一个 HTML 基本文件加 5 个图形。
2024-10-05 22:53:56
1462
1
原创 【算法篇】回溯算法类(2)(笔记)
其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。,返回所有不同的 n 皇后问题 的解决方案。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中。,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素。数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。如果存在多种有效的行程,请你按字典排序返回最小的行程组合。,按任意顺序 返回所有不重复的全排列。
2024-10-03 18:55:28
1253
原创 【算法篇】回溯算法类(1)(笔记)
的字符串,返回所有它能表示的字母组合。返回该数组所有可能的子集(幂集)。返回 所有可能的有效组合的列表。该列表不能包含相同的组合两次,组合可以以任何顺序返回。如果至少一个数字的被选数量不同,则两种组合是不同的。,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在。的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。注意:解集不能包含重复的组合。你可以按 任何 顺序返回答案。你可以按 任何顺序 返回答案。中的每个数字在每个组合中只能使用 一次。
2024-10-02 17:12:08
865
原创 【网络篇】计算机网络基础知识详述(1)(笔记)
在这个例子中,这条专 用的端到端 连接使用 第一条链路中 的 第二条电路 和 第二条链路中的 第四条电路。因为 每条链路具有 4 条电路,对于 由端到端 连接 所使用的 每条链路 而言,该连接 在连接期间 获得 链路 总传输容量的 1/4。在 上图所示的 特定时刻,源 已经传输了 分组 1 的一部分,分组 1 的前沿 已经到达了 路由器。这些时延 是变化的,变化的程度取决于 网络的 拥塞程度。因为 缓存空间的 大小 是有限的,一个 到达的分组 可能 发现 该缓存 已被 其他 等待传输的 分组 完全充满了。
2024-10-01 23:04:21
1458
原创 【算法篇】二叉树类(3)(笔记)
t=O83At=O83At=O83At=O83At=O83At=O83At=O83A236. 二叉树的最近公共祖先 - 力扣(LeetCode)https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree/description/
2024-09-28 16:51:05
964
原创 【算法篇】二叉树类(2)(笔记)
递归:因为是传入了两个树,那么就有两个树遍历的节点root1 和 root2,如果root1 == NULL 了,两个树合并就应该是 root2 了(如果root2也为NULL也无所谓,合并之后就是NULL)。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;频率count 大于 maxCount的时候,不仅要更新 maxCount(要把这个元素加入到结果集中),而且要清空结果集(以下代码为result数组),因为结果集之前的元素都失效了。返回以该节点为根的子树。
2024-09-27 17:08:54
913
原创 【Linux篇】网络编程——I/O复用
但 每次新建文件描述符时,其值都会 增 1,故 只需将 最大的 文件描述符值 加 1 再传递到 select 函数 即可。声明足够大的 epoll_event 结构体数组后,传递给 epoll_ wait 函数时,发生变化的 文件描述符信息将被填人该数组。根据 监视项声明 3 个 fd_set 型变量,分别向其注册文件描述符 信息,并把 变量的地址值 传递到上述函数的 第二 到 第四个参数。通过 参数 size 传递的值决定 epoll 例程 的大小,但该值 只是向操作系统 提的建议。
2024-09-26 20:52:02
1138
原创 【Linux篇】网络编程基础(笔记)
获取 sockfd 对应的 本端 socket 地址,并将其 存储于 address 参数指定的 内存中,该 socket 地址的 长度则 存储于 address_len 参数 指向的 变量中。对于服务器机群 而言,请求队列 是各台服务器之间 预先 建立的、静态的、永久 的 TCP 连接。需要注意的是,服务器在 处理一个 客户请求的 同时还会 继续监听 其他客户请求,否则就 变成了 效率低下的 串行服务器了、图中 服务器 同时监听 多个客户请求 是 通过 select 系统 调用 实现的。
2024-09-22 22:07:39
1523
原创 【算法篇】栈与队列类(笔记)
队列没有必要维护窗口里的所有元素,只需要维护有可能成为窗口里最大值的元素就可以了,同时保证队列里的元素数值是由大到小的。push(value):如果push的元素value大于入口元素的数值,那么就将队列入口的元素弹出,直到push元素的数值小于等于队列入口元素的数值为止。第三种情况:遍历字符串匹配的过程中,栈已经为空了,没有匹配的字符了,说明右括号没有找到对应的左括号 return false。要用小顶堆,因为要统计最大前k个元素,只有小顶堆每次将最小的元素弹出,最后小顶堆里积累的才是前k个最大元素。
2024-09-19 17:28:15
1245
原创 【Linux篇】Http协议(1)(笔记)
世界上几乎所有的 HTTP 通信 都是由 TCP/IP 承载的,TCP/IP 是全球计算机 及 网络设备 都在使用的一种常用的 分组交换网络分层 协议集。一旦服务器 获取了 整条 请求报文,就会 对请求 进行处理,执行 所请求的 动作(S7),并 将数据写回 客户端。HTTP 要传送 一条报文 时,会以 流的形式 将报文数据的 内容 通过一条 打开的 TCP 连接 按序传输。一个 HTTP 事务 由一条(从客户端发往服务器的)请求命令 和 一个(从服务器发回 客户端的)响应结果 组成。
2024-09-18 19:03:46
1187
原创 【算法篇】字符串类(笔记)
也就是: 12(字符串的长度) - 8(最长公共前后缀的长度) = 4, 为最长相同前后缀不包含的 子串长度。4 可以被 12(字符串的长度) 整除,所以说明有重复的子字符串(asdf)。给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定一个字符串 s 和一个整数 k,从字符串开头算起, 每计数至 2k 个字符,就反转这 2k 个字符中的前 k 个字符。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。可以跳转 代码随想录 的网站。
2024-09-17 16:48:22
1221
原创 【Linux篇】TCP/IP协议(笔记)
数据链路层实现了 网卡接口的 网络驱动程序,以 处理数据在 物理媒介(比如以太网、令牌环等)上的 传输。不同的物理网络 具有不同的 电气特性,网络驱动程序 隐藏了 这些细节,为上层协议提供一个 统一的接口。网络层实现数据包的 选路和转发。WAN,广域网)通常使用 众多 分级的 路由器来 连接分散的 主机 或 LANLocal Area Network,局域网),因此,通信的 两台主机一般 不是直接相连的,而是 通过多个中间节点(路由器)连接的。网络层的 任务就是 选择 这些中间节点,以。
2024-09-16 22:06:14
2205
原创 【算法篇】哈希类(笔记)
在遍历数组的时候,只需要向map去查询是否有和目前遍历元素匹配的数值,如果有,就找到的匹配对,如果没有,就把目前遍历的元素放进map中,因为map存放的就是我们访问过的元素。的 双指针解法 是 两层 for 循环 nums[k] + nums[i] 为确定值,依然是循环内有 left 和 right 下标作为 双指针,找出 nums[k] + nums[i] + nums[left] + nums[right] == target的情况。题目中说了会 无限循环,那么也就是说求和的过程中,sum会重复出现。
2024-09-15 15:54:31
846
1
原创 【Linux篇】常用命令(笔记)
sudo 是 linux 系统管理指令,是 允许系统管理员 让普通用户 执行一些 或者全部 的root 命令的一个 工具,如 halt,reboot,su 等等。文件系统是 文件存放在 磁盘 等存储设备上的 组织方法,提供 计算机 存储信息的结构,信息存储 在文件中,文件 主要存储 在计算机的 内部硬盘里,在 目录的分层结构中 组织文件。man 时 manual的缩写,是Linux提供的一个手册,包含了绝大部分的命令、函数的详细使用说明。⑥ /lib:系统库,共享文件 以及内核模块的 文件。
2024-09-12 21:45:06
838
原创 【算法篇】链表类(笔记)
求出两个链表的长度,并求出两个链表长度的 差值,然后让 curA 移动到,和 curB 末尾对齐的 位置。可以使用快慢指针法,分别定义 fast 和 slow 指针,从头结点出发,fast指 针 每次移动 两个节点,slow 指针 每次移动 一个节点,如果 fast 和 slow指针在途中 相遇 ,说明这个 链表有环。给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。,n 为 fast 指针在环内走了 n 圈 才遇到 slow 指针, (y+z)为 一圈内节点的个数 A。
2024-09-12 17:29:55
1004
原创 【算法篇】数组类(笔记)
if (nums[middle] > target) right 更新为 middle,因为当前 nums[middle] 不等于 target,去 左区间 继续寻找,而寻找 区间是 左闭右开区间,所以 right 更新为 middle,即:下一个 查询区间不会去比较 nums[middle]。一个 for 循环滑动窗口的 起始位置,一个 for 循环为滑动窗口的终止位置,用两个 for 循环 完成了一个不断搜索区间的过程。:窗口的结束位置就是遍历数组的指针,也就是 for 循环里的索引。
2024-09-10 17:39:34
876
原创 常用Numpy操作(笔记整理)
对数组元素进⾏求和或累积操作。获取数组的最⼤最⼩值及其索引。对数组元素进⾏加减乘除操作。创建特定填充值的数组。切⽚操作获取特定区域的数组元素。计算数组元素的⽅差。对数组指定轴应⽤⾃定义函数。对数组元素进⾏取余操作。对数组进⾏对数运算。将⻆度与弧度进⾏转换。对数组进⾏排序和获取索引。对数组元素求和计算。对数组进⾏指数函数运算。对数组元素进⾏舍⼊操作。将数组拆分为多个⼦数组。对数组进⾏线性代数运算。计算数组元素的绝对值。计算数组元素的平均值。
2024-08-31 16:50:50
1434
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人