2022年笔试知识总结展望

news/2024/5/1 18:35:31/文章来源:https://blog.csdn.net/weixin_53919192/article/details/126910732

应届生的笔试知识总结,温故而知新,看看知识加深印象,希望学得更好,有个好结果。


目录

1. TCP的拥塞控制

2. position属性 

3. [‘1‘, ‘2‘, ‘3‘].map(parseInt) 输出结果

4. 排序算法的稳定性分析

1)稳定的排序算法:冒泡排序、插入排序、归并排序、基数排序;

2)不稳定的排序算法:选择排序、快速排序、希尔排序、堆排序;

5. std::map的使用

6.  display: none、visibility: hidden与opacity:0的区别
​​​​​​​


1. TCP的拥塞控制

参考文章:TCP的拥塞控制(详解)

网络拥塞:在某段时间,若对网络黄忠某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏,这种情况就叫做网络拥塞。

        TCP的四种拥塞控制算法

  1. 慢开始
  2. 拥塞控制
  3. 快重传
  4. 快恢复

2. position属性 

  • 定位属性 
  • static:默认值,默认定位方式;
  • relative:相对定位;
  1. 可以配合着偏移属性进行位置的移动;
  2. 相对定位后元素会相对它原来的位置偏移某个位置;
  3. 元素移动位置后,原来所占据的空间依然保留;
  • absolute:绝对定位;
  1. 可以配合着偏移属性实现位置的初始化或移动;
  2. 元素会脱离文档流;
  3. 相对于最近的,已定位的祖先元素,来实现位置的初始化;
  4. 如果元素没有已定位祖先元素,那么它的位置就相对于最初的包含块(body,html);
  5. 绝对定位的元素会变成块级;
  6. 绝对定位的元素
  • fixed:固定定位;
  1. 将元素固定在网页的某个位置;
  2. 不会随着滚动条而发生位置的变化;
  3. 固定定位永远都是相对于浏览器窗口进行的位置初始化;

注意:position取值relative,absolute,fixed的元素被称为已定位元素; 

  • 偏移属性 

        作用:移动移动已定位元素;(top、bottom、left、right)

  • 堆叠顺序 z-index
  • 作用:处理已定位元素的堆叠效果;
  • 默认堆叠效果:
  1. 平级元素——后来者居上;
  2. 子元素压在父元素之上——子压父;
  • 注意:
  1. z-index必须配合position属性使用
  2. z-index的取值数值越大就越靠上;
  3. 取值可以为负,取值为负时,当前元素会位于页面正常显示内容之下;
  4. z-index是无法改变父子关系的堆叠顺序;

3. [‘1‘, ‘2‘, ‘3‘].map(parseInt) 输出结果

输出结果:[1, NaN, NaN]

解析: 

  • 我们先看parseInt(string,radix)函数:
  • string:要被解析的值。
  1. 如果参数不是一个字符串,则将其转换为字符串(toString)。字符串开头的空白符将会被忽略。
  • radix:可选。
  1. 从 2 到 36,表示被解析的值的进制。例如说指定 10 就等于指定十进位。
  • parseInt(string, radix)将一个字符串string转换为radix进制的整数, radix为介于2-36之间的数,返回解析后的整数值,如果被解析参数的第一个字符无法被转化成数值类型,则返回NaN。
  • 注意一点的是,radix是undefined、0或未指定时,JS会假定radix的值:
  1. String以0X/0x开头时,则radix为16,即16进制;
  2. String以0开头时,radix则可能是8(八进制)或者10(十进制),看具体情况,一般是十进制;
  3. String以任何其他值开头,radix是10(十进制);
  •  Array.prototype.map(callback, ):

         map方法的作用,该方法接受两个参数:

  1. 第一个是一个回调函数,数组中的每一项都会执行该函数,这个回调函数接受三个参数,第一个是正在处理的元素,第二个是正在处理的索引,第三个是当前数组
  2. 第二个参数是调用回调函数的this。(当前元素属于的数组对象)
  •  回到问题:['1', '2', '3'].map(parseInt):
  • 相当于遍历执行parseInt(‘数组元素’,‘索引’);
  • parseInt('1', 0),直接按照10进制解析,结果为1;
  • parseInt('2', 1),传入了非2~36的值,结果为NaN;
  • parseInt('3', 2),按照2进制进行解析,2进制可以解析的数字只有1和0,所以返回NaN。

