模拟面试

1.TCP通信中的三次握手和四次挥手过程

三次握手

1.客户端像向服务器端发送连接请求

2.服务器应答连接请求

3.客户端与服务器简历连接

四次挥手:

客户端或服务器端发起断开请求,这里假设客户端发送断开请求

1.客户端向服务器发送断开请求

2.服务器应答断开请求

3.服务器请求关闭连接

4.客户端发送确认应答

2.并发和并行的区别

并发:一个处理器同时处理多个任务。

并行:多个处理器同时处理多个不同的任务。

3.阻塞IO和非阻塞IO的区别

阻塞IO:若等待的事件没有发生,会一直阻塞等待,不会执行后序的任务

非阻塞IO:如果等待的事件没有发生,会立即返回,继续后序的任务

4.同步和异步的区别

同步是阻塞模式,异步是非阻塞模式

同步:进程必须按顺序执行。例:如果该请求需要一段时间才能返回信息,那么该进程将会一直等待,直到收到返回信息才会继续执行

异步:多个任务执行没有先后顺序,可以并发执行。例:进程不需要一直等下去,而继续执行下面的操作,不管其他进程的状态。节约了时间,提高了效率。

但有些时候必要要用同步解决,就比如必须拿到返回的数据才能对后面进行操作。

5.详细描述IO多路复用的原理

引入目的:

        在有操作系统时,想多任务并发执行,可以使用多进程或多线程完成多任务并发执行。但在没有操作系统的情况下,就不能使用多进程和多线程,转而使用IO多路复用技术

原理:

        将多个阻塞任务的文件描述符,统一放入到一个检测容器中,然后用一个阻塞函数进行管理,如果检测容器中有一个或多个文件描述符对应的事件产生,就会解除阻塞,进而去执行相应的函数。

6.广播的相关内容

1.主机之间是一对多的通信模式,网络对其中的每一台主机都会进行消息转发

2.在当前网络下的所有主机都会收到广播消息(无论对方是否愿意接受)

3.广播的实现方式是基于UDP通信模型

4.广播地址:当前网络号+全1的主机号

5.广播消息不允许穿过路由器

7.组播的相关内容

1.广播是给同一网络下的所有主机发送消息,会占用大量的网络带宽,影响正常的网络通信

2.组播也是实现一对多的通信机制,只有加入了同一个小组的主机可以收到该组内发送的数据

3.组播也是通过UDP实现的

4.组播地址:D类网络(224.0.0.0---239.255.255.255)

8.在使用套接字通信时,客户端就一定不需要绑定操作吗

不一定,对于报式域套接字,如果不绑定套接字文件,系统不会自动绑定,发送数据没有问题,但是服务器不能向客户端发送信息

9.进程间通信的方式有哪些

套接字、共享内存、管道(有名管道、无名管道)、信号、信号灯集、消息队列

10.线程的同步互斥机制

在多任务操作系统中,同时运行的多个任务可能:

        都需要访问、使用同一种临界资源

        多个任务之间有依赖关系,某个任务的运行依赖于另一个任务

同步:进程必须按顺序执行

互斥:一个临界资源在同一时刻只能被一个进程或线程使用,不能同时使用。

线程之间,如果要进行通信,需要引入同步互斥机制,避免产生竞态。保证任何一个时刻,只有一个线程处理临界资源。

1.互斥锁:

对于要访问临界资源的线程,在访问之前要先申请互斥锁

互斥锁只能保证临界区完整,只有一个线程访问,但无法指定访问者的顺序

2.信号量(信号灯)

对于要访问临界资源的线程,都去执行申请信号量的操作

互斥锁又称为二值信号量,只允许一个线程进入临界区,即信号量的初始值为1

PV操作:实现线程、进程同步互斥

        P:申请信号量,减操作

        V:释放信号量,加操作

3.条件变量

将不访问共享资源的线程直接休眠,并设置一个唤醒条件,该唤醒条件称之为条件变量

当到线程需要访问的时候,其他线程通过制定的条件变量唤醒该线程

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

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

相关文章

JavaSE(上)-Day6

JavaSE(上)-Day6 数组数组的定义数组的初始化打印数组分析数组索引数组内存图 方法方法的定义和调用方法的重载方法的内存图 二维数组二位数组的创建和初始化二维数组的内存图 数组 1.数组是一种容器,可以一次存储多个相同类型的数据 数组的…

nginx日志统计qps

1.QPS QPS全称为Queries Per Second,即每秒钟处理的请求数量。对于一个高并发应用来说,QPS是非常重要的性能指标,它反映了应用处理请求的能力。在实际应用中,QPS的大小取决于应用的负载和应用本身的性能。 QPS req/sec 请求数/…

Go语言学习03-字符串

Go语言学习03-字符串 字符串 与其他主要编程语言的差异 string 是数据类型, 不是引用或指针类型string 是只读的 byte slice, len 函数可以返回它所包含的byte数string 的byte数组可以存放任何数据 Unicode UTF8 Unicode 是一种字符集(code point)UTF8 是 unicode 的存储实…

opengl日记9-opengl使用纹理示例

