「软件设计师」 2023年上半年上午真题解析

「软件设计师」 2023年上半年上午真题解析

提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性

关于互联网大厂的笔试面试,都是需要细心准备的
(1)自己的科研经历,科研内容,学习的相关领域知识,要熟悉熟透了
(2)自己的实习经历,做了什么内容,学习的领域知识,要熟悉熟透了
(3)除了科研,实习之外,平时自己关注的前沿知识,也不要落下,仔细了解,面试官很在乎你是否喜欢追进新科技,跟进创新概念和技术
(4)准备数据结构与算法,有笔试的大厂,第一关就是手撕代码做算法题
面试中,实际上,你准备数据结构与算法时以备不时之需,有足够的信心面对面试官可能问的算法题,很多情况下你的科研经历和实习经历足够跟面试官聊了,就不需要考你算法了。但很多大厂就会面试问你算法题,因此不论为了笔试面试,数据结构与算法必须熟悉熟透了
秋招提前批好多大厂不考笔试,直接面试,能否免笔试去面试,那就看你简历实力有多强了。
(5)考网警的大佬,务必把软考:中级软件设计师的内容学好学透,学广,学多


文章目录

「软件设计师」 2023年上半年上午真题解析

在这里插入图片描述

DMA控制器和cpu发出的数据地址是?

cpu
高速缓存cache
主存
外存

DMA是外部设备管理,IO设备啥的,打印机等,发出的地址是主存的物理地址哦。
在这里插入图片描述
DMA搞打印机肯定跟你外面的硬盘无关的
硬盘就是外存,懂吧

信息位n,则校验码的位数k为:

在这里插入图片描述
这里和纠错几位没关系
你带入这个公式,验证C正确即可

最主要是记住那个公式
2的k次幂,大于等于n+k+1

知道n就可以带入k验证了

中断向量提供的是服务程序的入口地址——年年考

在这里插入图片描述
在这里插入图片描述

定点数用补码表示,表示错误的是?

正数:原码、反码、补码一样
负数:原码、反码是符号位不变,数值位取反,补码在反码的基础上+1【符号位也要参与运算哦】

0的补码是唯一的,不管+0还是-0都一样

减法自然转加法

符号位是可以参与运算的,不管的,这样补码才能搞出正负号来

在这里插入图片描述
负数的补码很复杂,与真值之间根本看不错来的

在这里插入图片描述
一点都不直观
补码求补码就是原码:负数
在这里插入图片描述
在这里插入图片描述
+0
-0
原码
在这里插入图片描述
反码的话,正数不管
看负数
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
±0的补码都是一个东西,都是0 00000000

减法变加法很简单

+2=0 0000 0010,原反补
-3=1 0000 0011原码,1 1111 1100反码,1 1111 1101补码
然后2-3=2+(-3)通过补码加
在这里插入图片描述

补码求补码,就是原码
在这里插入图片描述
这个就是我们的计算机补码计算了
美滋滋

指令流水线、取指令,分析指令,执行指令,耗时

在这里插入图片描述

这里最重要的记住,指令最后一条n执行完需要5s
而前面n-1条,需要执行多久呢?看三种操作中最长的一段时间,比如最长的就是分析指令,需要2s
那么就按照上面的方法计算就行了

这个方法必考

OSI参考模型的,应用层的压缩,加密的层是,表示吧,相当于y=f(x),机器学习中就是表征咯

5层的话
应用层【会话层、表示层、应用层7层】
传输层
网络层
数据链路层
物理层
在这里插入图片描述
57都一样
反正OK
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下层为上层提供服务
美滋滋

在这里插入图片描述

服务器的证书被撤销?那你浏览网页的话,该网站证书已过期/失效,那这么说
有一个三角形中间感叹号!
在这里插入图片描述

你是否信任这个网站?
如果你信任,继续访问
你要是不信任,那就返回安全网页

这个一般是黄色网站,他们的网站就这样

然后我们看第一问:会话秘钥是必然的
不可能是对方,本方的,而是会话的

加密是对称的好像,但是要用证书的公钥加密会话秘钥,否则可能会被窃取。
在这里插入图片描述
然后我们解析证书
在这里插入图片描述
在这里插入图片描述

证书公钥加密
是对称加密的方法
在这里插入图片描述

