• 软件工程问的面试题


    软件工程知识点

    1. 黑盒测试和白盒测试?
      白盒测试是把测试对象看见透明的。也就是代码是透明的。我们知道程序的内部代码。要根据程序的代码设计更尽可能多的测试用例来测试。
      它的优点是代码覆盖率特别高,他的缺点就是覆盖所有的代码路径的难度特别大,业务功能可能覆盖不全,测试的开销大。
      一般白盒是配合黑盒所使用。
      黑盒测试是把测试的对象看成一个黑盒子。他是站在用户的角度上来测试的。只根据需求规格说明书。检查程序的功能是否符合它的功能说明。检查非功能性需求是否满足设计要求?。

    2. 高内聚低耦合?

      高内聚低耦合师软件工程中的概念,是面向对象编程的一种设计。

      内聚它是指内部间聚集,关联的程度。高内聚则是要高度的聚集,最好就是做到功能内聚,模块内的各组成部分都是为了完成同一个功能而存在,就比如说JDK中的Math类,他就是为了完成数学运算而设计的类。内聚性高它的可靠性,可重用性,可读性都会提高。

      耦合是指模块间的关联程度,我们设计要减量减低各个模块间的耦合程度,因为一旦各模块耦合程度高,那么对程序的维护就会非常困难,牵一发动全身。

      https://baike.baidu.com/item/%E9%AB%98%E5%86%85%E8%81%9A%E4%BD%8E%E8%80%A6%E5%90%88/5227009?fr=aladdin

    3. 软件测试有哪些?软件测试的作用?

      静态测试,动态测试,黑盒测试,白盒测试。(展开了也要会讲)

      作用:软件测试就是检查实际输出和预期输出的一种审核,通过软件测试,我们可以尽早的发现软件的一些问题,减少损失,提升开发效率。

      https://baike.baidu.com/item/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95/327953?fr=aladdin

    4. 你所知道管理软件?

      ERP企业资源计划,OA协同管理软件

      https://baike.baidu.com/item/%E4%BC%81%E4%B8%9A%E8%B5%84%E6%BA%90%E8%AE%A1%E5%88%92/25984?fromtitle=ERP&fromid=22997&fr=aladdin

    5. Java中各种数据类型占用的字节数?

      byte 1个,short 2个,char 2个,int 4 个,float 4个,long 8个,double 8个,boolean 1位

    6. 数据结构,队列和栈的区别

      栈是一种后进先出的数据结构。

      队列则是一种先进先出的数据结构。

    7. 解释一下UML?

      统一建模语言,UML是面向对象设计的建模工具,独立于任何具体的程序设计语言。

      UML采用一组图形符号来描述软件模型,这些图形符号简单、直观和规范。开发人员学习和掌握起来比较简单。所描述的软件模型,可以直观地理解和阅读,由于具有规范性,所以能够保证模型的准确、一致。

      一般用UML画用例图,类图,对象图,状态图等。

      https://baike.baidu.com/item/%E7%BB%9F%E4%B8%80%E5%BB%BA%E6%A8%A1%E8%AF%AD%E8%A8%80/3160571?fromtitle=UML&fromid=446747&fr=aladdin

    8. 图灵奖是什么?

      图灵奖被称为计算机界 的诺贝尔奖,专门奖励那些对计算机事业做出重要贡献的个人,是为了纪念计算机科学的先驱图灵而设立的。中国只有姚期智获得过此殊荣。

    9. 面向对象和面向过程的区别?

      面向对象呢就是分析解决问题所需要的步骤,然后用函数把这些步骤一步步实现,使用的时候一个一个一次调用就可以了。

      面向对象是把构成问题的事物分解为各个对象,建立对象的目的不是为了完成某个步骤,而是为了描述某个事物在解决步骤中的行为。

      举个例子。人吃午饭,用面向过程的方法解决就是先去拿筷子,再拿碗,然后去盛饭,再夹菜,最好吃饭。而面向过程,实现抽象对象,抽象出,人,餐具,食物,然后调用人拿餐具去吃饭。

      优缺点:

      面向过程的开发,性能较高,因为不需要实例化对象,缺点是没有面向对象容易维护和复用。

      面向对象则相反。性能稍有差距,但是容易维护和扩展

      https://blog.csdn.net/jerry11112/article/details/79027834

    10. 软件的生命周期?

      软件的生命周期是指软件的产生到报废的过程。

      分为三个阶段:

      1.软件定义阶段:软件的定义,可行性分析,需求分析

      2.软件开发阶段:系统设计,软件开发,软件测试

      3.软件的运行和维护:软件运行,软件维护。

    11. 什么是检索?检索的过程是什么?

    12. Linux下、常用命令?
      文件相关:mkdir,touch,rm,mv,cp,ls,find
      网络相关:ping,ipconfig,netstat
      数据库:use ,mysql -u -p,insert等常见的mysql命令

    13. 离散数学与计算机技术的联系?

    14. 生命周期模型,1.瀑布模型 2,快速原型模型,3迭代模型

  • 相关阅读:
    50个好用的前端框架,千万收好以留备用!
    嫦娥五号顺利升空,NASA、欧洲航天局回应
    【电脑故障排查】第1章 BIOS和主板故障
    我的老博客——我在chinaunix的家
    Linux操作系统(第二版)(RHEL 8/CentOS 8)
    Java Web整合开发(21) -- 宏观把握Hibernate
    3 远程仓库
    PHP设计模式-策略模式 转
    ubuntu server设置时区和更新时间
    ubuntu 重启 nginx 失败,* Restarting nginx nginx ...fail!
  • 原文地址:https://www.cnblogs.com/li33/p/12759040.html
Copyright © 2020-2023  润新知