前端大厂面试题探索编辑部——第二期

2024-01-28 09:04

本文主要是介绍前端大厂面试题探索编辑部——第二期,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

题目

单选题1

题解

关于TCP

关于UDP

单选题2

题解

A选项的HTTP是否是无状态协议

B选项的HTTP支持的方法

C选项的关于HTTP的状态码

D选项HTTP协议的传输格式


题目

单选题1

1.以下哪个描述是关于 TCP 和 UDP 的区别()

A. TCP 是无连接的,而 UDP 是面向连接的

B. TCP 和 UDP 都不提供数据包排序功能

C. TCP 提供数据包排序功能,而 UDP 不提供

D. TCP 和 UDP 都是无连接的

题解

       正确答案选择C,下面我会细致讲解,拆解这里提到的TCP,UDP,等各种概念,有细节也有适用于面试的记忆点。读者在仔细阅读我下面的讲解后,并关注好加粗部分,自然回来再看题,就能知道每个选项是为什么了。

关于TCP

       TCP,全称为Transmission Control Protocol,是一种面向连接的,可靠的,基于字节流的传输层通信协议,这意味着在数据包开始传输之前,它需要在发送方和接收方之间建立连接,所以显然TCP是有连接的。一旦连接建立,数据就可以在两个点之间双向传输。这里提到了一个概念,数据包,指的是封装在固定结构,比如帧的一系列字节或者负载。数据包的概念需要不断有应用场景去理解,这对我们未来更深入理解网络性能有帮助。

       TCP提供了数据包排序功能,这能保证数据包按照发送的顺序到达接收端,这是TCP的一个关键特性。

关于UDP

       UDP,全称为User Datagram Protocol,即用户数据包协议,是一种简单的面向数据包的通信协议UDP是无连接的协议,它不在通信双方之间建立固定的连接,而是直接发送数据包。UDP不提供错误检查和修正功能,因此他的传输速度通常比TCP快。

TCPDCP
是否面向连接×
传输速度较慢较快
是否提供数据包排序×
错误检查和修正功能×

单选题2

2.关于HTTP协议,以下哪个选项是不正确的()

A. HTTP是无状态的协议,即服务器不会保存用户的任何数据。

B. HTTP协议支持GET、POST、PUT、DELETE等多种请求方法。

C. HTTP响应状态码200表示请求成功,404表示请求的资源未找到。

D. HTTP协议中,客户端发送的请求消息和服务器返回的响应消息都是以二进制格式传输的。

题解

       正确答案选择D

A选项的HTTP是否是无状态协议

       HTTP是无状态的协议,意思就是服务器默认不会保存用户的任何数据,这么做是为了简化服务器的设计,使其更容易支持大量并发连接。每个请求都是独立的,服务器不会从一个请求中保留信息到下一个请求。

       不过同时呢,我们未来实现会话管理、个性化设置、购物车等功能,通常会在比如服务器端的数据库或者客户端的cookie这些地方,保存一下状态信息。

B选项的HTTP支持的方法

       HTTP协议中,是支持比如GET、POST、PUT和DELETE等方法的,相对应的,我们用来完成获取资源、提交数据、更新资源和删除资源的功能。

C选项的关于HTTP的状态码

       状态码有固定的格式,所有HTTP响应的第一行都是状态行,依次是当前HTTP版本号,3位数字组成的状态代码,以及描述状态的短语,彼此由空格分隔。状态代码的第一个数字代表当前响应的类型:

  • 1xx消息——请求已被服务器接收,继续处理

  • 2xx成功——请求已成功被服务器接收、理解、并接受

  • 3xx重定向——需要后续操作才能完成这一请求

  • 4xx请求错误——请求含有词法错误或者无法被执行

  • 5xx服务器错误——服务器在处理某个正确请求时发生错误

       虽然RFC2616中,已经推荐了描述状态的短语,例如"200 OK","404 Not Found",但是WEB开发者仍然能够自行决定采用何种短语,用以显示本地化的状态描述或者自定义信息。

D选项HTTP协议的传输格式

       客户端发送的请求消息和服务器返回的响应消息都是以文本格式传输的,而不是二进制格式。虽然HTTP消息的主体可以包含非文本数据,但消息的起始行、头部等都是文本。常见的文本格式,比如TXT、HTML,而二进制格式,比如图像文件的JPG和PNG,音频文件的MP3和WAV。

这篇关于前端大厂面试题探索编辑部——第二期的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/653148

相关文章

HTML5中的Microdata与历史记录管理详解

《HTML5中的Microdata与历史记录管理详解》Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探... 目录html5中的Mijscrodata与历史记录管理背景简介html5中的Microdata使用M

html5的响应式布局的方法示例详解

《html5的响应式布局的方法示例详解》:本文主要介绍了HTML5中使用媒体查询和Flexbox进行响应式布局的方法,简要介绍了CSSGrid布局的基础知识和如何实现自动换行的网格布局,详细内容请阅读本文,希望能对你有所帮助... 一 使用媒体查询响应式布局        使用的参数@media这是常用的

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

前端CSS Grid 布局示例详解

《前端CSSGrid布局示例详解》CSSGrid是一种二维布局系统,可以同时控制行和列,相比Flex(一维布局),更适合用在整体页面布局或复杂模块结构中,:本文主要介绍前端CSSGri... 目录css Grid 布局详解(通俗易懂版)一、概述二、基础概念三、创建 Grid 容器四、定义网格行和列五、设置行

前端下载文件时如何后端返回的文件流一些常见方法

《前端下载文件时如何后端返回的文件流一些常见方法》:本文主要介绍前端下载文件时如何后端返回的文件流一些常见方法,包括使用Blob和URL.createObjectURL创建下载链接,以及处理带有C... 目录1. 使用 Blob 和 URL.createObjectURL 创建下载链接例子:使用 Blob

Vuex Actions多参数传递的解决方案

《VuexActions多参数传递的解决方案》在Vuex中,actions的设计默认只支持单个参数传递,这有时会限制我们的使用场景,下面我将详细介绍几种处理多参数传递的解决方案,从基础到高级,... 目录一、对象封装法(推荐)二、参数解构法三、柯里化函数法四、Payload 工厂函数五、TypeScript

Vue3使用router,params传参为空问题

《Vue3使用router,params传参为空问题》:本文主要介绍Vue3使用router,params传参为空问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录vue3使用China编程router,params传参为空1.使用query方式传参2.使用 Histo

CSS Padding 和 Margin 区别全解析

《CSSPadding和Margin区别全解析》CSS中的padding和margin是两个非常基础且重要的属性,它们用于控制元素周围的空白区域,本文将详细介绍padding和... 目录css Padding 和 Margin 全解析1. Padding: 内边距2. Margin: 外边距3. Padd