最后就可以安全搞到数据了

所以答案就是:会话秘钥+对称加密的方法

入侵防御系统,不正确的是

在这里插入图片描述
分析用户的活动那个
看看有没有攻击并阻断它

但是不是联动入侵检测系统

web应用防火墙无法有效防护

在这里插入图片描述
流氓软件是软件,不是web
在这里插入图片描述

abc都是web应用

著作权中,保护期限有限制是作者死亡后的五十年内,之后不管了就。

在这里插入图片描述
记一下33比开
左边仨都是有限制的
右边仨都是没有限制

计算机软件知识产权是有版权的

在这里插入图片描述
version版权

软件著作权叙述,不正确得是

在这里插入图片描述
正版软件——商用的话,是要付钱的
而学习和研究,可以靠学校啥的这种去学习,不需要交钱

但是继承权?怎么说,你爹的技术,你有本事继承????
难吧

所有权利很骚

鲁迅写的书,你子女能改为自己的名字吗
李白的诗歌,当然不是他子女能继承的
在这里插入图片描述

数据流图,不正确的2013年考了原题

在这里插入图片描述
细节不用管哦

y和x之间的加工f是要说清楚的,就是函数代码啥的
在这里插入图片描述

在这里插入图片描述
判定改为决策即可,都是加工规格说明方法
在这里插入图片描述

好的软件设计原则,不正确的是

在这里插入图片描述
当然是不能集中了,一堆很麻烦,模块我们需要独立摊开,这样开发很容易,否则gg

高内聚,低耦合

提高抽象层次

软件项目活动图,顶点是里程碑,边是活动,则里程碑 关键路径上,关键路径长度为:

年年考
在这里插入图片描述
关键路径就是耗时最长的那条
瓶颈==关键
就这意思

8位成员开发,有多少条沟通路径,据说是n(n-1)/2

在这里插入图片描述

布尔表达式,当,,,时可以进行短路,相当于or有一边是true,那整体都是短路的

在这里插入图片描述
整体不管or后面的东西了

正规式,正规集,基本就是选择,你只要选10,不可能有连续的1出现

在这里插入图片描述
()*括号中可以出现0–N次
|是选左边或右边

函数传值不改变变量,传引用是改变变量的

在这里插入图片描述

位示图,计算位示图大小

在这里插入图片描述
位示图的意思就是一个2进制位,表示一个物理块的使用情况

我们先看512g的容量包含多少块?
上面求出来是2的17次方块,所以需要这么多位

计算机系统的字长是64位

故,用来除一下,就需要这么多字来表示咯

这个计算方法要熟悉。

磁盘调度,移臂调度,旋转调度

在这里插入图片描述

先来先服务
在这里插入图片描述
在这里插入图片描述
这种就会改变方向,移动臂膀
懂吧?

所以AD有可能对

我们看最短寻道时间
谁离我最近,我就移动臂膀过去
比如我在50的地方,则处理下面的就可能随时改变方向

在这里插入图片描述
因此呢D对了

A的话,单向扫描,自然就是单项,不会改变方向咯
在这里插入图片描述

我们看看电梯调度:
电梯是是先从上往下,再从小网上,中间的只能单向玩
所以C不对的
在这里插入图片描述

多线程的操作系统,进程P构建了T1,2,3线程,13,154,20年都考过

在这里插入图片描述
进程中的线程是共享的:代码段、全局变量、文件
不可以共享的是栈指针
在这里插入图片描述
C错误

给进程前趋图标记信号量

在这里插入图片描述

标记S1-S8规则就是出发之后,看数字,从小到大去标
12 13
则标记12先
之后是13

第二步,进程P的入箭头,需要加P操作,进程P之后的出箭头,需要加V操作
在这里插入图片描述
所以这种题,很简单的,非常简单
在这里插入图片描述
这不就很简单了吗
easy

搞懂2个步骤就好了。;

增量模型

需求分析,拆分位增量?

在这里插入图片描述
相当于最开始搞一个demo
继续玩增量技术,就像微信,最开始就是聊天,后来视频号,朋友圈,支付,等等

在这里插入图片描述
一开始就是开发核心功能,后来加新的功能
导致后面系统要是再加别的东西,系统并不容易。

每个版本都需要考虑到之前的功能
否则会损伤前面的东西

