随笔分类 - 面经
摘要:#include <iostream> using namespace std; //冒泡排序 2 5 4 1 3 template <class T> void bubble_sort(T arr[], int length) { for (int k = 0; k < length - 1; k
阅读全文
摘要:什么是事务 一个数据库事务通常包含对数据库进行读或写的一个操作序列。它的存在包含有以下两个目的: 1. 为数据库操作提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。 2. 当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼
阅读全文
摘要:char和varchar的区别 char表示定长, 即长度固定. varchar表示变长, 即长度可变. 当输入数据的长度小于定义的长度时, char会用空格填充, 而varchar则按照实际长度存储. 由于长度固定, char的存取速度比varchar快, 但是会占用多余的空间. varchar则
阅读全文
摘要:```python """ 单例模式 单利模式是一种设计模式, 应用该模式的类只会生成一个实例, 可以保证在程序的不同位置 都可以且仅可以取到同一个对象实例. 如果实例不存在, 会创建一个实例, 但是如果已经存在就会返回这个实例. 四种实现方法: 1.函数装饰器实现单例模式 2.类装饰器实现单例模式 3.__new__实现单例模式 4.metaclass实现单利模式 """ # 1.函数装饰器实现
阅读全文
摘要:```python """ 括号匹配 输入: "()[]{}" 输出true 输入:"([)]" 输出false 输入:")(()))" 输出false 输入:"()" 输出true 输入:"((([])))" 输出true 输入:"]][[" 输出false 输入:([)] 输出false """ def bracket_match_v1(brackets_str): brackets_dict
阅读全文
摘要:```python """ 十进制转换成n进制 例子: 100转换成8进制 144 256除8 商32 余0 32除8 商4 余0 4除8 商0 余4 每次结果的余数进栈, 最后出栈 """ def decimal_conversion(num, base): if base = base: remainder = quotient % base quotient = quotient // ba
阅读全文
摘要:进程和线程的基本概念 进程, 是指在系统中正在运行的一个应用程序, 程序一旦运行就是进程. 每个进程都有自己独立的一块内存空间, 一个进程可以有多个线程. 线程, 进程内独立执行的一个单元执行流, 负责当前进程中程序的执行, 一个进程中至少有一个线程, 一个进程可以运行多个线程, 多个线程之间可以共
阅读全文
摘要:GET和POST在本质上都是HTTP请求, 但对它们的作用做了界定和适配, 让他们能够使用各自的使用场景. 虽然都试HTTP请求, 但是GET只进行一次HTTP请求, 而POST则是先发送请求头部, 再发送请求主体, 实际上是两次请求. 1. 功能 一般地, GET是用来从服务器上获取资源, POS
阅读全文
摘要:由来 HTTP是无状态协议, 不能用状态来区分、管理请求和响应, 所以服务器单单从网络连接上无法知道客户的身份. 为了解决这个问题, 服务器给客户端分发一个通行证, 从客户端携带的通行证上确认客户的身份, 这就是Cookie的工作原理. Cookie Cookie是客户端保存用户信息的一种机制, 用
阅读全文
摘要:TCP的特点 1. TCP是面向连接的. 2. 仅支持单播传输, 每一条TCP连接只能有两个端点, 点对点的数据传输, 不支持多播和广播传输方式. 3. TCP提供可靠交付的服务, 通过TCP连接传输的数据, 无差错, 不丢失, 不重复, 并且按序. 4. TCP提供拥塞控制, 当网络出现拥塞时,
阅读全文
摘要:TCP协议是如何保证可靠传输的 1. 校验和 发送的数据包的二进制相加再取反, 目的是检测数据在传输过程中的任何变化. 如果校验和有差错, TCP将丢弃这个报文段, 并不确认收到此报文段, 这时TCP发送数据端超时后会重发数据. 2. 合理分片和排序 TCP将数据报合理分片传输, 接收方会缓存未按序
阅读全文
摘要:HTTP状态码 HTTP状态码能够表示客户端HTTP请求的返回结果和服务器是否正常处理了请求. HTTP状态码由3位数字和原因短语组成, 如200 OK. 数字中的第一位表明了响应类别. | 状态码 | 类别 | 原因短语 | | | | | | 1XX | Informational 信息性 |
阅读全文
摘要:HTTP短连接 HTTP/1.0中默认使用短连接, 客户端和服务器进行一次HTTP操作, 就需要建立一次连接, 任务结束连接也关闭. 当客户端浏览器访问的web网页中包含其他的web资源时, 每遇到一个web资源都会再重新建立一次连接. 一般情况下, web网站的http服务都采用短连接, 因为长连
阅读全文
摘要:1. HTTP, 超文本传输协议, 是明文传输, 不安全, 且连接简单无状态; 而HTTPS是SSL+HTTP的加密传输协议, 具有安全性. 2. HTTP和HTTPS占用的端口不同, HTTP默认端口是80, HTTPS默认端口是443. 3. HTTP无需证书, 而HTTPS需要申请SSL证书,
阅读全文
摘要:```python"""输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。"""# 前序 {1,2,4,7,3,5,6,8}# 中序 {4,7,2,1,5,3,8,6}class TreeNode: de...
阅读全文
摘要:```python"""请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。"""class Solution: # s 源字符串 def replaceSpace(self, s): item_list = [] for c in s: ...
阅读全文
摘要:```python """ 在一个二维数组中(每个一维数组的长度相同), 每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 """ # array = [[1, 2, 3], [4, 5, 6]] class Solution: def Find(self, target, array): if not array: return False for row in arra
阅读全文
摘要:```python class ListNode: def __init__(self, x): self.val = x self.next = None class Solution: # 返回从尾部到头部的列表值序列,例如[1,2,3] def printListFromTailToHead(self, listNode): # 用栈来存放链表的结点 val_list = [] cur_no
阅读全文
摘要:```python class Node: def __init__(self, data): self.data = data self.next = None class Solution: """反转链表, 输出表头""" def ReverseList(self, pHead): # 空链表或链表只有一个结点 if pHead is None or pHead.next is None:
阅读全文
摘要:```pythonclass Solution: """两个栈实现一个队列""" def __init__(self): # 接收栈 self.accept_stack = [] # 输出栈 self.output_stack = [] def push(self, item): """进队列""" ...
阅读全文