后端面试题分享第一弹(状态码、进程线程、TCPUDP)

后端面试题分享第一弹

1. 如何查看状态码,状态码含义

在Web开发和调试过程中,HTTP状态码是了解请求处理情况的重要工具。

查看状态码的步骤

  1. 打开开发者工具

    • 在大多数浏览器中,您可以通过按下 F12 键或右键单击页面并选择“检查”来打开开发者工具。
  2. 切换到“网络”选项卡

    • 在开发者工具中,切换到“网络”(Network)选项卡,这里会显示所有网络请求的详细信息。
  3. 查找感兴趣的请求

    • 在“网络”选项卡中,找到您感兴趣的请求,点击该请求以查看详细信息。
  4. 查看状态码

    • 在请求的Header详细信息中,您可以看到“状态码”(Status Code),它表示服务器对该请求的响应状态。
      在这里插入图片描述
打开浏览器
按下F12或右键点击页面选择检查
打开开发者工具
切换到网络选项卡
查找感兴趣的请求
点击请求查看详细信息
查看状态码

常见状态码及其含义

以下是常见的HTTP状态码及其含义:

  • 200 OK: 请求成功,服务器成功处理了请求。
  • 301 Moved Permanently: 请求的资源已永久移动到新位置。客户端应使用新的URI重新发起请求。
  • 400 Bad Request: 服务器无法理解请求的语法,通常是由于客户端发送的请求有误。
  • 403 Forbidden: 服务器拒绝了对请求的访问,可能是由于权限不足或资源被禁止访问等原因。
  • 404 Not Found: 请求的资源不存在,服务器无法找到请求的资源。
  • 500 Internal Server Error: 服务器遇到了意外错误,无法完成请求。
  • 502 Bad Gateway: 作为网关或代理服务器的服务器从上游服务器接收到无效的响应。

状态码分类

HTTP状态码分为五类,每类状态码的第一个数字表示其类别:

  1. 1xx(信息性状态码): 表示请求已被接收,继续处理。
  2. 2xx(成功状态码): 表示请求已成功被服务器接收、理解并接受。
  3. 3xx(重定向状态码): 表示需要客户端采取进一步的操作才能完成请求。
  4. 4xx(客户端错误状态码): 表示客户端可能出错了,妨碍了服务器的处理。
  5. 5xx(服务器错误状态码): 表示服务器在处理请求的过程中发生了错误。

2. 进程和线程的比较

在这里插入图片描述

进程和线程的定义

  • 进程(Process): 进程是操作系统分配资源的基本单位。每个进程都有独立的内存空间、文件描述符和系统资源。一个进程可以包含多个线程。
  • 线程(Thread): 线程是进程中的一个执行单元,是CPU调度的基本单位。线程共享进程的内存空间和资源,但拥有独立的执行栈和程序计数器。

进程和线程的比较

以下是进程和线程的主要区别:

特性进程线程
定义操作系统分配资源的基本单位进程中的一个执行单元
资源占用独立的内存空间和系统资源共享进程的内存空间和资源
创建和销毁开销较大,涉及内存分配和资源管理较小,仅需分配栈和程序计数器
通信方式进程间通信(IPC)机制,如管道、消息队列等直接共享内存,通信更高效
并发性进程间切换开销大,并发性较低线程间切换开销小,并发性较高
独立性进程间相互独立,一个进程崩溃不影响其他进程线程共享资源,一个线程崩溃可能导致整个进程崩溃
应用场景适合需要高隔离性和安全性的任务适合需要高并发和资源共享的任务

进程和线程的优缺点

进程的优点
  • 独立性: 进程间相互独立,一个进程崩溃不会影响其他进程。
  • 安全性: 进程间资源隔离,安全性较高。
进程的缺点
  • 资源开销大: 创建和销毁进程的开销较大,占用更多的系统资源。
  • 通信复杂: 进程间通信需要使用复杂的IPC机制。
线程的优点
  • 资源开销小: 创建和销毁线程的开销较小,占用较少的系统资源。
  • 通信高效: 线程间可以直接共享内存,通信更高效。
  • 并发性高: 线程间切换开销小,适合高并发场景。
线程的缺点
  • 安全性低: 线程共享资源,一个线程崩溃可能导致整个进程崩溃。
  • 调试复杂: 多线程程序的调试和同步较为复杂。
进程和线程的比较
定义
资源占用
创建和销毁开销
通信方式
并发性
独立性
应用场景
进程: 操作系统分配资源的基本单位
线程: 进程中的一个执行单元
进程: 独立的内存空间和系统资源
线程: 共享进程的内存空间和资源
进程: 开销大
线程: 开销小
进程: IPC机制
线程: 共享内存
进程: 并发性低
线程: 并发性高
进程: 独立性高
线程: 独立性低
进程: 高隔离性和安全性任务
线程: 高并发和资源共享任务