gg
在这里插入图片描述

敏捷开发方法,迭代的一个冲刺

在这里插入图片描述
ABD各自特点
在这里插入图片描述
在这里插入图片描述

模块间的耦合

在这里插入图片描述
数据:数值传递
标记:数据结构
公共:公共环境下

在这里插入图片描述
在这里插入图片描述

可移植性设计的原则

在这里插入图片描述
A平台中软件x
想移植到B平台中

可移植性,就是看依赖A的库的程度
太大顶不住啊
在这里插入图片描述

在这里插入图片描述
B你A的特定环境,你能玩,B玩个锤子

所以B错误

架构风格

在这里插入图片描述
在这里插入图片描述

D没说交互的吧

在这里插入图片描述
软件工程考过的

测试用例,mcCabe

闭合区域数量+1就是复杂度

在这里插入图片描述
覆盖所有路径的测试用例
那你就一个个走呗
设置几个分支玩

当测试用例4绕过来之后怎么思考?
在这里插入图片描述
用例4只会转自己的圈,它不会去N,因为你之前走的是Y
所以就是4个测试用例就行了

软件的维护,特性

改正,是发现错误,改正错误,不是改善

预防性,防止出错

适应性,环境改变,需要改变自己
在这里插入图片描述
改善,更加好,友好
2017年的原题
2023又考了
在这里插入图片描述

面向对象开发,成绩管理系统,学生的各种属性需要封装,不同的类呢,对象之间通过啥通信呢?消息

在这里插入图片描述
发消息给另一个对象
在这里插入图片描述

面向对象,测试,定义的每个方法属于是什么层?

在这里插入图片描述

在这里插入图片描述

面向对象,重用类,就要重用包中的所有类

在这里插入图片描述
封闭:产生影响
开放:扩展开,修改封闭
分离:抽象,非具体
在这里插入图片描述

UML序列图

在这里插入图片描述

序列就是时序
2次循环,自然是abab然后c

UML包图,不正确的是

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
一个元素只能被一个包拥有

不是多个哦

原型模式,创建型

在这里插入图片描述
在这里插入图片描述

旅游公司开发软件系统,根据季节,不同服务,模式,意图

在这里插入图片描述
不同条件,不同策略,需要不同的算法

Python获取对象的类型,type

在这里插入图片描述
type就是类型
object是返回一个对象
str转化为str

Python定义元组:tuple(),()

括号抱起来的就是元组
在这里插入图片描述

数组,列表是大括号[]

不加括号也是元组???????
在这里插入图片描述
在这里插入图片描述

Python的while后可以加else?????Python没有Switch语句…………

在这里插入图片描述
爆炸
没有Switch语句
gg

不是Java和c++
在这里插入图片描述
在这里插入图片描述
牛逼了

数据库应用系统开发,视图,逻辑,

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

关系模式R(U,F),U是属性,F是U上的一组函数

在这里插入图片描述
自己反过来?
在这里插入图片描述

关系模式

在这里插入图片描述
AD是没有被谁决定的,所以一定是关键字,同时出现
在这里插入图片描述

关键字做合并,得到ABCD,直接全部包含在U中,是主属性,不在U中是非主属性

sql语言插入函数:insert on

在这里插入图片描述
for all所有,public所有?
D是虚视图
C允许用户他授予给他人
在这里插入图片描述
在这里插入图片描述

栈,对算数表达式,求,则栈的初始容量为

在这里插入图片描述

哈夫曼编码,以下编码方案中不可能的是

在这里插入图片描述
造哈夫曼编码
A
在这里插入图片描述
B
在这里插入图片描述
C好像不对劲

在这里插入图片描述

C对的,10是对的

D不对
在这里插入图片描述

有向图的邻接表BFS复杂度o(n+e)

在这里插入图片描述
在这里插入图片描述
这种方阵,遍历需要n方

邻接矩阵的话,就是

二分查找

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
C显然不对啊,因为你找来找去,61你觉得小了,怎么可能是42

树构成的森林,节点n1,n2,n3.酱森林转换为二叉树,则二叉树的右子树包含介个节点??

在这里插入图片描述在这里插入图片描述
2当做1的右子树,然后把3当做2的右子树
懂?
在这里插入图片描述
就出来了

美滋滋

