软件开发工程师笔试题

啊南 3032阅读 2020.03.17

【导语】: 软件开发工程师是一个对专业性要求较高的职位,因此,很多公司在招聘软件开发工程师时会设置笔试题来筛选求职者。软件开发工程师笔试题都有哪些题型呢?小编整理了一些软件开发工程师的笔试题供大家参考。

软件开发工程师笔试选择题

1、下面哪项是不合法的标识符:()  
A. $persons      B. TwoUsers      C. *point     D. _endline     E. final 
2、下列运算符合法的是( ) 
A.&&          B.<>          C.if            D.:= 
3、下面描述中哪两项相等:()[选择两项] 
A. <%= YoshiBean.size%> B. <%= YoshiBean.getSize()%> C. <%= YoshiBean.getProperty(“size”)%>  
D.<jsp:getProperty id=”YoshiBean” param=”size”/>   E.<jsp:getProperty name=”YoshiBean” param=”size”/>  F.<jsp:getProperty id=”YoshiBean” property=”size”/>  G.<jsp:getProperty name=”YoshiBean” property=”size”/>  
4、设float x = 1,y = 2,z = 3,则表达式 y+=z--/++x的值是:()  
A. 3.5      B. 3       C. 4        D. 5 
5、下面的哪些叙述为真:() 
A. equals()方法判定引用值是否指向同一对象 B. ==操作符判定两个不同的对象的内容和类型是否一致 C. equal()方法只有在两个对象的内容一致时返回true D. 类File重写方法equals()在两个不同的对象的内容和类型一致时返回true 
6、如果一个对象仅仅声明实现了cloneable接口,但是不声明clone方法,外部能够调用其clone方法吗?()  
A. 能        B. 不能          C. 不确定 
7、下列说法错误的有( ) 
A. 能被java.exe成功运行的java class文件必须有main()方法   B. J2SDK就是Java API   C. Appletviewer.exe可利用jar选项运行.jar文件 D. 能被Appletviewer成功运行的java class文件必须有main()方法 
8、下列正确的有( ) 
A. call by value不会改变实际参数的数值   B. call by reference能改变实际参数的参考地址   C. call by reference不能改变实际参数的参考地址 D. call by reference能改变实际参数的内容 
9、下列说法错误的有( )   
A. 数组是一种对象   B. 数组属于一种原生类   C. int number=[]={31,23,33,43,35,63} D. 数组的大小可以任意改变 
10、不能用来修饰interface的有( ) 
A.private       B.public      C.protected       D.static 

软件开发工程师笔试判断题

1、软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作。(初级)(×)
2、发现错误多的模块,残留在模块中的错误也多。(√)
3、测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。(×)
4、单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试(√)
5、功能测试是系统测试的主要内容,检査系统的功能、性能是否与需求规格说明相同。(√)
6、软件质量管理即QM由QA和QC构成,软件测试属于QC的核心工作内容(√)
7、软件测试只能发现错误,但不能保证测试后的软件没有错误。(√)
8、软件就是程序。(X)
9、测试只要做到语句覆盖和分支覆盖,就可以发现程序中的所有错误。(X)
10、I18N测试是指对产品做出具有国际性的规划,而L10N测试则是指对软件做出符合本地需求更改工作。(√)

软件开发工程师笔试填空题

1._软件__是计算机程序及其说明程序的各种文档。_文档____是有关计算机程序功能、设计、编制、使用的文字或图形资料。
2.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。通常,软件生存周期包括问题定义、可行性研究__需求分析__总体设计、详细设计、编码 测试____软件维护活动,可以将这些活动以适当方式分配到不同阶段去完成。
3. 软件详细设计阶段采用的工具有__图、表、过程设计语言 
4.  行性研究  的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
5.模块的耦合性分为四种类型:_据耦合 控制 公共 内容 

软件开发工程师笔试主观题

