23. TCP和UDP的应用场景
24. TCP对应的协议和UDP对应的协议
三、前端存储
25. 什么是cookie
26. 什么是session
27. cookie与session的区别
28. 什么是localStorage
29. 什么是sessionStorage
30. 描述cookie localStorage区别
31. localStorage和sessionStorage区别
32. 什么是Web SQL
33. 什么是indexedDB
四、计算机网络基础
34. OSI七层协议
35. TCP/IP协议
36. 网络各层常用的协议
37. IP地址和MAC地址
38. IP协议
39. ARP 协议
40. DNS解析过程
41. 差错检测
42. CDN
五、浏览器工作原理
43. 进程与线程
44. 浏览器的多进程
45. 多进程架构的好处
46. 从输入URL到页面加载完成的过程
47. 页面渲染过程
48. 缓存过程分析
49. 浏览器缓存放在哪里
50. 获取当前页面url参数
六、跨域
51. 什么是同源策略
52. 同源策略限制以下几种行为
53. 跨域的解决方案
54. 代理
55. CORS
56. JSONP
57. 常见的Web前端攻击方式有哪些
一、HTTP和HTTPS
================
1. 什么是HTTP
HTTP是超文本传输协议,它是一个应用层协议,由请求和响应构成,它是一个无状态的协议
(无状态协议对于事务处理没有记忆能力,缺少状态意味着如果后续需要处理,需要前面提供的信息
克服无状态协议缺陷的办法是通过cookie和会话保存信息)
2. HTTP协议的特点是什么?
-
无连接:限制每次连接只处理一个请求
-
无状态:协议对于事务处理没有记忆能力
-
简单快速:客户向服务器请求服务时,只需传送请求方法和路径
-
灵活:HTTP允许传输任意类型的数据对象
3. HTTP有哪些请求方式?
-
GET:请求访问已经被识别的资源,可以通过URL,给服务器传递参数信息
-
POST:传递数据给服务器,主要功能与GET方法类似,但传递的数据量通常不受限制
-
PUT:传输文件,报文主体中包含文件内容
-
HEAD:获得报文首部
-
DELETE:删除文件,删除对应URL位置的文件
-
OPTIONS:查询相应URL支持的HTTP方法
4. GET和POST请求数据区别
-
get传参方式是通过地址栏URL传递,是可以直接看到get传递的参数,post传参方式参数URL不可见,get把请求的数据在URL后通过?连接,通过&进行参数分割。psot将参数存放在HTTP的包体内;
-
get传递数据是通过URL进行传递,对传递的数据长度是受到URL大小的限制,URL最大长度是2048个字符。post没有长度限制;, 即使用Get请求发送数据量小,Post请求发送数据量大
-
get回退不会有影响,post回退会重新进行提交;
-
get请求可以被缓存,post不可以被缓存;
-
get请求只URL编码,post支持多种编码方式;
-
get只支持ASCII字符,post提交没有字符类型限制;
-
get请求的记录会留在历史记录中,post请求不会留在历史记录;
安全性:使用Get请求安全性低,会被缓存,而Post请求反之,post易于防止CSRF
使用场景:get一般用于查询操作,post一般用于用户提交操作
5. HTTP的请求报文和响应报文包含哪些部分?
- 请求报文
-
请求行,包含请求方法、URL、HTTP协议版本,它们之间用空格分隔(比如
GET /data/info.html HTTP/1.1
) -
请求首部字段
-
空行:告诉服务器请求头部到此为止
-
请求内容实体:若方法是GET,此项为空;若方法是POST,此项放置要提交的数据
- 响应报文
-
响应(状态)行,包含HTTP协议版本、状态码及其描述,它们之间用空格分隔
-
响应首部字段
-
响应内容实体:如果请求纯数据就返回纯数据,请求HTML页面就返回HTML代码,请求JS就返回JS代码
6. HTTP状态码
-
2xx - 表示成功处理请求,如200
-
3xx - 需要重定向,浏览器直接跳转,如301(永久重定向) 302(临时重定向) 304(资源未改变)
-
4xx - 客户端请求错误,如404(请求地址有误) 403(客户端没有权限)
-
5xx - 服务器端有误
7. 什么是HTTP持久连接?
-
在HTTP1.0中,当建立连接后,客户端发送一个请求,服务器端返回一个信息后就关闭连接,下次请求时又要建立连接
-
在HTTP1.1中,默认使用持久连接,只要客户端或服务端没有明确指出断开TCP连接,就一直保持连接,可以多次发送HTTP请求
8. 什么是HTTP管线化?
-
HTTP管线化是HTTP1.1协议支持的机制,管线化后,请求和响应不再是依次交替的,可以一次性发送多个请求,并一次性接收多个响应
-
只有GET与HEAD请求可以进行管线化,POST有限制
-
初次创建连接时不应该启动管线机制,因为服务器不一定支持该协议
9. HTTP和HTTPS区别是什么
-
HTTP的默认端口是80,HTTPS的默认端口是443
-
HTTP传输采用明文不加密的方式;HTTPS传输采用密钥加密的方式
-
HTTP不验证通信方身份,无法验证报文完整性
-
而HTTPS是HTTP + 加密处理 + 认证 + 完整性保护
10. 对称加密是什么?
-
对称加密指:信息的发送方和接收方使用同一个密钥去加密和解密数据
-
特点:算法公开、加密和解密速度快,适合于对大数据量进行加密
-
加密过程:明文 + 加密算法 + 密钥 = 密文
-
解密过程:密文 + 加密算法 + 密钥 = 明文
-
缺点:由于对称加密的算法是公开的,所以一旦密钥被泄露,那么密文就很容易被破解
11. 非对称加密是什么?
-
非对称加密指:使用一对密钥进行加密,即公钥和私钥,私钥自己保存,公钥公开
-
被公钥加密过的密文只能被私钥解密,被私钥加密过的密文只能被公钥解密
-
缺点:加密和解密花费时间长、速度慢,只适合对少量数据进行加密
12. HTTPS的通信过程
-
HTTPS协议 = HTTP协议 + SSL/TLS协议
-
在HTTPS数据传输的过程中,需要用SSL/TLS对数据进行加密和解密,需要用HTTP对加密后的数据进行传输
-
HTTPS为了兼顾安全与效率,同时使用了对称加密和非对称加密
-
对数据进行对称加密,而对称加密所要使用的密钥通过非对称加密传输到服务器端
(SSL安全套接字协议层,SSL是基于HTTP之下TCP之上的一个协议层,是基于HTTP标准并对TCP传输数据时进行加密,TLS(传输层安全)是更为安全的升级版 SSL。TLS/SSL是一种加密通道的规范,它利用对称加密、公私钥不对称加密及其密钥交换算法,CA系统进行加密且可信任的信息传输)
13. HTTP浏览器缓存
缓存机制无处不在,有客户端缓存,服务端缓存,代理服务器缓存等。在HTTP中具有缓存功能的是浏览器缓存。我们认为浏览器存在一个缓存数据库,用于储存一些不经常变化的静态文件(图片、css、js等)。我们将缓存分为强制缓存和协商缓存。
-
强制缓存 当缓存数据库中已有所请求的数据时。客户端直接从缓存数据库中获取数据。当缓存数据库中没有所请求的数据时,客户端的才会从服务端获取数据。
-
协商缓存 又称对比缓存,客户端会先从缓存数据库中获取到一个缓存数据的标识,得到标识后请求服务端验证是否失效(新鲜),如果没有失效服务端会返回304,此时客户端直接从缓存中获取所请求的数据,如果标识失效,服务端会返回更新后的数据。
缓存的方案:我们知道浏览器和服务器进行交互的时候会发送一些请求数据和响应数据,我们称之为HTTP报文。报文中包含首部header和主体部分body。与缓存相关的规则信息就包含在header中。boby中的内容是HTTP请求真正要传输的部分。
参考链接:https://juejin.im/post/5a1d4e546fb9a0450f21af23
二、TCP和UDP
=============
14. 什么是TCP?
-
TCP即传输控制协议
-
TCP协议是面向连接的,可靠的,基于字节流的传输协议
-
在基于 TCP 进行通信时,通信双方需要先建立一个 TCP 连接,建立连接需要经过三次握手,断开连接的时候需要经过四次挥手
15. 三次握手
(1)第一次握手:客户端发送一个SYN=1
的包表示请求连接,以及初始序号X,保存在包头的数据序号
字段里
- 客户端进入SYN-SENT状态
(2)第二次握手:服务端发回确认包应答。即SYN和ACK标志位均为1
,同时确认序号设置为X+1
,自身的数据序号设置为Y
- 服务端进入SYN-RECEIVED状态
(3)第三次握手:客户端再次发送确认包,ACK=1
,同时确认序号设置为Y+1
,数据序号设置为X+1
- 客户端发送后进入ESTABLISHED状态,服务端收到后也进入ESTABLISHED状态
16. 为什么不用两次握手?
-
为了防止已经失效的连接请求报文仍然使服务端建立起连接
-
假设客户端发送的第一个请求连接没有丢失,但被滞留的时间太长,由于客户端迟迟没有收到确认报文,以为服务器没收到,重新发送报文
-
而现在第一个请求到达服务端,虽然已经报废了,但仍然使服务端建立起连接
-
如果采用三次握手,就算那一次失效的报文传到了服务端,服务端收到并回复了确认报文,但客户端不会再发出确认,服务器收不到确认,就不会建立连接
17. 四次挥手(四次挥手都设置ACK=1)
(1)第一次挥手:客户端发送FIN=1
的包,请求释放连接,并设置数据序号为X,确认序号为Y
- 客户端进入FIN_WAIT状态
(2)第二次挥手:服务端发回确认包应答,同时设置确认序号为X+1,数据序号为Y
- 服务端进入CLOSE_WAIT状态
(3)第三次挥手:服务端发送FIN=1
的包,请求释放连接,并设置数据序号为Z,确认序号为X+1
- 服务端进入LAST-ACK状态
(4)第四次挥手:客户端发回确认包应答,同时设置数据序号为X+1,确认序号为Z+1
-
客户端发回后,进入TIME-WAIT状态,该状态持续2MSL后,如果没有收到服务端的重发请求,就进入CLOSED状态
-
当服务端收到确认包应答后,也进入CLOSED状态
18. 为什么三次握手四次挥手
-
建立连接的时候, 服务端在LISTEN状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一个报文里发送给客户端
-
而关闭连接时,服务器收到对方的FIN报文时,仅仅表示对方不再发送数据了但是还能接收数据,而自己也未必把全部数据都发送给对方了
19. TCP中的流量控制和拥塞控制
-
流量控制主要针对的是端到端传输中控制流量大小并保证传输可靠性(未收到ack就不滑动)。流量控制往往是指点对点通信量的控制,所要做的是抑制发送端发送数据的速率。
-
拥塞控制主要是一个全局性过程,涉及到所有主机,路由器,以及与降低网络传输性能有关的所有因素。防止过多的数据注入到网络中。如果有发生丢包则通过拥塞控制减小窗口,确定出合适(慢启动 拥塞避免 快重传 快恢复)的拥塞窗口(增性加乘性减)。
20. 什么是UDP?
-
UDP又叫用户数据包协议
-
UDP是一个无连接的、不可靠的、基于数据报的传输协议
-
UDP只是报文的搬运工,不会对报文进行任何拆分和拼装
21. TCP和UDP区别
-
传输控制协议 TCP(Transmisson Control Protocol)–提供面向连接的,可靠的数据传输服务。
-
用户数据协议 UDP(User Datagram Protocol)–提供无连接的,尽最大努力的数据传输服务(不保证数据传输的可靠性)
-
TCP是面向连接的,UDP是无连接的;
-
TCP是可靠的,UDP不可靠;
-
TCP只支持点对点通信,UDP支持一对一、一对多、多对一、多对多;
-
TCP是面向字节流的,UDP是面向报文的;
22. TCP相比UDP为什么是可靠的
(1)确认和重传机制 建立连接时三次握手同步双方的“序列号 + 确认号 + 窗口大小信息”,是确认重传、流控的基础;传输过程中,如果Checksum校验失败、丢包或延时,发送端重传
(2)数据排序 TCP有专门的序列号SN字段,可提供数据re-order
(3)流量控制 窗口和计时器的使用。TCP窗口中会指明双方能够发送接收的最大数据量
(4)拥塞控制 TCP的拥塞控制由4个核心算法组成。(“慢启动”(Slow Start)“拥塞避免”(Congestion avoidance)“快速重传 ”(Fast Retransmit)“快速恢复”(Fast Recovery))
23. TCP和UDP的应用场景
TCP:当对网络通讯质量有要求的时候,比如:整个数据要准确无误的传递给对方,这往往用于一些要求可靠的应用,比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议。
在日常生活中,常见使用TCP协议的应用如:浏览器,用的HTTP;``FlashFXP,用的FTP;``Outlook,用的POP、SMTP;``Putty,用的Telnet、SSH;``QQ文件传输
UDP:当强调传输性能而不是传输的完整性时, 要求网络通讯速度能尽量的快。如:QQ语音 QQ视频等。
24. TCP对应的协议和UDP对应的协议
-
**TCP对应的协议:**FTP文件传输协议、Telnet用于远程登陆的端口、SMTP邮件传送协议、HTTP从Web服务器传输超文本到本地浏览器的传送协议
-
**UDP对应的协议:**DNS域名解析服务、SNMP简单网络管理协议,、TFTP简单文件传输协议
三、前端存储
==============
25. 什么是cookie
HTTP Cookie(也叫 Web Cookie 或浏览器 Cookie)一个cookie就是存储在用户主机浏览器中的一小段文本文件。Cookie是一段加密的数据,存储在客户端,为了让网站或者服务器用来识别用户身份和读取用户相关信息,Cookie是由网站服务器生成后发送给客户端的。
-
当我们访问网站时,浏览器会发送一个HTTP请求到服务器
-
服务器会发送一个HTTP响应到浏览器,通过设置
set-cookie
这个响应头,将cookie信息返回给浏览器 -
浏览器将cookie信息保存在本地,下次访问网站时,发送HTTP请求会携带之前的cookie
-
服务器从收到的cookie中识别用户身份,从而保证返回的数据属于该用户
-
cookie是键值对,可以设置多个
Cookie 主要用于以下三个方面:
-
会话状态管理(如用户登录状态、购物车、游戏分数或其它需要记录的信息);
-
个性化设置(如用户自定义设置、主题等);
-
浏览器行为跟踪(如跟踪分析用户行为等)。
Cookie 的特点:
-
Cookie 的大小受限,一般为 4 KB;
-
同一个域名下存放 Cookie 的个数是有限制的,不同浏览器的个数不一样,一般为 20 个;
-
Cookie 支持设置过期时间,当过期时自动销毁;
-
每次发起同域下的 HTTP 请求时,都会携带当前域名下的 Cookie;
-
支持设置为
HttpOnly
,防止 Cookie 被客户端的 JavaScript 访问。
26. 什么是session
-
存放在服务器中,一种用来存放用户数据的类似Hash表的结构
-
浏览器第一次发送HTTP请求时,服务器自动生成Hash表和sessionID来唯一标识这个Hash表,并将sessionID放在响应的cookie中发送到浏览器
-
浏览器第二次发送请求时,会将前一次收到的sessionID随着cookie发送到服务器,服务器提取sessionID,找到这个用户的Hash表
-
当用户在应用程序的web页面间跳转时,存储在session对象中的变量不会丢失,而是在整个用户会话中一直存在下去
-
session依赖于cookie,因为sessionID是放在cookie中的
27. cookie与session的区别
-
cookie存在客户端中,session存在服务端中
-
cookie在客户端中存放,容易伪造,不如session安全
-
session会消耗大量服务器资源,cookie在每次HTTP请求中都会带上,影响网络性能
-
域的支持范围不一样,比方说a.com的Cookie在a.com下都能用,而www.a.com的session在api.a.com下都不能用
28. 什么是localStorage
一种持久化的存储方式,也就是说如果不手动清除,数据就永远不会过期。它是采用键值对的方式存储数据,按域名将数据分别保存到对应数据库文件里。相比 Cookie 来说,它能保存更大的数据。
localStorage 的特点:
-
大小限制为 5MB ~10MB;
-
在同源的所有标签页和窗口之间共享数据;
-
数据仅保存在客户端,不与服务器进行通信;
-
数据持久存在且不会过期,重启浏览器后仍然存在;
-
对数据的操作是同步的。
29. 什么是sessionStorage
与服务端的 session 类似,sessionStorage 是一种会话级别的缓存,关闭浏览器时数据会被清除。需要注意的是 sessionStorage 的作用域是窗口级别的,也就是说不同窗口之间保存的 sessionStorage 数据是不能共享的。
sessionStorage 的特点:
-
sessionStorage 的数据只存在于当前浏览器的标签页;
-
数据在页面刷新后依然存在,但在关闭浏览器标签页之后数据就会被清除;
-
与 localStorage 拥有统一的 API 接口;
-
对数据的操作是同步的。
30. 描述cookie localStorage区别
(1)容量 Cookie存储大小最大为4KB,而 localStorage sessionStorage 最大可存5M
(2)API易用性 Cookie只可用document.cookie=’…’来修改; localStorage sessionStorage有俩个setItem getItem简单易用API
(3)是否跟随http请求发送出去 Cookie当HTTP请求时需要发送到服务器端; localStorage sessionStorage不会随着http请求被发送出去
31. localStorage和sessionStorage区别
-
localStorage和sessionStorage都是window对象提供的全局属性,用途都是在浏览器中存储key/value对的数据。
-
从使用的角度来看,两者的唯一区别在于时效性。
-
sessionStorage在关闭窗口或标签页之后将会删除这些数据。
-
而localStorage则没有这样的特性,任何时候都可以使用,除非手动删除。
-
如果你想在浏览器窗口关闭后还保留数据,请使用localStorage。
-
如果你是想用于临时保存同一窗口(或标签页)的数据,请使用sessionStorage。
32. 什么是Web SQL
Web SQL 数据库 API 实际上不是 HTML5 规范的一部分,而是一个单独的规范,它引入了一组 API 来使用 SQL 来操作客户端数据库。需要注意的是,HTML5 已经放弃 Web SQL 数据库。
Web SQL Database 规范中定义的三个核心方法:
-
openDatabase:这个方法使用现有数据库或新建数据库来创建数据库对象;
-
transaction:这个方法允许我们根据情况控制事务的提交或回滚;
-
executeSql:这个方法用于执行真实的 SQL 语句。
Web SQL 的特点(相比 Cookie、localStorage 与 sessionStorage):
-
Web SQL 能方便进行对象存储;
-
Web SQL 支持事务,能方便地进行数据查询和数据处理操作。
33. 什么是indexedDB
IndexedDB 是一种底层 API,用于客户端存储大量结构化数据,包括文件、二进制大型对象。该 API 使用索引来实现对该数据的高性能搜索。虽然 Web Storage 对于存储较少量的数据很有用,但对于存储更大量的结构化数据来说,这种方法不太好用。IndexedDB 提供了一个解决方案。
IndexedDB 的特点:
-
存储空间大:存储空间可以达到几百兆甚至更多;
-
支持二进制存储:它不仅可以存储字符串,而且还可以存储二进制数据;
-
IndexedDB 有同源限制,每一个数据库只能在自身域名下能访问,不能跨域名访问;
-
支持事务型:IndexedDB 执行的操作会按照事务来分组的,在一个事务中,要么所有的操作都成功,要么所有的操作都失败;
-
键值对存储:IndexedDB 内部采用对象仓库(object store)存放数据。所有类型的数据都可以直接存入,包括 JavaScript 对象。对象仓库中,数据以 “键值对” 的形式保存,每一个数据记录都有对应的主键,主键是独一无二的,不能有重复,否则会抛出一个错误。
-
数据操作是异步的:使用 IndexedDB 执行的操作是异步执行的,以免阻塞应用程序。
参考链接:https://mp.weixin.qq.com/s/aSsHeIDHSgsI1L85Iok27g
四、计算机网络基础
=============
34. OSI七层协议
-
应用层:为应用提供通信服务
-
表示层:定义数据格式以及加密
-
会话层:定义了如何开始、控制、结束一个会话,包括对多个双向消息的控制和管理。
-
传输层:选择差错恢复协议还是无差错恢复协议 TCP、UDP
-
网络层:到端包传输。 路由选择、包分解成更小的包
-
数据链路层:定义单个链路上如何传输数据
-
物理层:传输介质相关
35. TCP/IP协议
-
1.链路层(数据链路层/网络接口层):包括操作系统中的设备驱动程序、计算机中对应的网络接口卡
-
2.网络层(互联网层):处理分组在网络中的活动,比如分组的选路。
-
3.运输层:主要为两台主机上的应用提供端到端的通信。
-
4.应用层:负责处理特定的应用程序细节。
36. 网络各层常用的协议
-
物理层:RJ45、CLOCK、IEEE802.3
-
数据链路:PPP、FR、HDLC、VLAN、MAC
-
网络层:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGMP
-
传输层:TCP、UDP、SPX
-
会话层:RPC 、SQL、NETBIOS、NFS
-
表示层:JPEG、MPEG、ASCII、MIDI
-
应用层:RIP、BGP、FTP、DNS、Telnet、SMTP、**HTTP、WWW、**NFS
-
常见协议的端口:http 80,ftp 20、21,telnet 23,SMTP 25。
37. IP地址和MAC地址
硬件地址MAC地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址。
发送数据时,数据从高层下到低层,然后才到通信链路上传输。使用IP地址的IP数据报一旦交给了数据链路层,就被封装成了MAC帧。MAC帧在传送时使用的源地址和目的地址都是硬件地址,这两个硬件地址都写在MAC帧的首部。
连接在通信链路上的设备在接受MAC帧时,其根据是MAC帧首部中的硬件地址。在数据链路层看不见隐藏在MAC帧的数据中的IP地址。只有在剥去了MAC帧的首部和尾部后把MAC层的数据上交给网络层后,网络层才能在IP数据报的首部中找到源IP地址和目的IP地址。
38. IP协议
IP 协议是网络层的协议,它是为了实现相互连接的计算机进行通信设计的协议,它实现了自动路由功能,即自动寻径功能。
39. ARP 协议
它解决的是同一局域网内部的主机或路由器的IP 地址和其对应的硬件地址的映射问题。 根据ARP 协议, 主机A 无法解析其他网络中的主机的硬件地址。
ARP 是地址解析协议,工作原理:
-
首先,每个主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址之间的对应关系。
-
当源主机要发送数据时,首先检查 ARP 列表中是否有对应 IP 地址的目的主机的 MAC 地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送 ARP 数据包,该数据包包括的内容有:源主机 IP 地址,源主机 MAC 地址,目的主机的 IP 地址。
-
当本网络的所有主机收到该 ARP 数据包时,首先检查数据包中的 IP 地址是否是自己的 IP 地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的 IP 和 MAC 地址写入到 ARP 列表中,如果已经存在,则覆盖,然后将自己的 MAC 地址写入 ARP 响应包中,告诉源主机自己是它想要找的 MAC 地址。
-
源主机收到 ARP 响应包后。将目的主机的 IP 和 MAC 地址写入 ARP 列表,并利用此信息发送数据。如果源主机一直没有收到 ARP 响应数据包,表示 ARP 查询失败。广播发送 ARP 请求,单播发送 ARP 响应。
40. DNS解析过程
域名系统(Domain Name System 缩写 DNS,Domain Name 被译为域名)是因特网的一项核心服务,它作为可以将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的 IP 数串。(百度百科)例如:一个公司的 Web 网站可看作是它在网上的门户,而域名就相当于其门牌地址,通常域名都使用该公司的名称或简称。
-
第一步:检查浏览器缓存中是否缓存过该域名对应的IP地址
-
第二步:如果在浏览器缓存中没有找到IP,那么将继续查找本机系统是否缓存过IP
-
第三步:向本地域名解析服务系统发起域名解析的请求
-
第四步:向根域名解析服务器发起域名解析请求
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
![](https://i-blog.csdnimg.cn/blog_migrate/a24dbdf78f66a687a31ba8f8814a3463.jpeg)
最后
今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。不过光是看完而不去付出行动,或者直接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多行动起来吧!
可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。
通常域名都使用该公司的名称或简称。
-
第一步:检查浏览器缓存中是否缓存过该域名对应的IP地址
-
第二步:如果在浏览器缓存中没有找到IP,那么将继续查找本机系统是否缓存过IP
-
第三步:向本地域名解析服务系统发起域名解析的请求
-
第四步:向根域名解析服务器发起域名解析请求
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-kYwwH7mL-1713184367993)]
[外链图片转存中…(img-1uU9F1IV-1713184367994)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
[外链图片转存中…(img-7cjnju43-1713184367994)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
![](https://i-blog.csdnimg.cn/blog_migrate/a24dbdf78f66a687a31ba8f8814a3463.jpeg)
最后
今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。不过光是看完而不去付出行动,或者直接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多行动起来吧!
可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。