2022年配置工程师面试题 .pdf
《2022年配置工程师面试题 .pdf》由会员分享,可在线阅读,更多相关《2022年配置工程师面试题 .pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 你为什么要申请配置管理工程师这个职位我们公司已经通过了CMMI3 ,我在现在的公司就是做配置管理工程师的,我熟悉配置管理,并喜爱这份工作,希望能继续从事该工作。2 你觉得自己能否胜任这个职位能胜任, 我们公司已经通过了CMMI3 ,并且日常工作都是按照CMMI3 的流程规范进行的,并不是为了过级而过级,是切实为了保证软件质量才过级的。我做配置管理已经有一段时间了,不仅现有工作能够完全胜任,还非常乐于学习,如果贵公司的该职位有什么知识是我掌握的不够好的,我能在短时间内满足工作要求。3 你觉得配置管理工程师需要掌握哪些技能配置管理工具的使用,构建脚本的编写,对工件的理解, 了解软件工程, 配置
2、管理相关知识,配置管理的工作方法。需要掌握的技能专业技能如程序设计, 配置管理 , 变更控制 (版本风险控制), 发布管理 , 持续集成 , 配置项 (包括很多 , 如文档 , 源码等 )规范等 ; 其它技能团队合作能力, 与人沟通能力 , 配置管理威信等. 4 配置管理工程师的职责有哪些职责包括保证工作产品的一致性、完整性、可追溯性,管理配置项,维护配置库,变更控制,发布管理。5 配置管理能给项目带来的好处有哪些因为配置管理保证了配置项的完整和可追溯,使团队成员可以拿到所需工件的所需版本,不会因为某个人的习惯问题,导致配置项缺失(比如东西在某人本机保存,人离职了,东西就找不到了);变更控制使
3、团队每个人都了解到谁改变了哪些东西,保证了所有团队成员的信息对称;(比如需求已变化,但测试人员不知道,还按照老需求来测试,结果当然是不符合)配置管理给项目带来的最大的好处:规范化的配置项管理可以使整个团队随时拿到需要的东西(包括备份,文件历史等);对变更的控制可以对整个配置库(特别是对开发项目)的发展,对产品的变更随时了解;有了配置管理的支持,更大的提高公司员工的工作效率,把公司从一个手工的,有点混乱的项目管理过程中解放出来,实现更完美的规范化。6 作为一个配置管理工程师,哪些方面是工作的重点可能的难点会有哪些工作重点: 当然是对配置项的规范化的这样一个过程,包括对配置管理工具的使用,对配置项
4、的修改控制,对配置项的随时备份等。难点:如果一个公司以前没有配置管理这样一个名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 - - - - - - - - - 理念的话,最大的难处就是使公司内部人员熟悉并遵循配置管理这样一套理念啦。7 什么是基线什么是label tag branch 他们之间有什么联系和区别. 基线是一组被正式评审通过并经CCB 同意发布的工作产品集合,它作为下游开展工作的基础,已基线工作产品的变更必须受控。结合我们公司的情况,如果使用的是vs
5、s 配置库,在里程碑处会建立基线,建立的同时,会为此基线打个label,相当于给这一系列的配置项集合贴了个标签,表示此集合都是xxxx1.0设计基线的成员;另外就是自动构建的时候会给参与构建的所有文件都打label,告诉此版本的文件参与了自动构建,将来有需要可以get 到整个 label;在 svn 的使用中,会用到tag 和 branch,tag 是里程碑处的一个copy; tag 是用来做一个milestone 的,不管是不是release,都是一个可用的版本。这里,应该是只读的。更多的是一个显示用的,给人一个可读(readable)的标记。branch,是用来做并行开发的,这里的并行是指
6、和trunk 进行比较。branches:分枝当多个人合作,可能有这样的情况出现:John 突然有个想法,跟原先的设计不太一致,可能是功能的添加或者日志格式的改进等等,总而言之,这个想法可能需要花一段时间来完成,而这个过程中,John 的一些操作可能会影响Sally 的工作, John 从现有的状态单独出一个 project 的话,又不能及时得到Sally 对已有代码做的修正,而且独立出来的话,John 的尝试成功时,跟原来的合并也存在困难。这时最好的实践方法是使用branches。 John 建立一个自己的branch,然后在里面实验,必要的时候从Sally 的 trunk 里取得更新,或者
7、将自己的阶段成果汇集到trunk 中。branch 是版本树演进的一个分支,为了不影响主枝,可以作为个人的工作位置,或者某定制开发的位置,如果将来有必要将该定制合并到主枝,可以使用配置库提供的合并功能。e406532053.htm 需求一:有一个客户想对产品做定制,但是我们并不想修改原有的svn 中 trunk 的代码。方法:用 svn 建立一个新的branches,从这个branche做为一个新的起点来开发svn copy svnservertrunk svnserverbranchesep -m init ep Tip 如果你的svn 中以前没有branches这个的目录,只有trunk
8、这个,你可以用svn mkdir branches 新建个目录需求二:产品开发已经基本完成,并且通过很严格的测试,这时候我们就想发布给客户使用,发布我们的 1.0 版本svn copy svnservertrunk svnservertagsrelease-1.0 -m 1.0 released 咦,这个和branches 有什么区别,好像啥区别也没有?是的, branches和 tags是一样的,都是目录,只是我们不会对这个release-1.0的 tag 做修改了,不再提交了,如果提交那么就是branches 需求三:有一天,突然在trunk 下的 core 中发现一个致命的bug,那么所
9、有的branches一定也一样了,该怎么办?svn -r 148149 merge svnservertrunk branchesep 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 12 页 - - - - - - - - - 其中 148 和 149 是两次修改的版本号。8 一个构建 (build) 发布的过程是什么(请描述一下典型的发布一个build 的流程 ) 构建 -提交测试 -修改代码 -构建 -提交测试直至测试通过-配置审计 -建立基线 -走审批流程 -发布
10、9release notes都应该包括哪些内容一般是版本控制(臂如 vss,cvs等)的说明文档, 臂如标签, 修改说明等。 这个格式可以自己定义,没有大标准。项目简介、发布背景、运行测试环境、与已有版本相比的新功能特性、升级方法、已知错误和局限性、已测试的性能、工件发布列表10 广义上的Change Request(CR)都包括哪些内容项目名称、变更原因、变更分析(影响程度、紧急程度、影响因素范围工作量进度成本资源质量)、申请变更的内容 (是配置项变更还是基线变更)、受到影响的配置项,变更配置项的具体执行人11 你一天的多长时间用来做build 你一天的时间安排是个什么样子的写好构建脚本后,
11、之后系统每天自动执行自动构建。12 简述在一个项目周期中,配置管理工程师(CM) 的主要活动 (工作 )有哪些以项目计划为输入,做项目的配置管理计划,计划包含采用何种配置管理工具、备份策略、目录的设置、权限如何分配、配置项的受控计划、基线的建立计划、审计计划;按照配置管理计划建立配置管理库,维护配置管理库、分配配置库权限,管理配置项(受控工件、建立基线) ;进行配置审计;项目的变更控制;打部署包提交测试,进行版本发布。维护项目的配置管理工作表,按月整理事业部配置管理月报。大家回答的时候可以从前往后叙述,这样也不容易忘记,还显得有条理 . 13 请描述一下你使用过的配置管理工具?VSS,svn;
12、vss 采用的是锁定-修改 -解锁的方式,对于多人的协同开发存在一定弊端,系统无法自动检测来自他人的修改,只能在局域网使用。svn 采用的是复制-修改 -合并的策略,可以检测到他人的修改,有较好的合并功能,还可以在外网使用,对于规模不太大的团队已经够用了,在windows 的环境下使用非常的方便,并且可以集成到eclipse 中直接进行操作,现阶段非常适合我们公司的开发环境。14 在安装配置方面有什么需要注意的?他的扩展功能有哪些?如何实现?公司采用的是apache+svn的使用方式, windows 下的安装是比较容易的,linux 的话,就要注意先安装apr apr-util berkel
13、ey db 这些26 除了你使用过的软件配置管理工具,还了解哪些工具?请说出这些工具的区别。git 分布式开发用非常好,权限控制薄弱,对windows 的支持不好,需要在linux 下使用 .相比 svn,git 代码库体积小 (能小50% 多,如果svn 里分支用本地文件拷贝+ svn add,那么 git 在体积上更占优势),git 工具速度很快,对合并支持非常好,探测文件重命名的做法很独特, git-svn 很好用,分支很轻量级. 如果不怎么理Windows 平台,代码很庞大,对合名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
14、 - 名师精心整理 - - - - - - - 第 3 页,共 12 页 - - - - - - - - - 并要求很高,不惮理解git 的原理以及看手册,那么git 是很好的选择。cvs:文本下载是差异的,上传是全量,不是原子性提交,如果上传过程遇到网络中断,可能会上传一部分文件,导致版本出现问题,目录未纳入版本控制,不能重命名,对于二进制的文件是采用独立的冗余的存储,建议使用svn clearcase :没有具体使用过,看资料都说安装配置使用比较复杂。svn 项目不大,对权限控制很看重,应选择SVN 15 请问你是否亲手装过windows 操作系统?是否使用过windows 2003 se
15、rver ?格式化硬盘该怎么样去做?安装使用过。我的电脑-管理里面进行操作16 请问你是否装过linux 或者 unix 操作系统?请分别说出你所知道的linux 和 unix 发行版本自己装过redhat linux 5.2 企业版linuxUbuntu (乌班图),Fedora,OpenSUSE,Debian(待宾),Mandriva ,Mint ,PCLinuxOS ,Slackware,Gentoo,CentOS, FreeBSD articles112817.htm unixAUX AIX BSD DragonFly BSD FreeBSD GNU HP-UX IRIX Linux
16、LynxOS Mac OS X Minix NetBSD NEXTSTEP OpenBSD QNX SCO OpenServer Solaris System V Tru64 Xenix 17 你知道配置管理中基线的含义么?怎样把项目中某个重要的时刻冻结?基线是一组被正式评审通过并经CCB 同意发布的工作产品集合,它作为下游开展工作的基础,已基线工作产品的变更必须受控。18 你一般会把哪些东西纳入版本控制?项目的重要工作产品,过程性的文档就不需要版本控制了。19 怎样可以保证团队中每个人都知道谁改变了哪些东西?通过变更控制, 每次变更结束都会邮件通知涉众,并且维护该项目的配置管理工作表,记录此
17、次变更,在工件重新受控提交时会在注释中简要记录。可以通过变更控制,变更活动关联的配置项清单和配置工具的日志信息。20Tag 和 Branch 的区别是什么?在什么情况下该使用tag,什么时候用branch?Tag 是标签, Branch 是分支。 当项目里程碑到达了或项目发版的时候需要对项目的重要工作产品打一条Tag.当项目发版后主分支需要做新版本,而又有上线后的BUG 需要上紧急版本修复时需以项目发版时创建的Tag 为基准创建一条Branch 来修改上线后的紧急BUG 。branches 和 tags是一样的,都是目录,只是我们不会对这个release-1.0的 tag 做修改了,不再提交了
18、,如果提交那么就是branches tag,是用来做一个milestone 的,不管是不是release,都是一个可用的版本。这里,应该是只读的。更多的是一个显示用的,给人一个可读(readable)的标记。branch,是用来做并行开发的,这里的并行是指和trunk 进行比较。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 12 页 - - - - - - - - - 21 怎样管理技术文档如产品架构文档的变化?首先对确定后的技术文档打好基线,之后就要对基线后的技术文档
19、进行变更控制,变更前要进行变更影响分析,变更时候要关联对应的变更活动,文档好写好变更记录。22 如果客户想要对一款已经发布的产品做出变动,你怎么处理?作为定制需求在配置库做一个branch,相对于主枝做并行开发,最后综合评估所做修改是否要纳入产品主枝。23 版本管理和发布管理有什么差异?版本管理是软件配置管理的基础,它管理并保护开发者的软件资源。它的主要功能有: (1) 集中管理档案,安全授权机制:档案集中地存放在服务器上,经系统管理员授权给各个用户。用户通过check in 和 check out 的方式访问服务器上的文件,未经授权的用户则无法访问服务器上的文件。(2) 软件版本升级管理:每
20、次登入时,在服务器上都会生成新的版本,任何版本都可以随时检出编辑。(3) 加锁功能:在文件更新时保护文件,避免不同的用户更改同一文件时发生冲突。(4) 提供不同版本源程序的比较。版本控制系统用于保存编写开发应用程序时的文档的各个修订版(revision) 。 版本控制也称作 Revision Control System(RCS) 发布管理是对发布流程的控制,只有通过测试经过审批的版本才能够正式发布,未经测试的版本如果发布,存在质量隐患。24 对文本文件的变化和二进制文件的变化进行管理,这二者有什么不同?对于 svn 文本和二进制文件的管理是一样的,采用统一的二进制差异算法cvs 对于文本进行
21、差异化的存储,对二进制文件采用独立的冗余的存储。25 同时处理多个变更请求,或是同时进行增量开发和维护,这种事情你怎么看待?27 什么是 dotnetframework ?是干什么用的?Microsoft .NET Framework 2.0 版可再发行组件包将安装运行针对.NET Framework 2.0 版开发的应用程序时所需的 .NET Framework 运行库及相关文件。28JRE 是什么的缩写?干什么用的?JRE 是 Java 运行环境(Java Runtime Enviroment) 的缩写。它基本上就和Java虚拟机是同一个概念。JDK 是 Java 开发工具包(Java D
22、evelopment Kit ) 的缩写。它是一种用于构建在Java 平台上发布的应用程序、applet 和组件的开发环境。JDK 包括了 jre。 jre可以自动升级是其自身具有的功能。29 是否听说或者用过cpan?CPAN 是全面 Perl 归档网络 (Comprehensive Perl Archive Network )的缩写, 那是一个值得名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 12 页 - - - - - - - - - 常去的地方。这里有Perl
23、源码,容易安装到非类Unix 系统的 Perl 例子,文档, Perl 扩展部分, Perl 归档信息等。简言之,CPAN 是全面的。httpwww.cpan.org 30 一个 HR 的面试题“做配置管理最终的目标是什么?实现目标的路线是怎么样的?”保证软件产品的配置项的一致性、完整性、可追溯性;按计划进行基线建立,定期进行配置审计,使用配置管理工具,对评审通过已受控的配置项的变更进行控制用友的配置管理面试题31 Perforce 与 Subversion 有啥区别?perforce 是商业软件svn 是开源免费的32 怎么利用分支模式支持Agile 开发?agile 敏捷SoftWareP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年配置工程师面试题 2022 配置 工程师 试题
限制150内