面试 - 软件工程体系

news2024/10/1 15:25:38

今天是我人生中的第二次面试,第一次面试到技术问题。

面试公司:无锡信捷电气股份有限公司

面试时间:2023 年 3 月 6 日  15:30

面试地点:西安工程大学(临潼校区)D-188

在技术面中,我表现的不是很好,没有回答出来面试官提出来的问题。我将此问题记录下来,以免再次踏入同一条河流。

1.  面试背景        

        我本科专业是通信工程,但对此专业兴趣不大。我很喜欢计算机方向,打算在计算机领域深耕下去,一直在自学计算机领域相关课程。求职岗位是软件开发工程师。就是在这样的一个背景下,我和面试官展开了深入其友好的交流。

2.  面试问题

你有软件工程相对应的知识体系吗?

        面试官知道我是自学的计算机领域相关课程,就问了我这样的一个问题。对于科班的同学来说,这个问题很智障;但对于自学计算机相关课程的我来说,这个问题很难。我没有经历过学校科班的培养体系和培养方案,知识体系就会有漏洞。

        当时确实把我问住了,我不知道要怎么回答这个问题了,总不能对面试官说不会吧。幸好我研读过机械工业出版社出版的《计算机科学导论》,其书第 10 章介绍的就是软件工程,所以我就对其还有一点点的印象,然后就对面试官说了我当时脑子里跳出的唯一的一个概念:瀑布模型。噗呲,哈哈哈。面试官大概率猜到我不会,当我说了瀑布模型这个技术名词时,他当时的表情很惊讶。

3.  面试问题详解

        面试完之后,我及时学习和了解 软件工程 相对应的知识体系,然后将其知识体系在这里进行总结。我觉得这样的进步是最快的,用结果倒逼输入。 

图1  软件工程体系 

3.1   软件生命周期 

        从事物的发展规律来看,任何事物都会消亡和过时,我们软件亦是如此,所以软件也就有了它自己的生命周期。软件和其他产品一样,周期性地重复着一些阶段,然后走向消亡。

图2  软件生命周期 

        软件最初由开发者小组开发。软件开发完成后,开始投入使用。在使用过程中 软件可能会出错软件设计规则被改变公司本身发生变化以及用户的使用反馈,这些都导致需要经常修改软件。 

        软件" 过时 " 意味着因其 效率低下语言过时用户需求的重大变化 或 竞争激烈 而导致软件失去它的有效性。

3.2   开发过程模型  

        在软件开发过程中有两种开发模型,一种是 瀑布模型,另外一种是 增量模型

3.2.1   瀑布模型

        瀑布模型顾名思义就是软件的开发过程就像从上而下的瀑布一样,没有间断,一次开发到位。也就是说开发过程只有一个方向流动,这意味着前一个阶段不结束,后一个阶段不能开始。

 图3:瀑布模型 

优点:

在下一个阶段开始前每个阶段已经完成

        例如,在 设计阶段 的小组能准确地知道他们要做什么,因为他们有 分析阶段 的完整结果。测试阶段 能测试整个系统,因为整个系统已经完成。

缺点: 

如果过程的一部分有问题,必须检查整个过程

3.2.2   增量模型 

        在使用增量模型开发时,开发者首先完成整个系统的一个 简化版本,这个版本表示了 整个系统,但 不包括具体细节

 

图4:增量模型 

优点:

在软件开发的后续版本中,更多的细节被加入,然后再次测试系统。如果这时有问题,开发者知道问题出于新功能。直到现有的系统工作正确后,他们才增加新的功能。这样的过程一直持续下去,直到要求的功能全部被加入

缺点: 

 每当添加新功能时,软件开发的四个阶段需要在重新来一次

4.  总结 

        通过面试来查缺补漏,倒逼技术输入,所以就不停的参加面试,不停的积累总结,不断的完善自己的知识体系。这期的分享总结就到这里了,如果有疑问的小伙伴,我们评论区交流嗷~,笔者必回,我们下期再见啦 !!

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

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

相关文章

外骨骼机器人(五):步态分析之正常步态

研究病理步态之前,需要了解正常步态,作为判断标准。但是需要记住两个问题:1.“正常”因人而异,性别、年龄、身体情况都需要考虑在内,因此,需要对不同的个体选择合适的正常标准;2.即使病人的步态与正常步态有某种不同,这也不能说明这是不可取的,也不能说明应该把它变成…

计算机网络【王道】

文章目录第一章 计算机网络体系结构计算机网络概述计算机网络的概念计算机网络的组成计算机网络的功能计算机网络的分类计算机网络的性能指标计算机网络体系结构与参考模型计算机网络分层结构计算机网络协议、接口、服务的概念ISO/OSI 参考模型和 TCP/IP模型第二章物理层基本概…

Codeforces Round 855 (Div. 3) A-E2

比赛链接:Dashboard - Codeforces Round 855 (Div. 3) - Codeforces A:模拟 题意:给定一个字符串,问这个字符串是不是猫叫。定义是猫叫得字符串: 1:必须由大写或小写得M(m),E&…

【大数据是什么】

大数据是什么大数据是做什么的?大数据主要有哪些职位 ?大数据运维工程师数据仓库开发工程师ETL工程师大数据开发工程师BI工程师算法工程师大数据平台开发工程师大数据架构师讲述一下自己的大数据学习之路大数据是做什么的? 2014年&#xff0c…

Pytorch语义分割网络的详细训练过程——以NYUv2数据集为例

