9.6学习记录+三场笔试

一、去哪儿笔试+挚文集团

1.在调度算法中平均等待时间最短的是什么?

短作业优先

2.给定一个字符串s,最有效的找到其中第一个不重复的字符的方法是?

一、使用哈希表

创建一个哈希表,用于存储字符及其出现的次数。可以使用编程语言中提供的字典(如 Python 中的dict)或类似的数据结构。 遍历字符串s: 对于每个字符,检查它是否在哈希表中。 如果不在哈希表中,将其加入哈希表,并将其出现次数初始化为 1。 如果已经在哈希表中,将其出现次数加 1。 再次遍历字符串s: 对于每个字符,检查其在哈希表中的出现次数。 一旦找到出现次数为 1 的字符,立即返回该字符。 如果遍历完整个字符串都没有找到不重复的字符,则可以返回一个特定的值(例如None或空字符)表示没有找到。

3.HTTP/2协议

HTTP/2 出来的目的是为了改善 HTTP 的性能。协议升级有一个很重要的地方,就是要兼容老版本的协议,否则新协议推广起来就相当困难,所幸 HTTP/2 做到了兼容 HTTP/1.1。

那么,HTTP/2 是怎么做的呢?

第一点,HTTP/2 没有在 URI 里引入新的协议名,仍然用「http://」表示明文协议,用「https://」表示加密协议,于是只需要浏览器和服务器在背后自动升级协议,这样可以让用户意识不到协议的升级,很好的实现了协议的平滑升级。

第二点,只在应用层做了改变,还是基于 TCP 协议传输,应用层方面为了保持功能上的兼容,HTTP/2 把 HTTP 分解成了「语义」和「语法」两个部分,「语义」层不做改动,与 HTTP/1.1 完全一致,比如请求方法、状态码、头字段等规则保留不变。

但是,HTTP/2 在「语法」层面做了很多改造,基本改变了 HTTP 报文的传输格式。

 4.OSI七层模型

5.冒泡排序优化版

定义了一个bool类型,用来判断是否进行过交换,若在第一次遍历完成之后没有进行交换,则代表此时数组就是有序的了。