3. TCP和UDP的区别

TCP和UDP的主要区别

在这里插入图片描述

以下是TCP和UDP的主要区别:

特性TCPUDP
连接方式面向连接,通信前需建立可靠连接无连接,直接发送数据报
可靠性提供可靠的数据传输,支持确认、重传机制不提供可靠性保证,可能存在丢包或乱序
有序性保证数据的有序性,按发送顺序接收不保证数据的有序性,接收顺序可能不一致
控制机制支持拥塞控制和流量控制无拥塞控制和流量控制
传输效率传输效率较低,因需维护连接和确认机制传输效率较高,因无连接和确认开销
适用场景适合对可靠性要求高的应用,如网页、邮件适合对实时性要求高的应用,如视频、语音

TCP和UDP的详细比较

1. 面向连接 vs 无连接
  • TCP: 是一种面向连接的协议。在通信之前,TCP需要在发送方和接收方之间建立一个可靠的连接。连接建立后,双方才能进行数据传输。
  • UDP: 是一种无连接的协议。发送方直接将数据报发送给接收方,无需建立连接。这种方式减少了通信的开销,但缺乏可靠性保障。
2. 可靠性
  • TCP: 提供可靠的数据传输。它使用确认机制、序列号和重传来确保数据的可靠性。如果数据丢失或损坏,TCP会重新发送丢失的数据。
  • UDP: 不提供可靠性保证。它不进行重传或确认,因此在传输过程中可能会有丢包或乱序的情况发生。
3. 有序性
  • TCP: 保持数据的有序性,确保接收方按照发送顺序接收数据。
  • UDP: 不保证数据的有序性,接收方可能会按照不同的顺序接收到数据。
4. 控制机制
  • TCP: 具有拥塞控制和流量控制机制。拥塞控制用于避免网络拥塞,流量控制用于协调发送方和接收方的数据传输速率。
  • UDP: 无拥塞控制和流量控制机制,数据传输完全由应用层控制。
5. 传输效率
  • TCP: 由于需要维护连接和确认机制,传输效率较低,适合对可靠性要求高的场景。
  • UDP: 由于无连接和确认开销,传输效率较高,适合对实时性要求高的场景。
6. 适用场景
  • TCP: 适合对可靠性要求高的应用,如网页浏览、电子邮件、文件传输等。
  • UDP: 适合对实时性要求高的应用,如视频流、语音通话、在线游戏等。
TCP和UDP的比较
连接方式
可靠性
有序性
控制机制
传输效率
适用场景
TCP: 面向连接
UDP: 无连接
TCP: 可靠传输
UDP: 不可靠传输
TCP: 保证有序性
UDP: 不保证有序性
TCP: 拥塞控制和流量控制
UDP: 无控制机制
TCP: 传输效率低
UDP: 传输效率高
TCP: 网页邮件文件传输
UDP: 视频语音在线游戏

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/68904.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apache Hive3定位表并更改其位置

Apache Hive3表 1、Apache Hive3表概述2、Hive3表存储格式3、Hive3事务表4、Hive3外部表5、定位Hive3表并更改位置6、使用点表示法引用表7、理解CREATE TABLE行为 1、Apache Hive3表概述 Apache Hive3表类型的定义和表类型与ACID属性的关系图使得Hive表变得清晰。表的位置取决于…

OpenEuler学习笔记(九):安装 OpenEuler后配置和优化

安装OpenEuler后,可以从系统基础设置、网络配置、性能优化等方面进行配置和优化,以下是具体内容: 系统基础设置 更新系统:以root用户登录系统后,在终端中执行sudo yum update命令,对系统进行更新&#x…

Vue | 搭建第一个Vue项目(安装node,vue-cli)

一.环境搭建: 1.安装node: 进入网站,下载对应版本的node.js Index of /dist/ (nodejs.org) 我这里下载的是: 解压到对应的目录下: 并新建两个文件夹node_cache和node_global: 2.配置环境: …

日历热力图,月度数据可视化图表(日活跃图、格子图)vue组件

日历热力图,月度数据可视化图表,vue组件 先看效果👇 在线体验https://www.guetzjb.cn/calanderViewGraph/ 日历图简单划分为近一年时间,开始时间是 上一年的今天,例如2024/01/01 —— 2025/01/01,跨度刚…

2024年第十五届蓝桥杯青少组国赛(c++)真题—快速分解质因数

快速分解质因数 完整题目和在线测评可点击下方链接前往: 快速分解质因数_C_少儿编程题库学习中心-嗨信奥https://www.hixinao.com/tiku/cpp/show-3781.htmlhttps://www.hixinao.com/tiku/cpp/show-3781.html 若如其他赛事真题可自行前往题库中心查找,题…

