前端学习之八股和算法

  • 301 Moved Permanently。永久性重定向。资源的URI已更新,,需要进行书签引用的变更

  • 302临时性重定向。Found

  • 303 See Other。明确表示客户端应当采用GET方法获取资源。

  • 304Not Modified。客户端发送附带条件的请求时,服务器端运行请求访问资源,但未满足条件的情况

4xx客户端错误
  • 400bad request。请求的报文中存在语法错误,

  • 401 unauthorized。需要有通过HTTP认证,如果之前已经有个一次请求,那说明用户认证失败

  • 403 Forbidden。对请求资源的访问被服务器拒绝。未获得文件系统访问授权,访问权限出现某些问题(从未授权确定发送源IP地址试图访问)

  • 404Not found。服务器没找到请求的资源

5xx服务器错误
  • 500 Internal Server Error。服务器端在执行请求时发生了错误

  • 503 .服务器暂时处于朝服在或正在停机维护中。

状态码和状况的不一致

五,与HTTP协作的Web服务器

用单台虚拟主机实现多个域名
通信数据转发程序:代理,网关,隧道
  • 代理:服务器和客户端中间人的角色

    使用代理服务器理由:利用缓存技术减少网络带宽的流量。

    • 代理分类:是否使用缓存,是否修改报文

    • 缓存代理。会预先将资源的副本(缓存)保存在代理服务器上

    • 透明代理。不对报文做任何加工的代理

  • 网关:转发其他服务器通信数据的服务器,接受从客户端发送来的请求时,就像自己拥有资源的源服务器一样对请求进行处理

    利用网关可以将HTTP请求转化为其他协议通信

  • 隧道:在相隔甚远的客户端和服务器两者间选择中转,保持双方通信连接的应用程序

保存资源的缓存

指代理服务器或客户端本地磁盘内保存的资源副本。能减少对源服务器访问,解释通信流量和通信时间。

  • 转发响应时,复制资源后保存在缓存服务器上。

    缓存的有效期限

    若缓存失效,缓存服务器将会再次从源服务器上获取"新"资源

    客户端的缓存

    缓存不仅可在缓存服务器内,也可以在客户端浏览器中。在客户端的缓存:临时网络文件

在HTTP出现之前的协议

FTP传输文件时使用的协议

六,HTTP首部

HTTP报文首部

HTTP请求报文:方法,URI,HTTP版本,HTTP首部字段

HTTP响应报文:HTTP版本,状态码(数字和原因短语),HTTP首部字段

HTTP首部字段
HTTP首部字段传递重要信息

HTTP首部字段结构

复制代码
首部字段名:字段值
Content-Type:text/html
4中HTTP首部字段类型
  • 通用首部字段

Cache-Control操作缓存的工作机制。

表示是否能缓存的指令:public,private,no-cache(不缓存过期的资源,防止从缓存中返回过期的资源)

控制可执行缓存的对象的指令:no-store(不进行缓存)

指定缓存期限和认证的指令:s-maxage指令,max-age指令,min-fresh指令,max-stale指令,only-if-cached指令,must-revalidate指令,proxy-revalidate指令,

connection
  1. 控制不再转发给代理的首部字段

  2. 管理持久连接。HTTP/1.1默认持久连接,断开连接需要Close

Date
  • 请求首部字段

  • 响应首部字段

  • 实体首部字段

算法:

48.旋转图像

1,转置,把矩阵沿主对角线(左下到右上)翻转

复制代码
matrix[i][j] <=>matrix[j][i]

转置矩阵,实现了行列互换

2,反转每一行(从左到右互换)即可实现顺时针旋转

238除自身以外的数组的乘积

前缀积*后缀积

初始化,找到这道题目的核心表述,返回结果

复制代码
//左边乘积
for(let i =1; i< nums.length; i++) {
    res[i] = res[i -1]* nums[i - 1];//每个位置的左边乘积 = 前一个位置的左边的乘积*前一个数字
}
时间复杂度看循环嵌套次数

判断时间复杂度时,看每个元素被访问几次

空间复杂度看新建了多少额外的存储结构。如果只用了固定数量的变量,O(1)

代码结构 时间复杂度 空间复杂度 说明
单层 for 循环 O(n) O(1) 线性遍历
双层嵌套循环 O(n²) O(1) 常见在矩阵题
递归(如二叉树) O(n) O(h) h = 栈深度
新建一个与输入等长的数组 O(n) O(n) 比如前缀和
哈希表存储元素 O(n) O(n) 常见在查重/频次统计
分治算法(快排、归并) O(n log n) O(log n) 栈深度 log n

转码好难啊,计算机的钱不好挣啊,明年春招真的可以找到工作吗

相关推荐
一川_3 小时前
ElementUI分页器page-size切换策略:从保持当前页到智能计算的优化实践
前端
敲敲了个代码3 小时前
[特殊字符] Web 字体裁剪优化实践:把 42MB 字体包瘦到 1.6MB
前端·javascript·学习·html·web
AC是你的谎言3 小时前
c++仿muduo库实现高并发服务器--connection类
linux·服务器·c++·学习
扎瓦斯柯瑞迫3 小时前
Cursor 提示"Too Many Accounts"?一行命令重置机器码
前端·javascript·后端
学工科的皮皮志^_^3 小时前
PCIE学习
经验分享·嵌入式硬件·学习·fpga开发·pcie
前端付豪4 小时前
Vue3 响应式来!
前端·javascript·vue.js
芝士麻雀4 小时前
Zustand 深度解析:原理、源码与最佳实践
前端·react.js·前端框架
uxiang_blog4 小时前
Linux学习之旅4
linux·运维·学习
fruge4 小时前
前端性能优化实战指南:从首屏加载到用户体验的全面提升
前端·性能优化·ux