zoukankan      html  css  js  c++  java
  • 如何评测软件工程知识技能水平?

    软件工程师:

    软件工程师英文是Software Engineer,是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。软件工程师是从事软件开发相关工作的人员的统称。软件工程师包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位,工作内容都与软件开发生产相关。软件工程师的技术要求是比较全面的,除了最基础的编程语言(C/C++/JAVA等)、数据库(SQL/ORACLE/DB2等)等,还有诸多如AJAX、SPRING等前沿技术。此外,关于网络工程和软件测试的其他技术也要有所涉猎。

    基本要求:

    1、对一两门编程语言熟练、精通。

    2、掌握一定的数据结构与算法知识。

    数据结构+算法=程序,基本的数据结构算法知识是软件开发的基础,更是高级程序工程师对软件优化的重要基础。

    3、对底层有一定了解。

    包括操作系统、计算机组成原理、计算机网络知识,linux系统的基本操作,以及一些高级语言的底层实现。

    4、对数据库知识有一定掌握。

    日常的软件开发总是会设计数据库的交互,必须对数据知识有足够的了解,才能完成对数据库的交互。

    5、比较强的自学能力。

    程序员这行技术更新换代比加快,需要不断学习新知识来提升自己,保证自己的职业竞争力。

    6、对软件开发过程有深刻体会。

    如果不懂软件开发流程,盲目按照自己想法开发,尤其是比较大型项目,比较容易出错。

    出题思路:

    主要出了四个题型,分别是名词解释,选择题,判断题,简答题。

    涉及的内容主要是软件开发各个阶段的详细内容,以及面向对象分析的知识。

    一、名词解释:

    1、重构(Refactoring):就是通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。

    2、多态(Polymorphism):接口多种不同的实现方式即为多态。

    3、泛化(Generalization):泛化是一般性事物(称为超类或父类)和它的较为特殊种类(称为子类)之间的一种关系,有时称为“is-a-kind-of”关系。

    二、选择题:

    1、下列关于单元测试的说法,不正确的是(B)

    A. 单元测试应该在最基本的功能/参数上验证程序的正确性。

    B. 单元测试过后,机器状态可能会发生改变。

    C. 单元测试应该产⽣可重复、⼀致的结果。

    D. 单元测试应该覆盖所有代码路径。

    解析:单元测试过后,机器状态保持不变。

    2、(中国大学mooc,北京大学-软件工程课后题)Jack在Google工作,是公司市场组的一名成员。那么描述Jack的类目Employee和描述Google的类目Company之间是(A)关系。

    A.关联 B.泛化 C.细化(实现)D.依赖

    解析:关联指一个类是另一个类的成员变量,可以是单向的,也可以是双向的;依赖指一个类的某个方法参数类型为另一个类。Employee明显是Company的成员变量。

    3、软件生命周期中所花费用最多的阶段是( D )。

    A、详细设计    B、软件编码    C、软件测试      D、软件维护

    4、(中国海洋大学, 2009,软件工程期末)面向对象的分析方法主要是建立三类模型,即( B )。

    A、系统模型、E-R模型、应用模型         B、对象模型、动态模型、功能模型

    C、E-R模型、对象模型、功能模型        D、对象模型、动态模型、应用模型

    5、(中国海洋大学,2014,软件工程期末)瀑布模型的关键不足在于( B )

    A、过于简单     B.不能适应需求的动态变更

    C.过于灵活     D.各个阶段需要进行评审

    6、(牛客网)下面不是面向对象的基本原则的是(C)?

    A、单一职责原则(Single-Resposibility Principle)

    B、开放封闭原则(Open-Closed principle)

    C、抽象类原则(Abstract-Class principle)

    D、依赖倒置原则(Dependecy-Inversion Principle)

    E、接口隔离原则(Interface-Segregation Principle)

    解析:五大基本原则:单一职责原则(SRP)、开放封闭原则(OCP)、里氏替换原则(LSP)、依赖倒置原则(DIP)、接口隔离原则(ISP)。

    7、(中国海洋大学,2014,软件工程期末)结构化分析方法以数据流图、__D__和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。

    A.DFD图   B.PAD图   C.IPO图   D.数据字典

    8、(牛客网)系统软件中主要包括操作系统,语言处理程序和(C)

    A、用户程序 B、实时程序 C、实用程序 D、编程程序

    解析:系统软件包括操作系统,语言系统和工具系统,工具系统也称为实用系统

    9. (牛客网)工厂模式是比较常用的设计模式,它遵循了如下设计原则中的?( A )

    A、单一职责原则 B、开放-封闭原则 C、依赖倒置原则 D、里氏代换原则

    解析:单一职责原则告诉我们实现类要职责单一;里氏替换原则告诉我们不要破坏继承体系;依赖倒置原则告诉我们要面向接口编程;接口隔离原则告诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合。而开闭原则是总纲,他告诉我们要对扩展开放,对修改关闭。

    10、两个模块彼此传递的信息中有控制信息,这种耦合称为(  D  )

    A  数据耦合   B  公共环境耦合   C  内容耦合      D  控制耦合

    三、判断题:

    1、 linux的find和grep指令,区别在于find是用来搜索文件内部文本的,grep是用来搜索文件的。(F)

    解析:linux的find和grep指令,区别在于find是用来搜索文件的,grep是用来搜索文件内部文本的。

    2、在设计需求分析的过程中,功能需求是主体,没有功能需求就没有非功能需求。(T)

    3、是一种描述数据变换的图形工具,它包含的元素可以使数据流、数据存储、加工、数据源、数据潭等。(T)

    4、(中国大学mooc,北京大学-软件工程课后题)所有的数据流图都可以看作变换型数据流图。(T)

    5、编码风格由个人喜好决定,没有固定格式。(F)

    6、软件工程学只有理论意义,没有实际用途。(F)

    7、类图用来表示系统中类和类与类之间的关系,是对系统动态结构的描述。( F )

    解析:类图用来表示系统中类和类与类之间的关系,是对系统静态结构的描述。

    8、(中国海洋大学, 2009,软件工程期末)软件测试只能证明程序有错误,不能证明程序没有错误。( T )

    9、UML 是一种面向对象的分析设计方法,即OOA/OOD 方法。(F)

    解析:UML是一种面向对象的统一建模语言。

    10、scrum模型是一个非敏捷的瀑布式开发模型。(F)

    解析:scrum模型是一个敏捷开发模型。

    四:简答题:

    1、用例建模的步骤:

    1) 识别并描述参与者 

    2) 识别用例,并给出简要描述

    3) 识别参与者与角色之间的通讯关联 

    4) 给出每一个用例的详细描述

    5) 细化用例模型

    2、多态的三个必要条件是什么?

    1) 要有继承

    2) 要有方法的重写

    3) 父类引用指向子类对象

    3、软件测试的步骤以及测试的对象是什么?

    ①单元测试,测试对象为单元模块

    ②集成测试:测试对象是组装后的程序模块

    ③确认测试:测试对象是可运行的目标软件系统。

    4、软件生命周期 8 个时期?

    问题定义,可行性研究,需求分析,总体设计(概要设计),详细设计,编码与单元测试,综合测试,运行维护。

    5、(中国海洋大学,06-07,软件工程期末)培训中心要研制一个计算机管理系统,它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理,

    (1)如果是报名的,则把报名数据送给负责报名事务的职员,他们将查询课程文件,检查该课程是否额满,然后在学生文件、课程文件与账目文件上登记,并开出报告单给财务部门,财务人员开发票给学员。

    (2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。

    (3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。

    要求:(1)对以上问题画出数据流程图

         (2)画出该培训管理的软件结构图的主图。

  • 相关阅读:
    web.xml中的contextConfigLocation在spring中的作用
    folder、source folder、package 区别与联系
    mysql
    十六进制浮点转十进制浮点型
    float浮点数的二进制存储方式及转换
    API -- java.lang.Integer
    MyISAM与InnoDB区别
    mysql timestamp类型字段的CURRENT_TIMESTAMP与ON UPDATE CURRENT_TIMESTAMP属性
    刷新当前页面
    正则表达式
  • 原文地址:https://www.cnblogs.com/smyhrps/p/12132077.html
Copyright © 2011-2022 走看看