C++ 面试题

preview
需积分: 0 17 下载量 174 浏览量 更新于2008-08-09 收藏 409KB PDF 举报
### C++面试题知识点解析 #### 一、STL类模板 - **知识点**:标准模板库(Standard Template Library, STL)是C++标准库的一部分,主要包括容器(Container)和算法(Algorithm)两大类。其中容器提供了如vector、list、map等数据结构;算法则提供了sort、search等操作容器的方法。 #### 二、为何定义虚析构函数 - **知识点**: - **背景**:当一个类作为基类,并且期望通过指向或引用基类的指针或引用来销毁派生类的对象时。 - **原因**:若基类的析构函数不是虚函数,则在删除派生类对象时,只会调用基类的析构函数,导致派生类的资源无法正确释放,从而引发内存泄漏。 - **解决方案**:声明基类的析构函数为虚函数,确保即使通过基类指针删除派生类对象也能正确调用派生类的析构函数。 #### 三、项目管理 - **知识点**: - **软件项目计划**: - **目的**:确保软件工程按计划进行。 - **内容**:估算工作量、定义任务、安排时间表等。 - **软件项目跟踪与控制**: - **目的**:监控项目进度,确保按计划执行。 - **内容**:比较实际进度与计划,必要时调整计划。 #### 四、单元测试 - **知识点**: - **目标**:通过编写测试用例验证模块功能,达到语句覆盖和路径覆盖。 - **方法**:使用驱动函数模拟调用被测函数,使用桩函数模拟被测函数调用的底层函数。 #### 五、VSS核心操作 - **知识点**:版本控制系统Visual SourceSafe (VSS)的核心操作包括: - **Checkin**:提交更改到服务器。 - **Checkout**:获取文件副本并锁定,防止其他用户编辑。 - **GetLatestVersion**:获取最新的文件版本。 #### 六、USE CASE图绘制 - **知识点**: - **内容**:通常需要绘制用例图、行为图、交互图及定义各个角色。 - **作用**:明确系统边界,描述用户与系统之间的交互。 #### 七、评审过程中的工作 - **知识点**:以文档评审为例,流程包括: - **创建评审电子流**:指定评审专家和负责人。 - **文档提交**:作者提交文档供评审。 - **评审意见**:专家提出改进意见。 - **修改与归档**:作者修改并重新提交文档,最终由秘书归档。 #### 八、提交配置管理前的准备工作 - **知识点**:确保文档经过QA及配置管理委员会的确认。对于源代码,还需确认相关文档(如需求、设计文档)已同步更新。 #### 九、概要设计文档问题处理 - **知识点**:遇到问题需遵循以下步骤: - **提交问题报告单**:描述问题并提出解决方案。 - **审核与修正**:软件经理审核后,修正设计方案和代码。 - **更新文档**:修正后更新相关文档并提交至配置库。 #### 十、工作计划制定 - **知识点**:依据项目总计划,项目经理需制定月度和周计划,分配具体任务给团队成员。 #### 十一、Rose的应用 - **知识点**:Rose是一种UML建模工具,在软件生命周期各阶段均有应用: - **需求分析**:辅助需求捕获与建模。 - **设计阶段**:支持概要设计和详细设计。 - **测试阶段**:帮助设计测试用例。 #### 十二、软件开发模式 - **知识点**:常见模式包括: - **面向对象**:强调封装、继承、多态。 - **面向过程**:注重模块化和过程分解。 - **特点**:不论何种模式,都体现了模块化的设计思想。 #### 十三、设计的主要目标 - **知识点**:逐步将需求转化为具体的程序逻辑。 #### 十四、设计的组成部分 - **知识点**:设计通常包括: - **概要设计**:系统架构和模块划分。 - **详细设计**:具体实现细节。 - **接口设计**:模块间的交互方式。 #### 十五、测试在设计阶段的作用 - **知识点**:设计阶段需确定集成测试计划和单元测试计划,为后续测试工作奠定基础。 #### 十六、合作项目与传统项目的区别 - **知识点**: - **合作项目**:需遵循合作方的开发流程。 - **传统项目**:遵循公司内部的标准流程。 #### 十七、项目启动时的计划制定 - **知识点**:依据交付日期、需求和团队能力来制定项目计划,并据此制定月度和周计划。 #### 十八、项目管理计划的分类 - **知识点**:项目管理计划大致分为: - **开发计划**:指导项目开发的具体步骤。 - **质量计划**:确保产品质量。 - **配置计划**:管理变更。 - **测试计划**:测试策略与安排。 #### 十九、计划制定参与者 - **知识点**:项目计划制定涉及的角色包括: - **项目经理**:负责整体规划。 - **开发经理**:关注技术实现。 - **质量经理**:确保质量达标。 - **配置经理**:管理变更。 #### 二十、月度计划的制定 - **知识点**:月度计划制定参与者包括: - **项目经理**:负责整合资源。 - **小组负责人**:根据小组任务制定具体计划。 - **质量经理**:确保质量目标达成。 - **配置经理**:管理变更过程。 - **制定时机**:通常在月末前3天启动新月度计划,以便提前准备。 #### 二十一、计划跟踪 - **知识点**:通过每周审查计划完成情况,及时调整计划以应对变化。 #### 二十二、CASE管理应用 - **知识点**:计算机辅助软件工程(CASE)工具在整个软件开发过程中发挥重要作用,例如在需求分析、设计和测试阶段提供支持。 #### 二十三、Java的缺陷 - **知识点**:Java的一个主要缺陷是代码运行效率相对较低,特别是在与C++这样的编译型语言对比时更为明显。 #### 二十四、CMMI的关键过程域 - **知识点**:CMMI模型中的关键过程域(KPA)包括: - **软件配置管理**:管理软件配置。 - **软件质量保证**:确保软件质量。 - **软件子合同管理**:管理外包项目。 - **软件项目跟踪与监督**:监控项目进度。 - **软件项目策划**:制定项目计划。 - **需求管理**:管理客户需求。 #### 二十五、需求管理中的QA工作 - **知识点**:质量保证(QA)在需求管理中的工作包括: - **建立共识**:确保所有相关方对需求有共同的理解。 - **维护协议**:维护分配给软件系统的系统需求文档。 - **协调沟通**:与客户或其他相关方保持良好的沟通,确保需求变更得到妥善处理。
zhouwenwei
  • 粉丝: 0
  • 资源: 20
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜

最新资源