模拟面试

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.rhkb.cn/news/279580.html

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

相关文章

Java面试相关问题

一.MySql篇 1优化相关问题 1.1.MySql中如何定位慢查询? 慢查询的概念:在MySQL中,慢查询是指执行时间超过一定阈值的SQL语句。这个阈值是由long_query_time参数设定的,它的默认值是10秒1。也就是说,如果一条SQL语句的执…

【开发环境搭建篇】IDEA安装和配置

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过大学刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是&#xff0…

单片机第四季-第一课:RTOS

1,RTOS来龙去脉 操作系统是什么? 以人类社会类比,小公司三四个人都是干活的,大公司有几万人其中有几千人从事管理工作,他们的工作是让其他人的干活效率更高。 51单片机为什么没有操作系统,因为51的性能太…

黑马微服务p30踩坑

报错详情 : orderservice开不起来 : 发生报错 : 然后检查了以下端口啥的 ,配置啥的都是没有问题的 ; 解决办法 : 1 . 修改nacos1,2,3中的端口,将conf 中 cluster.conf中 的 127.0.0.1 全部改成自己本机的真实ipv4地址; 本机真实ipv4地址查看 :…

Git小乌龟安装及使用教程

一、Win7安装git 软件下载地址:git for windows 安装过程直接默认下一步,直到安装结束。 安装结束后重启一下。 安装完成后,在文件夹空白处右键出现以下几个标识,说明安装成功。 二、安装tortoise git(乌龟git&…

(css)vue 自定义背景 can‘t resolve

(css)vue 自定义背景 can’t resolve 旧写法: background-image: url(/assets/images/step-bg.jpg);background-size: 100% 100%; 新写法: background-image: url(~/assets/images/step-bg.jpg);background-size: 100% 100%; 解决参考:https…

robots协议详解:爬虫也要有边界感

随着互联网的迅猛发展,信息的获取变得越来越便捷,而网络爬虫(Spider)技术就是其中之一。网络爬虫是一种自动化程序,它能够遍历互联网上的网页,提取信息,用于各种用途,例如搜索引擎索引、数据挖掘、价格比较等。但是,爬虫技术虽然强大,但是也是一把双刃剑,在正当使用…

oops-framework框架 之 启动流程(三)

引擎: CocosCreator 3.8.0 环境: Mac Gitee: oops-game-kit 回顾 上篇博客中我们通过 oops-game-kit 模版构建了基础的项目,另外讲解了下assets目录结构和游戏配置文件的基本使用相关,详情内容可参考: oops-framewo…

Qt 多元素控件

Qt开发 多元素控件 Qt 中提供的多元素控件有: QListWidgetQListViewQTableWidgetQTableViewQTreeWidgetQTreeView xxWidget 和 xxView 之间的区别 以 QTableWidget 和 QTableView 为例. QTableView 是基于 MVC 设计的控件. QTableView 自身不持有数据. 使用QTableView 的 …

Qt 容器类控件

Group Box 使用 QGroupBox 实现一个带有标题的分组框可以把其他的控件放到里面作为一组,这样看起来能更好看一点. 核心属性 属性说明title分组框的标题alignment分组框内部内容的对齐方式flat是否是 “扁平” 模式checkable是否可选择. 设为 true,则在…

基于nodejs+vue班级管理系统的设计与实现-flask-django-python-php

随着电子技术的普及和快速发展,线上管理系统被广泛的使用,有很多事业单位和商业机构都在实现电子信息化管理,班级管理系统也不例外,由比较传统的人工管理转向了电子化、信息化、系统化的管理。随着互联网技术的高速发展&#xff0…

Unity Toggle处理状态变化事件

Toggle处理状态变化事件,有两个方法。 法一、通过Inspector面板设置 实现步骤: 在Inspector面板中找到Toggle组件的"On Value Changed"事件。单击""按钮添加一个新的监听器。拖动一个目标对象到"None (Object)"字段&am…

【黑马头条】-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 需求分…

有什么ai写作神器?6个AI智能写作助手分享给你

随着人工智能技术的不断发展,自动生成文章的软件也逐渐成为了写作领域的一项重要工具。下面将介绍国内常用的6款AI写作助手,来看看它们的有什么不一样的地方。 爱制作AI写作 无需下载,直接在线使用,支持手机电脑操作,…

Android14音频进阶:AudioFlinger究竟如何混音?(六十三)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…

Mac版Jmeter安装与使用模拟分布式环境

Mac版Jmeter安装与使用&模拟分布式环境 1 安装Jmeter 1.1 安装Java环境 国内镜像地址:https://repo.huaweicloud.com/java/jdk/11.0.29/jdk-11.0.2_osx-x64_bin.dmg 下载dmg后,双击进行安装。 配置环境变量: # 1 打开环境变量配置文件…

软考 网工 每日学习打卡 2024/3/18

学习内容 第8章 网络安全 本章主要讲解网络安全方面的基础知识和应用技术。针对考试应该掌握诸如数据加密、报文认 证、数字签名等基本理论,在此基础上深入理解网络安全协议的工作原理,并能够针对具体的 网络系统设计和实现简单的安全解决方案。 本章共有…

深入理解Java并发工具包中的CyclicBarrier

码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! 在Java的并发编程世界中,协调和管理多个线程的执行是一项复杂而关键的任务。为了简化这一挑战,Java并发包…

三种简单方法教你手机mp4怎么转换成mp3!

在日常生活中,我们经常会遇到想要将手机上的MP4视频转换为MP3音频的情况。可能是想要提取音频内容,例如歌曲或录音,方便在其他设备上播放或分享;也可能是为了节省手机存储空间,将视频文件转换为更小的音频文件。 无论…

【HTTP完全注解】看了还搞不懂缓存你直接来打我

HTTP缓存 HTTP缓存是一种HTTP的性能优化机制,它是为了提高Web页面加载速度和减轻服务器负载而设计的,通过这种机制,Web浏览器或其他客户端可以存储先前获取的Web资源的副本,并在后续请求相同资源时使用这些副本,而不是…