嵌入式面试笔试刷题(day10)

news2024/11/27 11:44:13

文章目录

  • 前言
  • 一、数组和链表的区别
  • 二、什么是内存对齐
  • 三、IIC的时序
  • 四、static作用
  • 五、查看tty设备的方法
  • 六、查找指定文件命令
  • 七、三次握手和四次挥手
    • 1.三次握手
    • 2.四次挥手
  • 八、半关闭状态
  • 九、字节流和数据报
  • 总结


前言

本篇文章继续讲解笔试和面试。

一、数组和链表的区别

1.内存:

数组使用连续的内存块来存储元素,每个元素在内存中占据固定大小的空间。这样的存储方式使得数组的访问速度快,通过索引即可直接访问任意位置的元素。

链表使用分散的内存块来存储元素,每个元素(节点)在内存中可以位于任意位置。每个节点包含了存储数据的部分和指向下一个节点的指针。这种存储方式使得插入和删除操作更加灵活,但访问元素需要遍历整个链表。

2.性能:

数组的访问速度快,通过索引可以直接访问任意位置的元素,时间复杂度为 O(1)。但是在插入和删除元素时,需要移动其他元素来保持连续性,导致时间复杂度为 O(n)。

链表在插入和删除元素时,只需要修改指针的指向,所以插入和删除的时间复杂度可以达到 O(1)。但是在访问元素时,需要遍历链表,时间复杂度为 O(n)。

3.操作复杂度:

数组的插入和删除操作需要移动其他元素,因此操作复杂度较高。在插入和删除元素的场景较多时,数组性能不如链表。

链表的插入和删除操作只需要改变指针的指向,操作复杂度较低。在需要频繁执行插入和删除操作的场景中,链表更加适合。

数组适合于需要频繁访问元素的场景,而链表适用于需要频繁插入和删除元素的场景。

二、什么是内存对齐

内存对齐是指在存储数据时,将数据按照一定规则放置在内存中的过程。

三、IIC的时序

1.开始信号(Start Signal):主设备发送一个低电平的信号,表示即将开始通信。

2.从设备地址(Device Address):主设备发送从设备的地址,主要用于指定与之通信的从设备。地址包括一个7位的从设备地址和读/写位。读/写位用于指示主设备是要进行读操作还是写操作。

3.应答信号(Acknowledge Signal):每次发送地址或数据后,发送方会释放SDA线(串行数据线),然后接收方会发送应答位。如果接收到的正确数据,则发送一个低电平的应答(ACK)信号;如果接收到的数据有误或不需要发送应答,则发送一个高电平的非应答(NACK)信号。

4.读或写操作(Read or Write Operation):主设备通过传输数据来完成读或写操作。在读操作中,从设备向主设备发送数据;在写操作中,主设备向从设备发送数据。

5.停止信号(Stop Signal):主设备发送一个高电平的停止信号,表示通信结束。

四、static作用

static关键字在C语言中可以用于静态变量、静态函数、静态全局变量和静态局部变量。它们的具体作用包括控制变量的生命周期、作用域以及对其他文件的可见性。

五、查看tty设备的方法

使用ls /dev/tty*
在这里插入图片描述

六、查找指定文件命令

1.使用find命令:

find <路径> -name <文件名>

<路径>:指定要搜索的起始路径。可以是根目录 /,也可以是当前目录 .,或者其他指定的目录。
-name <文件名>:指定要查找的文件名。可以使用通配符进行模糊匹配,如 * 表示任意字符。

2.使用locate命令:

locate <文件名>

<文件名>:指定要查找的文件名。与find不同,locate命令使用基于数据库的搜索,因此速度较快。

七、三次握手和四次挥手

1.三次握手

1.第一次握手(SYN):客户端向服务器发送一个带有 SYN(同步)标志的包,用于请求建立连接。发送方选择一个初始的序列号(Sequence Number)作为起始值,并将 SYN 标志置为1。

2.第二次握手(SYN+ACK):服务器收到客户端的 SYN 包后,确认收到,并向客户端发送一个带有 SYN 和 ACK(应答)标志的包。服务器也会为自己选取一个初始的序列号,并将客户端的序列号加1作为确认号(Acknowledgment Number)。

3.第三次握手(ACK):客户端收到服务器的 SYN+ACK 包后,向服务器发送一个带有 ACK 标志的包作为确认。该包中的序列号被设置为收到的确认号加1。

在这里插入图片描述

2.四次挥手

1.第一步(FIN1):
主动关闭连接的一方(称为发起者)向对方发送一个带有 FIN(Finish)标志的 TCP 报文段。
发起者不再发送数据,但仍可以接收对方发送的数据。