4. 排序算法的稳定性分析

1)稳定的排序算法:冒泡排序、插入排序、归并排序、基数排序;

  • 冒泡排序:将相邻的两个元素进行比较(小的往前调,大的往后调,相等不调);

在这里插入图片描述

  • 插入排序:讲一个元素插入到一个已经有序的小序列上,从后往前不断对比找位置;

在这里插入图片描述

  • 归并排序:把数列递归分成短序列,然后进行合并;
  • 基数排序:按照低位先排序,然后收集;在按照高位排序,再收集,

2)不稳定的排序算法:选择排序、快速排序、希尔排序、堆排序;

  • 选择排序:选择排序即给每个位置选择 待排序元素 中最小的元素;

在这里插入图片描述

  • 快速排序:
  1. 先选一个key,然后左右指针不断的往中间找到交换的值,再在左右序列进行相同快排,不稳定在交换的值和可以交换的时刻;
在这里插入图片描述
快排左右指针法
在这里插入图片描述
快排递归挖坑法
  • 希尔排序:希尔排序是按照不同步长对元素进行插入排序的;

在这里插入图片描述

  •  堆排序
  • 为什么要区分排序算法的稳定性? 
  • 排序算法的定性概念:通俗地讲就是能保证排序前两个相等的数据在其序列中的先后位置顺序与排序后他们两个的先后顺序相同;
  • 如果排序算法是稳定的,那么从上一个键上排序,然后从另一个键上排序,第一个键排序的结果可以为第二个键排序所利用;
  • 在多个属性的数组中,有时候有些属性是有优先级顺序的,先按低优先级排序,再按高优先级排序,最后的次序结果就是高优先级高的在前,高优先级相同的情况下低优先级高的在前。

5. std::map的使用

详细参考资料:​​​​​​​std::map的基本使用

  • std::map 是有序键值对容器,它的元素的键是唯一的;
  • 用比较函数Compare排序键;
  • 搜索、移除和插入操作拥有对数复杂度。;
  • map 通常实现为红黑树;
  • 思想: map映照容器运用了哈希表地址映射的思想,也就是key-value的思想,每一个key对应着一个值,每个key是唯一的,底层采用红黑树的数据结构实现;
  • 特点:增加和删除节点对迭代器的影响很小,出来那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key;
  • map会根据key自动排序,建立Key-value(键值对)的对应。key和value可以使任意你需要的类型。
  • 根据key值快速查找记录,查找的复杂度基本是Log(N),如果有1000个记录、快速删除记录、根据Key修改value记录,遍历所有记录;

         std::map满足容器(Container)、具分配容器(AllocatorAwareContainer)、关联容器(AssociativeContainer)和可逆容器(ReversibleContainer)的要求。

