TCP协议
- TCP 和 UDP 的区别?
- TCP 三次握手的过程?
- 为什么是三次而不是两次、四次?
- 三次握手过程中可以携带数据么?
- 说说 TCP 四次挥手的过程
- 为什么是四次挥手而不是三次?
- 半连接队列和 SYN Flood 攻击的关系
- 如何应对 SYN Flood 攻击?
- 介绍一下 TCP 报文头部的字段
- TCP 快速打开的原理(TFO)
- 说说TCP报文中时间戳的作用?
- TCP 的超时重传时间是如何计算的?
- TCP 的流量控制
- TCP 的拥塞控制
- 说说 Nagle 算法和延迟确认?
- 如何理解 TCP 的 keep-alive?
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
浏览器篇
- 浏览器缓存?
- 说一说浏览器的本地存储?各自优劣如何?
- 说一说从输入URL到页面呈现发生了什么?
- 谈谈你对重绘和回流的理解
- XSS攻击
- CSRF攻击
- HTTPS为什么让数据传输更安全?
- 实现事件的防抖和节流?
- 实现图片懒加载?
-
写完文章之后生成静态文件,这里一般使用的是
npm run build
命令,但也有使用yarn build
的; -
将我们生成的静态文件推送到 Github Pages;
-
访问我们对应的网址,查看我们的推送是否成功。
上述步骤看似简单,但一旦文档过多时,生成静态文件就十分耗费时间。这时候我们就想了,有不有一种方法,能够帮我们自动构建静态文件然后部署到 Github Pages 上呢。刚好,Github 官方提供了这个一个工具:Github Actions。利用它,我们就能够将重心转移到创作之后,每次创作之后推送到远程之后它就会自动后续工作,接下来我们就来看看如何利用 Github Action 实现自动部署我们的博客。
要部署 Actions,那么它就需要有能够操作我们仓库的权限,因此需要提前设置个人访问令牌(Github personal access)。设置方法如下:进入 Github 后,点击我们的头像,然后依次进入 Settings -> Developer settings -> Personal access tokens
,对应地址就是 Token 生成。然后点击右上方的 Generate new token
,接着输入 token 的名字,这个名字可以随意,不过还是推荐根据它的用途来命名。然后选 Expiration
,也就是这个 Token 的有效期,如果我们要长期用,建议选为 No expiration
,意思就是无期限。最后就是选权限,一般来讲这里选 repo
就够了,但是如果你不确定,那就全都选上也行。然后点击 Generate Token
,会生成一个令牌,注意这里它只会出现一次,一旦刷新该网页就不见了,所以最好把它复制到你的备忘录备份一下,而且我们待会也是需要用到这个 Token 的。
进入你存放你博客源码的项目,然后以此点击 Settings -> Secrets
,接着点击右上角的 New repository secret
,新建一个 Secret
。这里的名字要命名为 ACCESS_TOKEN
,然后 Value
就是我们上一步中所生成的 Token。
进入项目的的 Actions
选项,然后新建一个 workflow
(我是因为已经建立过了,所以才是下面的界面),默认新建的 workflow
名字是 main.yml
这个可以自己自定义,根据你自己喜好来就行了。
生成后的 main.yml
位于项目的 .github/workflows
目录下。
接下来是在 main.yml
中填入如下信息即可,具体实例的可以参考我的博客实例:
https://github.com/cunyu1943/cunyu1943.github.io/
name 可以自定义
name: Deploy GitHub Pages
触发条件:在 push 到 main/master 分支后,新的 Github 项目 应该都是 main,而之前的项目一般都是 master
on:
push:
branches:
- main
任务
jobs:
build-and-deploy:
服务器环境:最新版 Ubuntu
runs-on: ubuntu-latest
steps:
拉取代码
- name: Checkout
uses: actions/checkout@v2
with:
persist-credentials: false
文末
从转行到现在,差不多两年的时间,虽不能和大佬相比,但也是学了很多东西。我个人在学习的过程中,习惯简单做做笔记,方便自己复习的时候能够快速理解,现在将自己的笔记分享出来,和大家共同学习。
个人将这段时间所学的知识,分为三个阶段:
第一阶段:HTML&CSS&JavaScript基础
第二阶段:移动端开发技术
第三阶段:前端常用框架
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
-
推荐学习方式:针对某个知识点,可以先简单过一下我的笔记,如果理解,那是最好,可以帮助快速解决问题;
-
大厂的面试难在,针对一个基础知识点,比如JS的事件循环机制,不会上来就问概念,而是换个角度,从题目入手,看你是否真正掌握。所以对于概念的理解真的很重要。
bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)**
-
推荐学习方式:针对某个知识点,可以先简单过一下我的笔记,如果理解,那是最好,可以帮助快速解决问题;
-
大厂的面试难在,针对一个基础知识点,比如JS的事件循环机制,不会上来就问概念,而是换个角度,从题目入手,看你是否真正掌握。所以对于概念的理解真的很重要。