1、软件生存周期是什么? 
软件生存周期是软件的生产直到报废的生命周期,由软件定义、软件开发、软件维护三个时期组成。
(1) 软件定义时期的任务是确定软件开发的总目标即问题定义;确定可行性;需求
分析。
(2) 软件开发时期具体设计和实现在前一个时期定义的软件。包括总体设计,详细
设计,编码和测试。
(3) 软件维护时期主要任务是使软件持久地满足用户的需要,延续软件使用的寿命。
2、数据字典是什么? 
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合,数据字典是一种用户可以访问的记录数据库和应用程序源数据目录。数据流图和数据字典共同构成系统的逻辑模型。
数据字典有4类元素定义组成:数据流,数据流分量(数据元素(数据结构,数据项)),数据存储,处理。
在数据字典中记录数据元素的信息,如一般信息,定义,使用特点,控制信息,分组信息。
数据字典最重要的用途是作为分析阶段的工具。在数据字典中建立的一组严密一致的定义很有助于改进分析员和用户之间的通信,消除误解。数据字典是开发数据库的第一步,也是很有价值的一步。
3、软件文档的作用 
软件文档在产品的开发过程中起着重要的作用。
(1) 提高软件开发过程的能见度,将开发过程发生的事件以某种可阅读的形式记录在文档中 (2) 管理人员可以把记载下来的材料作为检查软件开发进度和开发质量的依据,实现对软件开发的工程管理. 
(3) 提高开发效率  作为开发人员在一定阶段的工作成果和结束标志。便于潜在用户了解软件的功能、性能等各项指标,为他们选购符合自己需要的软件提供依据。
(4) 记录开发过程中有关的信息,便于协调以后的软件开发、使用和维护 
(5) 提供对软件的运行,维护和培训等有关信息,便于管理人员,开发人员,操作人员,用户等之间的协 作、交流和了解。
(6) 文档是软件开发规范的体现和指南 
4、黑盒测试是什么? 
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中把程序看做一个不能打开的黑盒子,在完全不考虑内部结构和内部特性的情况下,在程序接口进行测试。它只检查程序功能是否按照要求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
黑盒测试注重于软件的功能需求,能发现以下几类错误:功能不正确或遗漏;界面错误;输入和输出错误;性能错误;初始化和终止错误等。
优点:适用于各个阶段,容易入手生成测试数据 缺点:某些代码得不到测试,不易进行充分性测试 
5、软件危机是什么? 
软件危机是指在计算机软件的开发和维护过程中所遇到一系列严重问题。
软件危机包含两方面问题:如何开发软件,满足对软件日益增长的需求;如何维护数量不断膨胀的已有文件。
表现:(1)对软件开发成本和进度的估计常常不准确      
         (2)用户对“已完成的”软件系统不满意
         (3)软件产品的质量靠不住
         (4)软件常常不可维护 
         (5)软件通常没有合适的文档资料 
         (6)软件成本在计算机系统总成本中所占比例逐年增加 
         (7)软件开发生产率提高的速度,跟不上计算机应用迅速普及深入的趋势 原因:
(1)与软件本身有关: 软件不会被“用坏”,若运行发现错误,很可能是在开发时期引入的;软件规模庞大,程序复杂性随着程序规模的增加而增加 
(2)与软件开发与维护的方法有关:忽视软件需求分析的重要性,对用户的要求没有正确认识就着手编写程序;轻视软件维护 
消除危机途径: 
(1) 正确认识计算机软件 
(2) 认识软件开发是需要组织良好,管理严格,各类人员协同配合、共同完成的工程项目 
(3) 推广使用在实践中总结出来开发软件成功的技术和方法,并继续探索研究
(4) 开发和使用更好的软件工具 
(5) 有技术措施,又要有必要的组织管理

软件开发工程师笔试复习资料

软件开发工程师书籍推荐:

1. Code Complete 2(《代码大全(第二版)》)
如果你想成为一名优秀的软件工程师,请阅读第一本书。这本书被广泛认为是最好的编程实用指南之一,Steve McConnell最初所编写《代码大全》在十多年里帮助开发人员编写了更好的软件。现在,这本经典书籍已经通过前沿实践和数百个新的代码示例进行了全面更新和修订,展示了软件构建的艺术和科学。通过从研究、学术界和日常商业实践中获取的知识,McConnell将最有效的技术和必须知道的原则综合到清晰,实用的指导中。无论你的经验水平、开发环境或项目规模如何,本书都将为你提供信息并激发思考,并帮助你构建最高质量的代码。

2. Pragmatic Programmer(《程序员修炼之道》)
虽然这本书写于1999年,但这些概念是关于如何以实际方式开发复杂系统的基础。程序员是受过训练的工匠,他们使用某些工具(编辑器、对象管理器、版本跟踪器)来生成某种类型的产品(程序),这些产品将在某些环境中运行(硬件组件上的操作系统)。与任何其他工艺一样,计算机编程产生了许多智慧,其中大部分都没有在大学或认证课程中教授。大多数程序员通过独立实验,随着时间的推移到达所谓的交易技巧。在这本书中包含了安德鲁·亨特和大卫·托马斯,分别是软件设计者和代码编写者,在各自职业生涯中发现的许多真理。

3. Structure and Interpretation of Computer Programs(《计算机程序的构造和解释》)
通过分析和严谨的解决问题和编程技术的方法,本书主要面向工程方面。计算机程序的结构和解释强调了计算模型中处理时间的不同方法所起的核心作用。其独特的方法适用于计算机科学课程的介绍,以及编程语言和程序设计。本书进一步解释了四种最着名的编程语言范式——命令式、面向对象、基于逻辑和应用程序编程。

4. Introduction to Algorithms(《算法导论》)
这本书是理解和使用算法的最佳书籍(你将在软件开发中应用到的许多算法)。有些关于算法的书很严谨但不完整;其他其涵盖大量的材料,但缺乏严谨性。算法简介独特地结合了严谨性和全面性。