6.  display: none、visibility: hidden与opacity:0的区别

        相同点:都能让元素不可见;

        不同点:

  •  display: none
  1. DOM 结构:浏览器不会渲染 display 属性为 none 的元素,会让元素完全从渲染树中消失,渲染的时候不占据任何空间;

  2. 事件监听:无法进行 DOM 事件监听,不能点击;

  3. 性能:修改元素会造成文档回流(reflow 与 repaint),读屏器不会读取display: none元素内容,性能消耗较大;

  4. 继承:是非继承属性,由于元素从渲染树消失,造成子孙节点消失,即使修改子孙节点属性子孙节点也无法显示,毕竟子类也不会被渲染;

  5. 场景:显示出原来这里不存在的结构;

  6. transition:transition 不支持 display。

  • visibility: hidden
  1. DOM 结构:不会让元素从渲染树消失,渲染元素继续占据空间,只是内容不可见;

  2. 事件监听:无法进行 DOM 事件监听,不能点击;

  3. 性能:修改元素只会造成本元素的重绘(repaint),是重回操作,比回流操作性能高一些,性能消耗较少;读屏器读取visibility: hidden元素内容;

  4. 继承:是继承属性,子孙节点消失是由于继承了visibility: hidden,子元素可以通过设置 visibility: visible 来取消隐藏;

  5. 场景:显示不会导致页面结构发生变动,不会撑开;

  6. transition:transition 支持 visibility,visibility 会立即显示,隐藏时会延时。

  • opacity: 0
  • DOM 结构:透明度为 100%,不会让元素从渲染树消失,渲染元素继续占据空间,只是内容不可见;
  • 事件监听:可以进行 DOM 事件监听,可以点击;

  • 性能:提升为合成层,是重建图层,不和动画属性一起则不会产生repaint(不脱离文档流,不会触发重绘),性能消耗较少;

  • 继承:会被子元素继承,且子元素并不能通过 opacity: 1 来取消隐藏;

  • 场景:可以跟transition搭配;

  • transition:transition 支持 opacity,opacity 可以延时显示和隐藏。

        具体效果分析: 

  • display: none: 从这个世界消失了, 不存在了;

  • opacity: 0: 视觉上隐身了, 看不见, 可以触摸得到;

  • visibility: hidden: 视觉和物理上都隐身了, 看不见也摸不到, 但是存在的;

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

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

相关文章

事件研究法与其应用(2)---Excel实操步骤

我们借着学习事件研究法的应用,可以用Excel和Stata等软件进行操作。 今天这主要是利用EXCEL计算累积异常收益率。 在正式开展实操之前,我们先回顾一下事件研究法的步骤(尤其是我们写作论文的时候): 事件研究法计算步骤: 1. 获取数据,定义事件期 2.计算估计期间个股与市…

npm yarn 报错

目录npm yarn报错yarn: 无法加载文件 npm yarn报错 yarn: 无法加载文件 win10系统,yarn : 无法加载文件 C:\Users\丽丽小可爱\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 ... 导致此错误的原因是,PowerShell 执行策略,默认设置为Rest…

JSON 数据类型转换工具

简介 本文介绍一款数据类型转换工具,可以将JSON格式数据转换成YAML、MYSQL、XML、TOML、JavaScript等数据类型。 背景 在日常的开发工程中,我们经常使用JSON表达数据,但有些时候我们需要使用YAML、JavaScript等语言表达数据。因此&#xf…

HTML + HTTP请求 +CSS知识点

文章目录HTML1.HTML元素2.HTML页面3.常见元素1)文本2)多媒体3)表单作用与语法常见表单项案例体验4.HTTP请求1)请求组成2) 请求方式与数据格式get 请求示例post 请求(默认格式)示例json 请求&…

Python必知必会 os 模块详解

文章目录Python os 模块os模块的常用操作os.path模块os.open()模块Python os 模块 os是“operating system”的缩写,os模块提供各种 Python 程序与操作系统进行交互的接口,使用os模块,一方面可以方便地与操作系统进行交互,另一方…

【SLAM】4李群李代数

文章目录4.1.基础群李代数的引出李代数李代数so(3)\mathfrak{so}(3)so(3)李代数se(3)\mathfrak{se}(3)se(3)4.2.指数与对数映射4.2.1.SO(3)SO(3)SO(3)指数映射4.2.2.SE(3)SE(3)SE(3)的指数映射4.3.李代数求导与扰动模型4.3.1.BCH公式&近似形式4.3.2.李代数求导4.3.4.扰动模…

redis下载与安装(Linux环境下)

用的是阿里云的深度os Linux系统 一,下载 键入命令: wget http://download.redis.io/releases/redis-6.2.1.tar.gz 检查时候有gcc环境 gcc --version 若有gcc环境会有类似于下图的提示 没有则执行: yum install gcc 下载完毕之后&…

JavaEE基础知识

文章目录前言计算机的基本组成CPUCPU运行程序的过程CPU的构造操作系统操作系统功能常见的操作系统操作系统的具体组成操作系统的进程管理(重点)操作系统安排程序进程PCB(进程管理块)进程调度关于进程的几个属性虚拟地址空间线程(thread [θred] )前言 之前已经学过很多的知识,…