环境 系统:ubuntu20.04opengl版本:4.6glfw版本:3.3glad版本:4.6cmake版本:3.16.3gcc版本:10.3.0 直接上代码 CMakeLists.txt cmake_minimum_required(VERSION 3.5) set(CMAKE_C_STANDARD 11) set(CMAKE_…

原型,模板,策略,适配器模式

原型模式 原型模式(创建型模式),核心思想就是:基于一个已有的对象复制一个对象出来,通过复制来减少对象的直接创建的成本。 总结一下,原型模式的两种方法,浅拷贝只会复制对象里面的基本数据类型…

【linux线程(三)】生产者消费者模型详解(多版本)

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:Linux从入门到精通⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学更多操作系统知识   🔝🔝 Linux线程 1. 前言2. 初识生产…

【CesiumJS-功能记录1】相机锁定视角以及解除锁定

目录 相机锁定entities对象 使用lookAt方式相机锁定 相机锁定entities对象 锁定:viewer.trackedEntity entity; 解锁:viewer.trackedEntity undefined; entity为使用Cesium中entities方式引入的模型对象 使用lookAt方式相机锁定 锁定:view…

【GameFramework框架内置模块】10、本地化(Localization)

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 【GameFramework框架】系列教程目录: https://blog.csdn.net/q7…

DEBUG Starting new HTTP connection -- requests的debug日志关闭

网上都是禁用requests的模块调用,使用: logging.getLogger(“requests”).setLevel(logging.WARNING) 使用无效,如何解决? 需要更改为对urllib3禁用: logging.getLogger(“urllib3”).setLevel(logging.WARNING)

实验8-2-8 字符串排序(PTA)

题目: 本题要求编写程序,读入5个字符串,按由小到大的顺序输出。 输入格式: 输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。 输出格式: 按…

C#中的override和overload介绍

在C#中,override 和 overload 是两个不同的概念。 override 用于派生类中重新定义基类中的虚方法或抽象方法,实现多态性;而 overload 则是在同一个类中定义多个同名方法,但参数列表不同,以提供不同的功能或处理方式。 …

哔哩哔哩秋招Java二面

前言 作者:晓宜 个人简介:互联网大厂Java准入职,阿里云专家博主,csdn后端优质创作者,算法爱好者 一面过后面试官叫我别走,然后就直接二面,二面比较简短,记录一下,希望可以…

绝地求生:现在购买通行证还能兑换成长型武器吗?

大家好,我闲游盒,这几天收到几位盒友的私信咨询我现在购买通行证还能获得一把成长型武器吗?我相信还有许多盒友也有此困惑,那我就在这统一回复了,目前距通行证和商城物资箱礼包下架还有最后16天时间,众所周…

js实现hash路由原理

一、简单的上下布局&#xff0c;点击左侧导航&#xff0c;中间内容跟对变化&#xff0c;主要技术使用js检测路由的onhashchange事件 效果图 二、话不多说&#xff0c;直接上代码 <!DOCTYPE html> <html lang"zh"><head><meta charset"…

FPGA控制AD7606_AD7606解读

目录 一、AD7606解读二、引脚说明三、时序图 一、AD7606解读 AD7606特点&#xff1a; 8通道同步采样模拟通道数为8分辨率&#xff1a;16bit&#xff0c;即最小采样的电压为5V/(2^16) 0,00007V&#xff0c;即数字量的1就代表模拟量的0,00007V&#xff0c;2代表0,00014V有效位数…

C语言易错知识点

1、数组长度及所占字节数 char x[] {"Hello"},y[]{H,e,l,l,o}; x数组的长度为5&#xff0c;y的长度也是5 x、y数组所占字符串为6为 51(\0)6 strlen&#xff08;&#xff09;函数得到的是数组的长度 2、%%与%的优先级 #include<stdio.h> int main(){ int a…

iOS图片占内存大小与什么有关?

1. 问&#xff1a;一张图片所占内存大小跟什么有关&#xff1f; 图片所占内存大小&#xff0c;与图片的宽高有关 我们平时看到的png、jpg、webp这些图片格式&#xff0c;其实都是图片压缩格式。通过对应的算法来优化了大小以节省网络传输与本地保存所需的资源。 但是当我们加…

再谈EMC Unity存储系统内存DIMM问题

以前写过一篇关于EMC Unity 存储系统的DIMM的介绍文章&#xff0c;但是最近还是遇到很多关于内存的问题&#xff0c;还有一些退货&#xff0c;所以有必要再写一篇关于EMC Unity 内存方面的问题&#xff0c;供朋友们参考。如果还有疑问&#xff0c;可以加vx&#xff1a;StorageE…

【黑马头条】-day01环境搭建SpringBoot-Cloud-Nacos

文章目录 1 环境搭建及简介2 项目介绍2.1 应用2.2 业务说明2.3 技术栈2.4 收获2.5 大纲 3 Nacos准备3.1 安装Nacos 4 初始工程搭建4.1 环境准备4.1.1 导入项目4.1.2 设置本地仓库4.1.3 设置项目编码格式 4.2 全局异常4.2.1 自动装配 4.3 工程主体结构 5 登录功能开发5.1 需求分…

logrus包学习(一)

个人学习记录&#xff0c;写下来备用 logrus是golang的结构化日志包 一、创建一个实例 logger : logrus.New() 当然你也可以直接使用&#xff0c;我个人习惯实例化一下 二、设置格式 个人习惯使用json logger.SetFormatter(&logrus.JSONFormatter{TimestampFormat: …