微信

使用微信服务,更方便

职友集>程序员面试题 > 一套应届生的软件笔试题

一套应届生的软件笔试题

2015-06-03 06:30:01 阅读( 321 )

1784人 收藏本页

标签:程序员面试题

请在1和2题中任选一题:
1、┐(P∨Q)=          。P→Q的真值表是:

2、一棵完全二叉树的叶子节点数为n,则其内部节点数为          。设集合A={{a},B={{a}, Ф},则A∩B=          。

请在3和4题中任选一题:
3、设A和B是两个表,A包含字段x和y,B包含字段y和z,其中A.y和B.y是同质的。用两种sql求B中的z(按从大到小排列,不重复出现),使其所在行中的y不存在于A中,并指出这两种方法在效率上的差异。

4、设S表中含no(学号)和name(姓名)字段,SC表中含no(学号)和course(课程)字段。S.no为S的          键,SC.no为SC对S的          键,SC的主键是          ,SC中no和course的关系是    对    。求sql:至少选修了3门功课的学生的姓名。

5、在面向对象程序中,A1、A2、…、An是A的子类,A有方法m可供子类继承和重载,过程f(x:A)中执行了A.m,当实参为A1类型的变量时,过程f中执行方法m实质执行的是          。

6、已知3个类O、P和Q,类O中定义了一个私有方法F1、一个公有方法F2和一个受保护的方法F3;类P和类Q为类O的派生类,其继承方式如下所示:
class P:protected O {…};
class Q:public O {…};
则类          的对象可以访问方法F1,类          的对象可以访问方法F2,类          的对象可以访问方法F3。

7、下列有关面向对象的叙述不正确的是      。
A.面向对象设计最根本的意图是适应需求变化
B.应尽量针对接口编程,而不要针对实现编程
C.尽量使用继承而不是聚合,因为继承使得类间的藕合性最小
D.尽量使用已有的类库

8、回调(Call back)函数是面向过程的程序设计语言中常用的一种机制,而设计模式中的      模式就是回调机制的一个面向对象的替代品。该模式的意图是什么?(请开发人员回答)

9、在UML的动态建模机制中,      描述了对象之间动态的交互关系,还描述了交互的对象之间的静态链接关系,即同时反映系统的动态和静态牲。(请开发人员回答)
A.状态图(State Diagram) B.序列图(Sequence Diagram)
C.协作图(Collaboration Diagram) D.活动图(Activity Diagram)

10、需求分析的任务是借助于当前        模型导出目标系统的      模型,解决目标系统“做什么”的问题。确定目标实现的具体技术路线是否是需求分析的实现步骤之一?        。

11、黑盒测试方是根据软件产品的功能设计规格说明书,通过运行程序进行测试,证实每个已经实现的功能是否符合设计要求。如果某产品的文本编辑框允许输入1~255个字符,采用      测试方法,其测试数据为:0个字符、1个字符、255个字符和256个字符。
A.等价类划分 B.边界值分析 C.比较测试 D.正交数组测试

12、软件测试是为了发现错误而执行程序的过程。检验软件是否满足用户需求的测试称为        。        是维护中常用的方法,其目的是检验修改所引起的副作用。黑盒测试法主要根据        来设计测试用例。

13、软件的维护并不只是修正错误。为了满足用户提出的增加新功能、修改现有功能以及一般性的改进要求和建议,需要进行 (1),它是软件维护工作的主要部分;软件测试不可能揭露旧系统中所有潜在的错误,所以这些程序在使用过程中还可能发生错误,诊断和更正这些错误的过程称为(2) ;为了改进软件未来的可维护性或可靠性,或者为了给未来的改进提供更好的基础而对软件进行修改,这类活动称为 (3) 。
(1)A.完善性维护 B.适应性维护 C.预防性维护 D.改正性维护
(2)A.完善性维护 B.适应性维护 C.预防性维护 D.改正性维护
(3)A.完善性维护 B.适应性维护 C.预防性维护 D.改正性维护

14、当一个固执的用户操作员提出违反业务规则的要求时,你认为比较好的解决办法是什么?当客户的两个中层负责人对软件的一项重要功能有分歧时,你的处理方法是什么?

15、试举一例,说明你熟悉的一种数据库(如oracle、sqlserver、db2等,但不包括access)导出整个数据库的方法。

16、试写出Delphi或Java的程序片断,不必考虑异常处理,做函数FetchPosition,求串s1在串s中的第n次出现的位置,假设s1内部可能有相同的子串。
附:Delphi函数参考。pos(s1, s: string): integer :如s1在s中出现,则返回s1在s中的第一个位置,否则返回0;copy(s: string; i, j: string): string,返回s中从i位置开始长度为j的子串。字符串开头的字符,位置是1。
Java方法参考。int s.indexOf(String s1) 如s1在s中出现,则返回s1在s中的第一个位置,否则返回-1;String s.substring(i, j); 返回s中从i位置开始长度为j的子串。字符串开头的字符,位置是0。

来自IT公司面试手册

下一篇:i18n什么意思?

上一篇:阿里巴巴的人如是说

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题