大厂前端面试题目|# 前端基础知识
HTML CSS JS HTTP 等基础知识是前端面试的第一步,基础知识不过关将直接被拒。本章将通过多个面试题,讲解前端常考的基础知识面试题,同时复习一些重要的知识点。
## 为何要考察
扎实的前端基础知识,是作为前端工程师的根本。基础知识能保证最基本的使用,即招聘进来能干活,能产出。
## 考察的重点
- HTML CSS JS 基础知识
- HTTP Ajax 基础知识
- Vue 等框架的基本应用
## 注意事项
不会从 0 基础讲起,基础不熟悉可以向讲师提问
## 看几个面试题
列几个代表性的面试题,参考视频。
在当前的计算机网络体系中,TCP(传输控制协议)是最为关键的通信协议之一,它负责在两个网络实体间建立、维护和结束可靠的连接。对于前端工程师而言,理解TCP的工作原理是相当重要的,尤其是在面试中,面试官可能会询问与TCP连接的三次握手和四次挥手相关的问题来考察应聘者的基础知识。
TCP是面向连接的、可靠的、基于字节流的传输层通信协议。要使两个主机上的应用程序进行通信,就需要在它们之间建立一条连接,这就是所谓的“连接”。连接的建立和终止都需要通信双方的参与,这一过程涉及到了TCP的三次握手和四次挥手。
三次握手是建立TCP连接的过程。当一个TCP客户端想要与服务器建立连接时,它会发送一个SYN(同步序列编号)报文段。这个SYN报文段包含客户端的初始序列号,这个序列号是为了以后的数据传输中确认数据包的顺序。服务器收到客户端的SYN报文段后,会回复一个SYN-ACK(同步和确认)报文段,其中包含服务器的初始序列号和对客户端序列号的确认。客户端会发送一个ACK(确认)报文段,对服务器的初始序列号进行确认。这三个步骤完成后,连接就建立成功了。
四次挥手是TCP连接终止的过程。当数据传输完成,客户端或服务器都可以发起关闭连接的请求。通常情况下,客户端发起关闭请求,它发送一个FIN(结束)报文段。服务器收到这个报文段后,会回复一个ACK报文段。然而,服务器可能还有未发送完毕的数据,所以当数据发送完成后,服务器会发送一个FIN报文段给客户端。客户端收到服务器的FIN报文段后,也会发送一个ACK报文段进行确认。在这个确认报文段到达服务器后,连接就彻底关闭了。
在面试中,面试官可能会让面试者描述这一过程。这时候,面试者需要详细说明每个步骤的含义以及客户端和服务端在每个步骤中所扮演的角色。同时,面试者还需要能够阐述为什么需要三次握手和四次挥手,这可以帮助面试官判断面试者是否真正理解了TCP的工作原理。
另外,了解三次握手和四次挥手对于前端工程师在进行网络请求时也会有所帮助。当进行HTTP请求时,虽然我们经常直接使用高级库(如axios、fetch等)或框架(如Vue的Axios),而不直接与TCP交互,但是了解底层通信机制对于排查问题、优化性能等方面都是有益的。例如,通过理解TCP的连接管理,前端工程师可以更好地处理网络中断和重连的情况,或者在调试时考虑到网络延迟和数据包丢失的可能性。
此外,TCP协议的知识点也是前端基础知识面试中的高频考点。面试官会考察应聘者对于HTTP和TCP的区别与联系的理解,以及在网络层面上数据是如何安全、可靠地进行传输的。掌握这些知识,可以提升面试者在前端领域的竞争力,帮助面试者在面试过程中脱颖而出。