目录一、构建数据集1. 对Dataset和DataLoader的理解2. torch.utils.data.Dataset3. torch.utils.data.DataLoader4. 代码分块解析5. 完整代码6. 可视化二、模型搭建三、定义损失函数和优化器四、迭代训练参考文章一、构建数据集 1. 对Dataset和DataLoader的理解 Pytorch提供了…

[ROC-RK3568-PC] [Firefly-Android] 10min带你了解RTC的使用

🍇 博主主页: 【Systemcall小酒屋】🍇 博主追寻:热衷于用简单的案例讲述复杂的技术,“假传万卷书,真传一案例”,这是林群院士说过的一句话,另外“成就是最好的老师”,技术…

c++11 标准模板(STL)(std::unordered_map)(六)

定义于头文件 <unordered_map> template< class Key, class T, class Hash std::hash<Key>, class KeyEqual std::equal_to<Key>, class Allocator std::allocator< std::pair<const Key, T> > > class unordered…

【Transformers】IMDB 分类

安装 transformers 库。 !pip install transformersimport numpy as np import pandas as pd import tensorflow as tf import tensorflow_datasets as tfdsfrom transformers import BertTokenizer from sklearn.model_selection import train_test_split from transformers i…

IO学习、拓展贴

1. 字节流 1.1 FileInputStream import org.junit.jupiter.api.Test;import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException;/*** 演示FileInputStream的使用(字节输入流 文件--> 程序)*/ public class FileInputStream_ {pu…

10款最佳项目管理工具推荐,总有一款适合你

为什么需要项目管理工具&#xff1f; 如今企业规模不断扩大&#xff0c;业务逐渐复杂化&#xff0c;项目管理已经成为现代企业管理中不可或缺的一环&#xff1b; 如果没有合适的项目管理工具&#xff0c;我们的项目管理和跟踪就会变得非常困难。这可能导致项目延期或者出现一…

免费Api接口汇总(亲测可用,可写项目)

免费Api接口汇总&#xff08;亲测可用&#xff09;1. 聚合数据2. 用友API3. 天行数据4. Free Api5. 购物商城6. 网易云音乐API7. 疫情API8. 免费Api合集1. 聚合数据 https://www.juhe.cn/ 2. 用友API http://iwenwiki.com/wapicovid19/ 3. 天行数据 https://www.tianapi.com…

RK356x U-Boot研究所(命令篇)3.9 scsi命令的用法

平台U-Boot 版本Linux SDK 版本RK356x2017.09v1.2.3文章目录 一、设备树与config配置二、scsi命令的定义三、scsi命令的用法3.1 scsi总线扫描3.2 scsi设备读写一、设备树与config配置 RK3568支持SATA接口,例如ROC-RK3568-PC: 原理图如下: 可以新建一个rk3568-sata.config配…

Oracle listagg,wm_concat函数行转列结果去重Oracle 11g/19c版本

1、准备数据表 2、根据学生名(stu_name)分组&#xff0c;学生名相同的&#xff0c;学生年龄(stu_age)用逗号拼接&#xff0c;使用 listagg&#xff08;&#xff09;函数法拼接 3、上图中出现了两个12,12&#xff0c;实现去重 3.1 listagg&#xff08;&#xff09; 函数 去重 【…

网络协议(十一):单向散列函数、对称加密、非对称加密、混合密码系统、数字签名、证书

网络协议系列文章 网络协议(一)&#xff1a;基本概念、计算机之间的连接方式 网络协议(二)&#xff1a;MAC地址、IP地址、子网掩码、子网和超网 网络协议(三)&#xff1a;路由器原理及数据包传输过程 网络协议(四)&#xff1a;网络分类、ISP、上网方式、公网私网、NAT 网络…

怎么把tif格式转成jpg?快速无损转换

怎么把tif格式转成jpg&#xff1f;在编辑使用图片的时候&#xff0c;弄清各种图片格式的特点是很重要的&#xff0c;因为图片总因自身格式具备的特点不同常常出现打不开的情况&#xff0c;或者占的体积大&#xff0c;这都会直接影响我们的使用。所以目前很多的图片格式都需要提…

spring boot整合RabbitMQ

文章目录 目录 文章目录 前言 一、环境准备 二、使用步骤 2.1 RabbitMQ高级特性 2.1.1 消息的可靠性传递 2.1.2 Consumer Ack 2.2.3 TTL 2.2.4 死信队列 总结 前言 一、环境准备 引入依赖生产者和消费都引入这个依赖 <dependency><groupId>org.springframework…

自动化测试总结--断言

采购对账测试业务流程中&#xff0c;其中一个测试步骤总是失败&#xff0c;原因是用例中参数写错及断言不明确 一、问题现象&#xff1a; 采购对账主流程中&#xff0c;其中一个步骤失败了&#xff0c;会导致这个套件一直失败 图&#xff08;1&#xff09;测试报告视图中&…

Navicate远程连接Linux上docker安装的MySQL容器

Navicate远程连接Linux上docker安装的MySQL容器失败 来自&#xff1a;https://bluebeastmight.github.io/ 问题描述&#xff1a;windows端的navicat远程连接不上Linux上docker安装的mysql&#xff08;5.7版本&#xff09;容器&#xff0c;错误代码10060 标注&#xff1a; 1、…

XSS攻击防御

XSS攻击防御XSS Filter过滤方法输入验证数据净化输出编码过滤方法Web安全编码规范XSS Filter XSS Filter的作用是通过正则的方式对用户&#xff08;客户端&#xff09;请求的参数做脚本的过滤&#xff0c;从而达到防范XSS攻击的效果。 XSS Filter作为防御跨站攻击的主要手段之…