排序,复杂度o(nlogn),稳定排序,则,如果只需要在原数据上进行,空间复杂度为o(1),则用

10打排序算法
在这里插入图片描述
堆排序不需要空间,sum是有限的

快排好像也需要空间

kruskal算法生成最小生成树,策略是贪心算法,最小生成树的权值为

无环n-1条遍,且权值最小。
k算法是按最小的权值连各个区域,最后连在一起,贪心呗

在这里插入图片描述

www的控制协议

在这里插入图片描述
在这里插入图片描述

Linux系统中通常使用 作为web服务器,默认目录是

在这里插入图片描述
在这里插入图片描述
站点目录就是home
反正etc是配置
log是日志

这样就是home了

SNMP的传输协议是

在这里插入图片描述
TCP是可靠面向连接的协议
UDP是不可靠的非连接的协议

SNMP网络管理协议?指简单网络管理协议。不需要可靠连接

IP是Internet协议
ICMP控制消息协议【网络层】
在这里插入图片描述

网页无法打开,但是聊天软件OK

在这里插入图片描述

IP,网卡,链路都OK,因为软件聊天都OK

所以打开网页,需要解析域名,DNS干失败了,你就打不开网页咯
在这里插入图片描述


总结

提示:重要经验:

1)
2)
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

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

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

相关文章

【黑马程序员】Maven 进阶

文章目录 前言一、分模块开发与设计1. 分模块开发意义2. 分模块开发(模块拆分)2.1 创建 Maven 模块2.2 书写模块代码2.3 通过 Maven 指令安装模块到本地仓库(install 指令) 二、依赖管理1. 依赖传递1.1 依赖传递冲突问题 2. 可选依…

SAP-MM-批量扩充视图

MM50 可以通过这个程序批量维护或查看这个物料没有维护的视图,进行扩充。

Security ❀ UDP/TCP传输层常见DOS攻击详解

文章目录 1. UDP协议基础2. UDP Flood2.1. 攻击原理2.2. 防护方法 3. TCP三次握手和四次挥手3.1. 三次握手3.2. 四次挥手 4. SYN Flood4.1. 攻击原理4.2. 防护方法 5. SYN-ACK Flood5.1. 攻击原理5.2. 防护方法 6. ACK Flood6.1. 攻击原理6.2. 防护方法 7. FIN/RST Flood7.1. 攻…

YOLOv5算法改进(22)— 更换主干网络MobileNetv3 + 添加CA注意力机制

前言:Hello大家好,我是小哥谈。本节课就让我们结合论文来对YOLOv5进行组合改进(更换主干网络MobileNetv3 + 添加CA注意力机制),希望同学们学完本节课可以有所启迪,并且后期可以自行进行YOLOv5算法的改进!🌈 前期回顾: YOLOv5算法改进(1)— 如何去改进YOLOv5算法

MySQL进阶_5.逻辑架构和SQL执行流程

文章目录 第一节、逻辑架构剖析1.1、服务器处理客户端请求1.2、Connectors1.3、第1层:连接层1.4、第2层:服务层1.5、 第3层:引擎层1.6、 存储层1.7、小结 第二节、SQL执行流程2.1、查询缓存2.2、解析器2.3、优化器2.4、执行器 第三节、数据库…

2023年度总结

2023年度总结 我准备用两张图来总结我的2023年 第一张图是达克效应 邓宁-克鲁格效应指的是能力欠缺的人在自己欠考虑的决定的基础上得出错误结论,但是无法正确认识到自身的不足,辨别错误行为,是一种认知偏差现象。这些能力欠缺者们沉浸在自…

计算机毕设 基于大数据的抖音短视频数据分析与可视化 - python 大数据 可视化

文章目录 0 前言1 课题背景2 数据清洗3 数据可视化地区-用户观看时间分界线每周观看观看路径发布地点视频时长整体点赞、完播 4 进阶分析相关性分析留存率 5 深度分析客户价值判断 5 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,…

YOLO系列环境配置及训练

目录 前言 一、下载所需 1、Anaconda安装 2、NVIDIA 驱动程序安装 3、CUDA安装 4、CUDNN下载及配置 二、环境配置 1、虚拟环境创建 2、Pytorch安装 3、pycharm环境切换及剩余库的安装 4、YOLO代码的测试及训练配置步骤 (1)测试 &#xff08…