2.第二步(ACK1):
接收到 FIN 的一方(称为被动关闭者)收到 FIN 报文后,向发起者发送一个确认应答(ACK)报文,确认已收到 FIN。
被动关闭者仍可以发送剩余数据,直到发送和接收缓冲区中的数据都被传输完成。

3.第三步(FIN2):
被动关闭者发送一个带有 FIN 标志的报文段,表示它也希望关闭连接。
被动关闭者不再发送数据,但仍可以接收来自发起者的数据。

4.第四步(ACK2):
发起者接收到被动关闭者的 FIN 后,向被动关闭者发送一个确认应答,确认收到 FIN。
发起者等待一段时间,以确保对方收到确认应答。

在这里插入图片描述

八、半关闭状态

半关闭(Half-closed)状态是指在 TCP 连接中,一方关闭了它的输出流(发送数据),但仍然可以接收对方发送的数据。

九、字节流和数据报

字节流(TCP):

字节流是 TCP 中的传输方式,它将数据视为连续的字节流,没有明确的消息边界。
TCP 将数据划分为一个个的字节,并以无结构的方式在连接上进行传输。
发送方将数据以字节流的形式发送给接收方,接收方接收到字节后按照顺序重新组装成完整的数据。
具有可靠性和顺序性,TCP 通过序列号、确认号和重传机制来保证数据的可靠性和正确的顺序。

数据报(UDP):

数据报是 UDP 中的传输方式,它将数据视为独立的数据包,每个数据包之间是独立的。
UDP 将数据划分为一个个固定大小的数据报(通常称为 UDP 数据报或者 UDP 包)进行传输。
每个数据报都有自己的头部信息,包括源端口、目标端口和长度等,用于标识和组装数据。
数据报发送时不保证顺序和可靠性,接收方无法确保接收到的数据报的顺序和完整性。

总结

本篇文章就讲解到这里。

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

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

相关文章

C++ STL stack queue

目录 一.stack 介绍 二.stack 使用 三.stack 模拟实现 普通版本&#xff1a; 适配器版本&#xff1a; 四.queue的介绍 五. queue使用 六.queue模拟实现 七.deque介绍 1.容器适配器 2.deque的简单介绍 3.deque的缺陷 4.为什么选择deque作为stack和queue的底层默认容…

SpringBoot复习:(46)全局的bean懒加载是怎么实现的?

在application.properties中配置&#xff1a; spring.main.lazy-initializationtrue在运行SpringApplication的run方法时&#xff0c;代码如下&#xff1a; 其中调用了prepareContext,prepareContext代码如下&#xff1a; 当在配置文件中配置了spring.main.lazy-initializat…

中国1990-2021连续30年土地利用数据CLCD介绍及下载

CLCD数据介绍 CLCD(China Land Cover Dataset)数据集由武汉大学黄昕老师公布,黄昕老师基于Google Earth Engine上335,709景Landsat数据,制作中国年度土地覆盖数据集(annual China Land Cover Dataset, CLCD),包含1985+1990—2020中国逐年土地覆盖信息。 为此,黄昕老师…

学好Elasticsearch系列-索引的批量操作

本文已收录至 Github&#xff0c;推荐阅读 &#x1f449; Java 随想录 先看后赞&#xff0c;养成习惯。 点赞收藏&#xff0c;人生辉煌。 文章目录 基于 mget 的批量查询基于 bulk 的批量增删改增加删除修改 filter_path Elasticsearch 提供了 _bulk API 来执行批量操作&#x…

Web APIs 第六天

正则表达式介绍语法元字符修饰符 一.正则表达式介绍 ① 简介 用来匹配字符串中字符组合的模式在JavaScript中&#xff0c;正则表达式也是对象通常用来查找&#xff0c;替换那些符合正则表达式的文本&#xff0c;许多语言都支持正则表达式 ② 使用场景 验证表单&#xff1a…

解决Adobe Flash Player已被屏蔽

问题&#xff1a;该插件不支持 原因&#xff1a;现在浏览器默认禁用flash 博主当前使用的是谷歌浏览器Chrome 2个主要方法都已经失效 搜索一圈后&#xff0c;之前博客给出的2个主要方法都已经失效。 1、flash.cn 下载本地播放器 2、在chrome中打开flash的禁用开关 2023年解…

vm ubuntu20共享文件夹

问题: 根据教程开启共享文件夹后 ,在ubuntu 的/mnt里面没有hgfs目录,也没有共享的两个文件夹,执行如上命令可重新挂载共享目录 vmware-hgfsclient sudo vmhgfs-fuse .host:/ /mnt/ -o nonempty -o allow_other 之后通过find / -name 你的共享目录名字 查看是否加载成功 附…

总线基本概念