企业薪资系统

开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字):

PostgreSQL - 基于pg_basebackup实现主从流复制

PostgreSQL - 基于pg_basebackup实现主从流复制1 数据库节点2 安装PostgreSQL2.1 创建postgres用户2.2 安装PostgreSQL3 配置主节点4 配置从节点5 验证主从同步1 数据库节点 节点ip节点角色192.168.163.133主节点192.168.163.134从节点 2 安装PostgreSQL 2.1 创建postgres用户…

计算机网络——数据链路层(滑动窗口协议: 选择重传)(点对点协议 PPP)

目录 滑动窗口协议: 选择重传 选择重传协议 选择重传协议 点对点协议 PPP PPP 的主要特点 PPP 协议有三个组成部分 PPP 协议的帧格式 PPP 有一个 2 个字节的协议字段 透明传输问题 PPP 的字符填充 PPP 的工作状态 滑动窗口协议: 选择重传 选择重传协议 GBN相对简单&a…

【周末闲谈】谈谈数学转码这一年来的体会与反思

——我们走了太远,以至于忘了为何出发 前言 笔者本科读的是数学专业,就是每天和数学分析、高等代数、概率论、随机过程等等这些理论打交道的专业,这个专业出来工作好像一般有两个方向就是金融和计算机,我选择了计算机方向。主要…

2022 第五届 浙江省大学生网络与信息安全竞赛技能赛 预赛 Writeup,5题

文章目录1、Web:nisc_easyweb2、Web:nisc_学校门户网站3、Web:吃豆人吃豆魂4、MISC:好怪哦5、RE:ManyCheck1、Web:nisc_easyweb 题目描述: 打开网站,是一个php的初始页面。 思路…

springboot+微信小程序的点餐系统(开题报告+论文+答辩PPT+源码)

技术架构 SprongBootMysql微信小程序 简介 本点餐小程序是使用Java/JavaScript编程语言开发的,存储数据方面则用到了MySQL数据库。顾客可以使用小程序扫码功能扫描餐厅桌角的二维码就座,也可以点击排号等位由后台工作人员安排就座;通过首页…

通关GO语言10 Context:你必须掌握的多线程并发控制神器

在上一节课中我留了一个作业,也就是让你自己练习使用 sync.Map,相信你已经做出来了。现在我为你讲解 sync.Map 的方法。 Store:存储一对 key-value 值。 Load:根据 key 获取对应的 value 值,并且可以判断 key 是否存在…

GO面试题集锦

GO面试题集锦 目录GO面试题集锦slice 扩容机制slice 为什么不是线程安全的map 底层原理map 扩容机制map 遍历为什么无序map 为什么不是线程安全的Map 如何查找Map 冲突解决方式Map 负载因子为什么是 6.5Map 和 Sync.Map 哪个性能好Channel 底层实现原理Channel 有什么特点Chann…

docker实战教程(七):镜像的分层概念

联合文件系统(UnionFS) 联合文件系统是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下。联合文件系统是docker镜像的基础。镜像可以通过分层来进行继承,基于基础镜像(没有父镜像…

Zookeeper简介

文章目录Zookeeper简介zookeeper能做什么zookeeper的数据模型zookeeper工作机制zookeeper集群的选举机制1、第一次启动选举机制2、非第一次启动选举机制搭建zookeeper的集群Zookeeper简介 zookeeper能做什么 master节点选举:主节点挂了以后,从节点就会…

基于 ANFIS 的非线性回归(Matlab代码实现)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥 👨‍🎓博主课外兴趣:中西方哲学,送予读者: 👨‍&a…

字符串函数以及内存函数的模拟实现(超详细,全面理解字符串函数!!!)

目录 一、strlen 1.参数指向的字符串必须要以 \0 结束。 2.注意strlen函数的返回值为size_t,是无符号的 3.模拟实现strlen 二、strcpy 1.源字符串中的 \0 拷贝到目标空间 2.源字符串必须以 \0 结束 3.目标空间必须足够大,以确保能存放源字符串 4…