[Computer Vision]实验三:图像拼接

目录 一、实验内容 二、实验过程及结果 2.1 单应性变换 2.2 RANSAC算法 三、实验小结 一、实验内容 理解单应性变换中各种变换的原理(自由度),并实现图像平移、旋转、仿射变换等操作,输出对应的单应性矩阵。利用RANSAC算法优…

FPGA自分频产生的时钟如何使用?

对于频率比较小的时钟,使用clocking wizard IP往往不能产生,此时就需要我们使用代码进行自分频,自分频产生的时钟首先应该经过BUFG处理,然后还需要进行时钟约束,处理之后才能使用。

【喜讯】海云安荣获“数字安全产业贡献奖”

近日,国内领先的数字化领域独立第三方调研咨询机构数世咨询主办的“2025数字安全市场年度大会”在北京成功举办。在此次大会上,海云安的高敏捷信创白盒产品凭借其在AI大模型技术方面的卓越贡献和突出的技术创新能力,荣获了“数字安全产业贡献…

ceph基本概念,架构,部署(一)

一、分布式存储概述 1.存储分类 存储分为封闭系统的存储和开放系统的存储,而对于开放系统的存储又被分为内置存储和外挂存储。 外挂存储又被细分为直连式存储(DAS)和网络存储(FAS),而网络存储又被细分网络接入存储(NAS)和存储区域网络(SAN)等。 DAS(D…

Markdown Viewer 浏览器, vscode

使用VS Code插件打造完美的MarkDown编辑器(插件安装、插件配置、markdown语法)_vscode markdown-CSDN博客 右键 .md 文件,选择打开 方式 (安装一些markdown的插件) vscode如何预览markdown文件 | Fromidea GitCode - 全球开发者…

wx036基于springboot+vue+uniapp的校园快递平台小程序

开发语言:Java框架:springbootuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包&#…

AIGC的企业级解决方案架构及成本效益分析

AIGC的企业级解决方案架构及成本效益分析 一,企业级解决方案架构 AIGC(人工智能生成内容)的企业级解决方案架构是一个多层次、多维度的复杂系统,旨在帮助企业实现智能化转型和业务创新。以下是总结的企业级AIGC解决方案架构的主要组成部分: 1. 技术架构 企业级AIGC解决方…

LeetCode 热题 100_全排列(55_46_中等_C++)(递归(回溯))

LeetCode 热题 100_两数之和(55_46) 题目描述:输入输出样例:题解:解题思路:思路一(递归(回溯)): 代码实现代码实现(思路一&#xff08…

2025发文新方向:AI+量化 人工智能与金融完美融合!

2025深度学习发论文&模型涨点之——AI量化 人工智能的融入,使量化交易实现了质的突破。借助机器学习、深度学习等先进技术,人工智能可高效处理并剖析海量市场数据,挖掘出数据背后错综复杂的模式与趋势,从而不仅提升了数据分析…

3.CSS的背景

通过CSS背景属性,可以给页面元素添加背景样式。 背景属性可以设置背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定等。 3.1 背景颜色 background-color属性定义了元素的背景颜色 background-color:颜色值; 一般情况下元素背景颜色默认值…

AIGC视频生成模型:Stability AI的SVD(Stable Video Diffusion)模型

大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细介绍Stability AI的视频生成模型SVD(Stable Video Diffusion)模型,这家公司在图像生成领域富有盛名,开发并维护了知名开源项目SD系列…

【若依】添加数据字典

接下来,在生成代码的页面将“学科”字段改为下拉框,然后选择数据字典 然后,将生成的代码中的index文件复制到vue3的index中,替换掉之前的index文件 修改数据库中的subject的值,这样就可以通过数据字典来查询 以上操作成…

基于quartz,刷新定时器的cron表达式

文章目录 前言基于quartz,刷新定时器的cron表达式1. 先看一下测试效果2. 实现代码 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差&…

MySQL中的关联查询:方式、区别及示例

MySQL中的关联查询:方式、区别及示例 在数据库操作中,我们常常需要从多个相关的表中获取数据,这就用到了关联查询。MySQL提供了多种关联查询方式,每种方式都有其特点和适用场景。下面我们就来详细探讨这些关联查询的使用方式、它…

软件卸载不干净?用“它”一键卸载!

前言: 今天我要向大家推荐一款适用于Windows系统的卸载工具,它是一款完全免费且开源的软件,使用体验极佳,绝对值得大家一试。 Bulk Crap Uninstalle 这款名为Bulk Crap Uninstaller的软件,相较于系统自带的卸载工具…