总线基本概念 为什么要用总线 总线是连接各个部件的信息传输线&#xff0c;是各个部件共享的传输介质。&#xff08;如果没有总线&#xff0c;那么每新增一个组件&#xff0c;就需要增加若干线和其余组件相连&#xff09; 在任何一个时刻&#xff0c;只能有一对设备&#xf…

第三章 图论 No.12欧拉回路与欧拉路径

文章目录 定义欧拉路径的性质&#xff1a;1123. 铲雪车边编号输出欧拉路径&#xff1a;1184. 欧拉回路点编号字典序最小输出欧拉路径&#xff1a;1124. 骑马修栅栏并查集判断有向图是否存在欧拉路径&#xff1a;1185. 单词游戏 定义 小学一笔画问题&#xff0c;每条边只经过一次…

pconsc4 安装

Pconsc4 安装遇到的问题 Pconsc4-github 按照红框给的一行命令&#xff0c;一行毁所有。 1 gcc and g not found # 1 Start by updating the packages list:sudo apt update# 2 Install the build-essential package by typing:sudo apt install build-essential## The comm…

83. 删除排序链表中的重复元素

题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 解题思路&#xff1a;从前往后遍历节点&#xff0c;如果当前节点和下一个节点的值相等&#xff0c;就跳过下一个节点 具体算法如下&#xff1a; current head如果 current!null…

如何使用CSS实现一个下拉菜单?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用CSS实现下拉菜单⭐ HTML 结构⭐ CSS 样式⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那些…

SAP MIGO采购订单收货默认库存类型控制

在启用了QM模块的企业应用中&#xff0c;收货时针对库存类型就会有不同情况&#xff0c;参与质检的收到质检库存&#xff0c;不参与质检的收到非限制库存。 那么我一直没的遇到过关于应收到质检&#xff0c;而收到非限制库存的反馈。说明这样的问题不会发生&#xff0c;带着疑…

PyQt5设置按钮菜单和信号与槽函数的连接

目录 一、Qt Designer 在窗口中添加菜单和工具栏 二、源代码 1、界面代码 2、逻辑代码 3、演示 三、相关功能 一、Qt Designer 在窗口中添加菜单和工具栏 右键可以选择创建菜单栏。创建后双击【在这里输入】&#xff0c;然后输入菜单名&#xff0c;敲下回车确认&#xf…

OpenCV图像处理——图像平滑

目录 图像噪声椒盐噪声高斯噪声图像平滑简介均值滤波高斯滤波中值滤波 图像噪声 椒盐噪声 随机出现的黑白噪声 高斯噪声 噪声的灰度值符合高斯分布 图像平滑简介 均值滤波 cv.blur(src,ksize,anchor,borderType)import numpy as np import cv2 as cv import matplotlib.…

matlab使用教程(15)—图论基础

1.有向图和无向图 1.1什么是图&#xff1f; 图是表示各种关系的节点和边的集合&#xff1a; • 节点 是与对象对应的顶点。 • 边 是对象之间的连接。 • 图的边有时会有权重 &#xff0c;表示节点之间的每个连接的强度&#xff08;或一些其他属性&#xff09;。 这些定…

【Vue-Router】使用 prams 路由传参失效

报错信息&#xff1a; [Vue Router warn]: Discarded invalid param(s) “name”, “price”, “id” when navigating. list.json {"data": [{"name": "面","price":300,"id": 1},{"name": "水",&quo…

【力扣每日一题】617. 合并二叉树 dfs bfs 8.14打卡

文章目录 题目思路代码 题目 617. 合并二叉树 难度&#xff1a; 简单 描述&#xff1a; 给你两棵二叉树&#xff1a; root1 和 root2 。 想象一下&#xff0c;当你将其中一棵覆盖到另一棵之上时&#xff0c;两棵树上的一些节点将会重叠&#xff08;而另一些不会&#xff0…

AIGC热潮涌动 HashData如何降低大模型应用门槛?

当前&#xff0c;以ChatGPT为代表的大语言模型&#xff08;LLM&#xff09;正在掀起新一轮的AI 浪潮&#xff0c;数字产业生态也迎来前所未有的变局。随着大模型应用的兴起&#xff0c;如何低成本地实现大模型的构建和应用&#xff0c;成为企业关注的重点。 数据仓库是企业数据…

网络安全--筛选给定范围内的日志

目录 pass&#xff1a;在观看此篇前先看上篇的awk介绍 一、文件 二、第一方法 1.步骤 ​编辑三、第二方法&#xff1a; awk内容&#xff1a; 结果&#xff1a; 四、第二要求 统计独立ip 操作步骤&#xff1a; 1.先创建文件写入一下测试内容&#xff1a; 2.书写awk代码…