软工面试问题1.什么是软件工程目标与内容内容开发技术管理2.软件开发过程模型有哪些哪些适合面向对象3.什么是结构化分析使用什么工具 是一种需求分析方法自上而下由概括到详细数据流图数据字典4.什么是概要设计基本任务 软件设计设计体系结构数据结构数据库文档5.软件维护有哪些内容完善性维护增加软件功能性能效率预防性维护提高可靠性6.软件测试的步骤与开发阶段的关系单元集成系统确认7.什么是软件生存周期有哪些活动提出开发要求到报废可行性分析需求分析概要设计详细设计开发维护8.衡量模块独立性的两个标准含义内聚耦合内聚是模块内部相互关联成都耦合是模块之间相互关联程度。9.什么是需求分析基本任务理解需要调查分析转换为完整需求定义转换成需求规格说明10.什么是事务流什么是变换流数据流图分为。。。和。。事务流分离成发散的数据流要选择执行11.单元测试有哪些内容抹布种错边12.软件设计的基本原理抽象信息隐蔽模块化独立性13.结构化程序设计的基本要点自上而下三种基本控制结构组成程序主程序员组的程序设计14.详细设计的描述方法图形表格语言15.什么是软件配置管理什么是基线在软件开发过程中对代码、文档等所有“配置项”的变化进行记录、管理和控制的一套方法和工具。基线就是一组经过正式评审和批准的软件配置项代码、文档等它们被放入配置管理系统作为后续开发工作的正式基础。16.文档在软件工程中的作用确保信息的准确传递和知识的持续积累保证开发者和客户间需求一致并且为后续工作打基础。17.软件工程三要素的关系流程基础是框架方法核心定义了框架内的完整内容工具支撑。18.面向对象的特征对象唯一性多态性继承性分类性19.什么是变换分析设计步骤确定变换中心设计顶层结构自上而下设计中下层结构设计优化变换分析是一种从数据流图导出软件结构的系统化方法通过识别数据流图中的变换流将系统划分为输入、变换处理、输出三个部分。20.可行性研究的步骤检查项目目标和规模研究现有系统导出新系统提出解决方案正式施行。21.黑盒测试与白盒测试的区别黑盒测试的方法不看内部结构只看功能边界值等价类因果图22.什么是数据字典与数据流图的关系数据字典是关于数据信息的集合对数据流图起补充作用。两者共同构成系统的规格说明不能分离。23.三种面向对象模型的主要功能对象模型功能模型动态模型。对象模型定义系统的静态结构。描述系统中的对象、类以及它们之间的关系如继承、关联是其他两个模型的基础。动态模型描述系统的交互行为。刻画对象随时间的变化和消息传递重点关注系统与外部交互的时序和状态转换。功能模型描述系统的数据转换过程。关注系统内部数据的流动与处理即输入如何通过计算产生输出。24.详细设计的基本任务算法设计数据结构设计数据库设计编写说明文档25.什么是软件危机原因计算机软件的开发和维护过程中所遇到的一系列严重问题。简单来说就是“如何开发软件”的速度和质量跟不上“社会对软件需求”的增长速度。原因软件规模越来越大管理困难技术落后开发工具落后26.测试与调试的区别测试找到错误。调试找到并修改错误。27.CMM全称是什么?分为哪几个级别软件能力成熟度模型初始级可重复级已定义级已管理级别优化级。出可已已优)2023笔试真题1一个字符串过滤掉除字母、数字、、-、*、/、空格以外的所有符号。36· 统计过滤后的字符串中由空格分隔的单词个数。· 连续多个空格只算一个间隔开头和结尾空格不计入单词。· 实现先过滤字符串再统计单词个数的完整程序。· 编写一个可直接运行的 C 语言程序综合完成上述所有功能。2.固定格式输入很多组年月日年份是两位数视为在 100 年内然后输出其中最早的一组日期。353. 输入一个 double分别输出它的正负号整数小数部分154.一个二维数组找出最大值 最小值355.一维数组找最大值40共得分161简述指针在函数中的应用和特点指针内存储元素的位置指针可以作为函数的形式参数返回类型局部变量等。特点指针可以帮助节省空间可以避免拷贝大数据例如数组类型的参数可以只将指向数组首元素的指针传入。函数内的指针变量只有在函数被调用时才会申请占用空间而在执行完后就被释放。此外指针也可以返回静态变量、全局变量或字符串常量的地址这些内容在函数结束后仍然有效。char* get_message() { return Hello World!; // ✅ 安全 } char* get_message() { char arr[] Hello World!; // 局部数组在栈上 return arr; // ❌ 返回局部数组的地址 } // 函数结束arr 被销毁2.简述什么是数据类型和存储类型并且列出存储类型有哪几种以及它们的生成时机、初始化、作用域。数据类型存储类型auto,extern,static,registerauto和register在进入代码时才开始生成不进行初始化。static和extern在启动程序时生成初始值设为0。auto作用在代码块内 register 作用在代码块内static作用在本文件内extern作用在多文件3.编程比较两个文件输出不同的地方的行号和位置。void compare(char* s1, char* s2, int line) { int i 0; while (s1[i] ! \0 s2[i] ! \0) { if (s1[i] ! s2[i]) { printf(第%d行第%d列不同\n, line, i 1); return; } i; } if (s1[i] ! \0 || s2[i] ! \0) { printf(第%d行第%d列长度不同\n, line, i 1); } } int main() { char line1[1000], line2[1000]; int line_num 0; int i, j; FILE* f1 fopen(file1.txt, r); FILE* f2 fopen(file2.txt, r); if (f1 NULL || f2 NULL) { printf(错误文件打开失败请检查文件名/路径\n); return 1; } while (fgets(line1, 1000, f1) ! NULL fgets(line2, 1000, f2) ! NULL) { // 去掉换行符 for (i 0; line1[i] ! \0; i) { if (line1[i] \n) { line1[i] \0; break; } } for (j 0; line2[j] ! \0; j) { if (line2[j] \n) { line2[j] \0; break; } } if (strcmp(line1, line2) ! 0) { compare(line1, line2, line_num); } line_num; } fclose(f1); fclose(f2); return 0; }文件操作返回值表示是否成功用参数返回结果int Fun(int a,int b,int*ret){ if(b0) return -1; else{ *reta/b; #可以将值返回回去 return 0; } }打开 fopenFILE* fp fopen(test.txt, w);关闭 fclosefclose(fp);fgetsfgets(字符数组, 最多读多少个, 文件指针);
倒数第四天
软工面试问题1.什么是软件工程目标与内容内容开发技术管理2.软件开发过程模型有哪些哪些适合面向对象3.什么是结构化分析使用什么工具 是一种需求分析方法自上而下由概括到详细数据流图数据字典4.什么是概要设计基本任务 软件设计设计体系结构数据结构数据库文档5.软件维护有哪些内容完善性维护增加软件功能性能效率预防性维护提高可靠性6.软件测试的步骤与开发阶段的关系单元集成系统确认7.什么是软件生存周期有哪些活动提出开发要求到报废可行性分析需求分析概要设计详细设计开发维护8.衡量模块独立性的两个标准含义内聚耦合内聚是模块内部相互关联成都耦合是模块之间相互关联程度。9.什么是需求分析基本任务理解需要调查分析转换为完整需求定义转换成需求规格说明10.什么是事务流什么是变换流数据流图分为。。。和。。事务流分离成发散的数据流要选择执行11.单元测试有哪些内容抹布种错边12.软件设计的基本原理抽象信息隐蔽模块化独立性13.结构化程序设计的基本要点自上而下三种基本控制结构组成程序主程序员组的程序设计14.详细设计的描述方法图形表格语言15.什么是软件配置管理什么是基线在软件开发过程中对代码、文档等所有“配置项”的变化进行记录、管理和控制的一套方法和工具。基线就是一组经过正式评审和批准的软件配置项代码、文档等它们被放入配置管理系统作为后续开发工作的正式基础。16.文档在软件工程中的作用确保信息的准确传递和知识的持续积累保证开发者和客户间需求一致并且为后续工作打基础。17.软件工程三要素的关系流程基础是框架方法核心定义了框架内的完整内容工具支撑。18.面向对象的特征对象唯一性多态性继承性分类性19.什么是变换分析设计步骤确定变换中心设计顶层结构自上而下设计中下层结构设计优化变换分析是一种从数据流图导出软件结构的系统化方法通过识别数据流图中的变换流将系统划分为输入、变换处理、输出三个部分。20.可行性研究的步骤检查项目目标和规模研究现有系统导出新系统提出解决方案正式施行。21.黑盒测试与白盒测试的区别黑盒测试的方法不看内部结构只看功能边界值等价类因果图22.什么是数据字典与数据流图的关系数据字典是关于数据信息的集合对数据流图起补充作用。两者共同构成系统的规格说明不能分离。23.三种面向对象模型的主要功能对象模型功能模型动态模型。对象模型定义系统的静态结构。描述系统中的对象、类以及它们之间的关系如继承、关联是其他两个模型的基础。动态模型描述系统的交互行为。刻画对象随时间的变化和消息传递重点关注系统与外部交互的时序和状态转换。功能模型描述系统的数据转换过程。关注系统内部数据的流动与处理即输入如何通过计算产生输出。24.详细设计的基本任务算法设计数据结构设计数据库设计编写说明文档25.什么是软件危机原因计算机软件的开发和维护过程中所遇到的一系列严重问题。简单来说就是“如何开发软件”的速度和质量跟不上“社会对软件需求”的增长速度。原因软件规模越来越大管理困难技术落后开发工具落后26.测试与调试的区别测试找到错误。调试找到并修改错误。27.CMM全称是什么?分为哪几个级别软件能力成熟度模型初始级可重复级已定义级已管理级别优化级。出可已已优)2023笔试真题1一个字符串过滤掉除字母、数字、、-、*、/、空格以外的所有符号。36· 统计过滤后的字符串中由空格分隔的单词个数。· 连续多个空格只算一个间隔开头和结尾空格不计入单词。· 实现先过滤字符串再统计单词个数的完整程序。· 编写一个可直接运行的 C 语言程序综合完成上述所有功能。2.固定格式输入很多组年月日年份是两位数视为在 100 年内然后输出其中最早的一组日期。353. 输入一个 double分别输出它的正负号整数小数部分154.一个二维数组找出最大值 最小值355.一维数组找最大值40共得分161简述指针在函数中的应用和特点指针内存储元素的位置指针可以作为函数的形式参数返回类型局部变量等。特点指针可以帮助节省空间可以避免拷贝大数据例如数组类型的参数可以只将指向数组首元素的指针传入。函数内的指针变量只有在函数被调用时才会申请占用空间而在执行完后就被释放。此外指针也可以返回静态变量、全局变量或字符串常量的地址这些内容在函数结束后仍然有效。char* get_message() { return Hello World!; // ✅ 安全 } char* get_message() { char arr[] Hello World!; // 局部数组在栈上 return arr; // ❌ 返回局部数组的地址 } // 函数结束arr 被销毁2.简述什么是数据类型和存储类型并且列出存储类型有哪几种以及它们的生成时机、初始化、作用域。数据类型存储类型auto,extern,static,registerauto和register在进入代码时才开始生成不进行初始化。static和extern在启动程序时生成初始值设为0。auto作用在代码块内 register 作用在代码块内static作用在本文件内extern作用在多文件3.编程比较两个文件输出不同的地方的行号和位置。void compare(char* s1, char* s2, int line) { int i 0; while (s1[i] ! \0 s2[i] ! \0) { if (s1[i] ! s2[i]) { printf(第%d行第%d列不同\n, line, i 1); return; } i; } if (s1[i] ! \0 || s2[i] ! \0) { printf(第%d行第%d列长度不同\n, line, i 1); } } int main() { char line1[1000], line2[1000]; int line_num 0; int i, j; FILE* f1 fopen(file1.txt, r); FILE* f2 fopen(file2.txt, r); if (f1 NULL || f2 NULL) { printf(错误文件打开失败请检查文件名/路径\n); return 1; } while (fgets(line1, 1000, f1) ! NULL fgets(line2, 1000, f2) ! NULL) { // 去掉换行符 for (i 0; line1[i] ! \0; i) { if (line1[i] \n) { line1[i] \0; break; } } for (j 0; line2[j] ! \0; j) { if (line2[j] \n) { line2[j] \0; break; } } if (strcmp(line1, line2) ! 0) { compare(line1, line2, line_num); } line_num; } fclose(f1); fclose(f2); return 0; }文件操作返回值表示是否成功用参数返回结果int Fun(int a,int b,int*ret){ if(b0) return -1; else{ *reta/b; #可以将值返回回去 return 0; } }打开 fopenFILE* fp fopen(test.txt, w);关闭 fclosefclose(fp);fgetsfgets(字符数组, 最多读多少个, 文件指针);