PubDef:使用公共模型防御迁移攻击

对抗性攻击对机器学习系统的可靠性和安全性构成了严重威胁。通过对输入进行微小的变动,攻击者就可以导致模型生成完全错误的输出。防御这种攻击是一个很活跃的研究领域,但大多数提议的防御措施都存在重大的缺点。 这篇来自加州大学伯克利分校研究人员的…

初始JVM虚拟机

JVM组成 图解 程序计数器 在JVM线程私有的内存区域中。每个线程都有自己独立的程序计数器。 程序计数器用于存储当前线程正在执行的字节码指令的地址。指示着当前线程执行到了哪一条字节码指令。 堆 是线程共享的区域,用于存储对象的实例和数组对象; …

青翼科技-国产化ARM系列TES720D-KIT

板卡概述 TES720D-KIT是专门针对我司TES720D(基于复旦微FMQL20S400的全国产化ARM核心板)的一套开发套件,它包含1个TES720D核心板,加上一个TES720D-EXT扩展底板。 FMQL20S400是复旦微电子研制的全可编程融合芯片,在单…

K8S知识点(三)

(1)环境搭建-环境初始化 Centos的版本是有要求的必须是7.5或以上,否则安装出来的集群是有问题的Node节点可能加入不到集群中来 详细步骤 1.同时连接三台服务器:查看一下版本 是否正确 2.主机名解析,方便节点之间的…

【ARMv8 SIMD和浮点指令编程】浮点加减乘除指令——四则运算

浮点指令有专门的加减乘除四则运算指令,比如 FADD、FSUB、FMUL、FDIV 等。 1 FADD (scalar) 浮点加法(标量)。该指令将两个源 SIMD&FP 寄存器的浮点值相加,并将结果写入目标 SIMD&FP 寄存器。 该指令可以产生浮点异常。根据 FPCR 中的设置,异常会导致在 FPSR 中…

Vue Vue3

1、创建VUE3工程 使用vue-cli创建: ## 查看vue/cli版本,确保vue/cli版本在4.5.0以上 vue --version ## 安装或者升级你的vue/cli npm install -g vue/cli ## 创建 vue create vue_test ## 启动 cd vue_test npm run serve 使用vite创建: …

ClickHouse 学习之从高级到监控以及备份(二)

第 一 部分 高级篇 第 1 章 Explain 查看执行计划 在 clickhouse 20.6 版本之前要查看 SQL 语句的执行计划需要设置日志级别为 trace 才能可以看到,并且只能真正执行 sql,在执行日志里面查看。在 20.6 版本引入了原生的执行计划的语法。在 20.6.3 版本成…

计算机网络第4章-IPv4

IPv4数据报格式 IPv4数据报格式如下图所示 其中,有如下的关键字段需要特别注意: 版本(号): 版本字段共4比特,规定了数据报的IP协议版本。通过查看版本号吗,路由器能确定如何解释IP数据报的剩…

深度学习之基于Tensorflow卷积神经网络花卉识别系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 深度学习是一种机器学习方法,它通过模拟人脑神经网络的结构和功能来实现对数据的自动分析和学习。卷积神…

libpthread.so.0: cannot open shared object file: No such file or directory

linux 系统下 /lib64/libpthread so 库文件千万不要修改,不然后果很严重,像我好奇把/lib64/libpthread-2.17.so 改成 libpthread-2.17.so.old,因为 libpthread.so 和 libpthread.so.0 都是软链接,最终链接到的是 libpthread-2.17…

Docker安装Minio(稳定版)

1、安装 docker pull minio/minio:RELEASE.2021-06-17T00-10-46Z docker run -p 9000:9000 minio/minio:RELEASE.2021-06-17T00-10-46Z server /data 2、访问测试 3、MinIO自定义Access和Secret密钥 要覆盖MinIO的自动生成的密钥,您可以将Access和Secret密钥设为…

win10下.net framework 3.5 | net framework 4 无法安装解决方案

.net缺失解决方案 win10 .net framework 3.5组策略设置方案一方案二 win10 .net framework 4 参考文章 win10 .net framework 3.5 组策略设置 方案一 搜索组策略,依次展开“计算机配置”、“管理模板”,然后选择“系统”,找到指定可选组件…