void bubulSort(vector<int>& nums) {bool isSort;for (int i = 0; i < nums.size(); i++) {isSort = false;for (int j = 0; j < nums.size() - i - 1; j++) {if (nums[j] > nums[j + 1]) {swap(nums, j, j + 1);isSort=true;//如果发生交换 值为true}}if (!isSort) {break;}}
}

6.快速排序

快排核心代码如下:

1.首先,最好定义一个交换函数,方便之后的使用

void swap(vector<int>& nums, int i, int j) {int tmp = nums[i];nums[i] = nums[j];nums[j] = tmp;
}

2.然后,定义函数,用来进行快排的第一次划分,返回的是基准值的下标

快速排序的核心操作:“哨兵划分”,其目标是:选择数组中的某个元素作为“基准数”,将所有小于基准数的元素移到其左侧,而大于基准数的元素移到其右侧。

快排的分治策略

哨兵划分的实质是将一个较长数组的排序问题简化为两个较短数组的排序问题。

哨兵划分完成后,原数组被划分成三部分:左子数组、基准数、右子数组,且满足“左子数组任意元素 <<基准数 <<右子数组任意元素”。因此,我们接下来只需对这两个子数组进行排序。 

int fastNum(vector<int>& nums,int left,int right) {//1.定义一个基准值int i =left; //基准元素int j =right;while (i < j) {while (i < j && nums[j]>=nums[left]) {j--;}		while (i < j && nums[i] <= nums[left]) {i++;}swap(nums,i,j);}//将基准数放到两个子数组的分界线swap(nums,left,i);return i; //返回基准数的下标
}

3.定义快排的入口函数,

首先,对原数组执行一次“哨兵划分”,得到未排序的左子数组和右子数组。
然后,对左子数组和右子数组分别递归执行“哨兵划分”。
持续递归,直至子数组长度为 1 时终止,从而完成整个数组的排序。

void quickSort(vector<int>& nums, int left, int right) {if (left >= right) {return;}int pivot = fastNum(nums,left,right);quickSort(nums,left,pivot-1);quickSort(nums,pivot+1,right);
}

7.Linux文件权限值:

例如:-rwxr--r-- 请判断文件的权限情况是怎么样的?

首先 以-开头代表这是文件,如果是目录,则是以d开头

r(4)w(2)x(1) 可知该文件的权限值是744 

第一个rwx代表文件拥有者对该文件有

“r”(read)代表读取权限,拥有该权限的用户可以查看文件的内容。

“w”(write)代表写入权限,允许用户修改文件的内容、删除文件等操作。

“x”(execute)代表执行权限。对于可执行文件(如二进制程序、脚本等),拥有执行权限的用户可以运行该文件。对于目录来说,拥有执行权限意味着用户可以进入该目录(访问目录下的文件和子目录)。

第二个r-- 代表与文件拥有者同组的用户对该文件有读取的权限

第三个r-- 代表其他用户对该文件也有读取的权限

8.同一进程下的线程可以共享哪些资源?

1.data section 数据段 和代码段

2.file fd 文件描述符 包括打开文件的状态(包括文件的当前位置指针、文件的访问模式等)。

3.线程属于同一个进程,因此共享相同的进程 ID 和父进程 ID。

私有的呢:

1.线程栈 线程 ID

2.寄存器 register set (线程上下文包括线程的寄存器状态、程序计数器等。当操作系统进行线程切换时,会保存当前线程的上下文,并恢复下一个要执行的线程的上下文。每个线程的上下文是私有的,确保线程在被切换回来时能够从上次暂停的地方继续执行。)

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

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

相关文章

AI学习指南深度学习篇-随机梯度下降法(Stochastic Gradient Descent,SGD)简介

AI学习指南深度学习篇-随机梯度下降法&#xff08;Stochastic Gradient Descent&#xff0c;SGD&#xff09;简介 在深度学习领域&#xff0c;优化算法是至关重要的一部分。其中&#xff0c;随机梯度下降法&#xff08;Stochastic Gradient Descent&#xff0c;SGD&#xff09…

Android 15 正式发布到 AOSP ,来了解下新特性和适配需求

其实在年初的时候就整理过《2024 &#xff0c;Android 15 预览版来了》 和《提前窥探 Android 15 的新功能与适配》的相关内容&#xff0c;而随着时间进度推进&#xff0c;近日谷歌也正式发布了 Android 15 的正式版&#xff0c;虽然没什么「大亮点」&#xff0c;但是作为开发者…

11.2.软件系统分析与设计-数据库分析与设计

数据库分析与设计 数据库分析与设计的步骤 ER图和关系模型

目标检测-YOLOv1

YOLOv1介绍 YOLOv1&#xff08;You Only Look Once version 1&#xff09;是一种用于目标检测的深度学习算法&#xff0c;由Joseph Redmon等人于2016年提出。它基于单个卷积神经网络&#xff0c;将目标检测任务转化为一个回归问题&#xff0c;通过在图像上划分网格并预测每个网…

基于发布-订阅模型的音视频流分发框架

有时需要同时网络推流和把流封装为某格式&#xff0c;或做一些其它操作。这就需要一个分发流的机制&#xff0c;把同一路流分发给多个使用者去操作&#xff0c;下面实现了一个简易的线程安全的音视频流分发框架。代码如下&#xff1a; avStreamHub.h #ifndef STREAMHUB_H #def…

python连接MySQL获取表中数据

import pymysql# 连接数据库 conn pymysql.connect(hostlocalhost,userroot,passwordroot,dbtest,charsetutf8mb4,cursorclasspymysql.cursors.DictCursor )def data_upload(key, value):# print(f"Key:{key},Value:{value}")print(f"{key},{value}")try:…

Ubuntu2204配置连续失败后账户锁定

配置启用pam_faillock sudo nano /etc/pam.d/common-auth在最上面添加以下内容 auth required pam_faillock.so preauth silent audit auth sufficient pam_unix.so nullok try_first_pass auth [defaultdie] pam_faillock.so authfail auditsudo nano /etc/pam.d/…

SealSuite 一站式 IT 管理与办公安全解决方案,助力出海企业夯实数字化底座

数字化办公时代&#xff0c;企业升级 IT 基础设施&#xff0c;已不再是选择题&#xff0c;而是必答题。 数字化办公时代&#xff0c;企业为何要升级 IT 基础设施&#xff1f; 随着时代变化与科技进步&#xff0c;人们的工作方式也发生了巨大变化。如今&#xff0c;远程办公、全…

VMware命令

打开终端&#xff1a;Ctrl Alt T 注意&#xff1a;时刻谨记空格号 自己常用命令&#xff1a; cd 拖入需要切换的文件夹&#xff1a;切换至指定文件夹&#xff1b; cd /&#xff1a;切换至根目录&#xff1b; unzip archive_name.zip&#xff1a;解压zip文件&#xff1b; na…

【论文精读】SCINet-基于降采样和交互学习的时序卷积模型

《SCINet: Time Series Modeling and Forecasting with Sample Convolution and Interaction》的作者团队来自香港中文大学,发表在NeurIPS 2022会议上。 动机 该论文的出发点是观察到时间序列数据具有独特的属性:即使在将时间序列下采样成两个子序列后,时间关系(例如数据…

科研小白成长记40——第三个五年计划

小gap期间&#xff0c;拼命玩和拼命休息的同时&#xff0c;仔细思考了下我期望的五年之后的样子&#xff0c;gap结束&#xff0c;算是目标愈发清晰起来。曾经&#xff0c;读博的目标是成为一名independent researcher&#xff0c;并且具备发至少一篇顶会的能力。而现在&#xf…

iOS面试:如何手动触发一个value的KVO?

在 iOS 开发中&#xff0c;手动触发一个属性的 KVO&#xff08;Key-Value Observing&#xff09;更新&#xff0c;通常是在属性的值在代码中发生变化时&#xff0c;确保观察者能够收到这些变化的通知。虽然 KVO 通常是在观察某些属性变化时自动通知观察者的&#xff0c;但如果你…

【PPT学习笔记】使用PPT制作动画/手书/视频等作品的适配性和可能性?

【PPT学习笔记】使用PPT制作动画/手书等作品的可能性&#xff1f; 背景前摇&#xff1a;&#xff08;省流可不看&#xff09; 最近找到另外一份新的实习工作&#xff0c;有很多需要用到PPT动画的地方。 然而&#xff0c;我们之前制作的理工科PPT全是摒弃了形式主义的艰苦朴素…

STM32 HAL CAN通讯 实操

1、简介 相比于串口通讯,对于刚接触CAN通讯的小白来说,CAN通讯相对复杂,看各种视频、帖子理论,总是一知半解。本次通过傻瓜式操作,先实现CAN通讯的交互,以提高小白的信心,也便于自己复习观看。本次以STM32CubeMX进行初始化配置,通过Keil 5软件进行软件设计,通过CAN盒…

各种各样的正则表达式

一、校验数字的表达式 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9]*)$ 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$ 正…

uniapp整合windicss

官方文档&#xff1a;https://weapp-tw.icebreaker.top/docs/quick-start/frameworks/hbuilderx 安装&#xff1a; npm i -D tailwindcss postcss autoprefixer # 初始化 tailwind.config.js 文件 npx tailwindcss initnpm i -D weapp-tailwindcss# 假如 tailwindcss 在 weap…

Unity-OpenCV-Imgproc函数概览

OpenCV-Imgproc函数概览 函数名功能描述createLineSegmentDetector创建一个智能指针到 LineSegmentDetector 对象并初始化它。此算法用于检测图像中的线段。getGaussianKernel返回高斯滤波器的系数。这些系数用于平滑图像或进行高斯模糊。getDerivKernels返回计算图像空间导数的…

linux-性能优化命令

top 我们先来说说top命令用法&#xff0c;这个命令对于我们监控linux性能是至关重要的&#xff0c;我们先来看看展示结果。 top - 15:20:23 up 10 min, 2 users, load average: 0.39, 0.53, 0.35 Tasks: 217 total, 1 running, 216 sleeping, 0 stopped, 0 zombie %C…

如何实时更新module get到的cfg class句柄里面的值

接上篇csdn博客验证知识之在module里面get class里面的set参数-CSDN博客文章浏览阅读155次。验证知识之在module里面get class里面的set参数https://blog.csdn.net/pgl512228/article/details/141748039?spm1001.2014.3001.5501 我们是通过uvm_config_db去get到的class句柄&a…

Golang环境安装、配置详细

Windows下安装Go开发环境 点我下载 Windows配置Go环境变量 出现工具install失败时&#xff0c;切换其它代理 # 1. 七牛 CDN go env -w GOPROXYhttps://goproxy.cn,direct# 2. 阿里云 go env -w GOPROXYhttps://mirrors.aliyun.com/goproxy/,direct# 3. 官方 go env -w GOP…