微信

使用微信服务,更方便

职友集>程序员面试题 > 程序员面试题

程序员面试题

2015-06-27 06:30:01 阅读( 87 )

2280人 收藏本页

标签:程序员面试题

选择题:

1、  从供选择的答案中,选出应填入下面叙述中(?)内的最确切的解答,把相应编号写在答卷的对应栏内。(第1到第3题)

在C++语言中引进了类的概念。类的定义包括类名,类的说明和类的实现。(A)是类的外部接口,(B)是类的内产表示,类具有(C)、(D)和(E)。有了(C)可以隐藏类对象内部实现的复杂细节,有效地保护内部所有数据不受外部破坏;(D)增强了类的共享机制,实现了软件的可重用性,简化系统的开发工作;(E)可实现函数重载和运算符重载。

供选择的答案:

A、B:1、类的引用      2、类的说明         3、类的实现         4、类的标识         5、类的构造         6、类的成员说明

C~E:1、开放性           2、封装性            3、兼容性            4、继承性            5、多态性            6、可扩充性

答:3,6,2,4,5,2,4,5

2、  各种程序设计语言中都有多种数据类型,纯量数据类型和结构类型是两大基本数据类型。例如,(A)等都是前者,而(B)都是后者。

子程序通常分为两类:(C)和(D),前者是命令的抽象,后者是为了求值。

一些重要的程序语言(如C和PASCAL)允许过程的递归调用。通常用(E)来实现递归调用中的存储分配。

供选择的答案:

A、B:1、双精度型、枚举和数组      2、数组、记录和联合         3、指针、数组和记录                4、实型、布尔型和指针            5、复型、指针和记录         6、实型、整型和联合

C、D:1、标准子程序         2、进程         3、过程         4、用户定义子程序            5、函数         6、分程序            7、模块

E:1、栈        2、堆            3、数组         4、链表

答:1,3,1,4,1

3、  每一棵树都能唯一地转换为它所对应的二叉树,树的这种二叉树表示对树的运算带来很大的好处。遍历(周游)是树形结构的一种重要运算,二叉树的基本组成部分是:根(N)、左子树(L)和右子树(R)。因而二叉树的遍历次序有六种。最常用的是三种:前序法(即按(A)次序),后序法(即按(B)次序)和中序法(也称对称序法,即按(C)次序)。这三种方法相互之间的关联。若已知一棵二叉树的前序序列是BEFCGDH,中序序列是FEBGCHD,则它的后序序列必是(D),而且可得该二叉树所表示的树的先根次序序列是(B)

A~C:1、RLN       2、RNL         3、LRN         4、LNR         5、NLR         6、NRL

D、E:1、EFGHBCD           2、FEGHDCB              3、BCDEFGH              4、EFBGCHD              5、BEFCGDH       6、FEGBHDC

答:4,2,5,2,5

简答题:

1、  在公司人事数据库中有两张表:EMP表记录公司雇员的情况,DEPT表记录公司各个部门的情况,在下图中简要说明了这两张表的内容。

EMP表:

EMPNO   ENAME         JOB        MGR      HIREDATE            SALARY        DEPTNO

7001        SMITH   SALEMAN  1001         17-DEC-98            800。00         10

7002        JONES    MANAGER    1002       02-JAN-96            1500。00       20

7003   WILLIAM  CLERK         1001       21-MAY-94            1200。00       20

(EMPNO:雇员编号、ENAME:雇员姓名、JOB:职务、MGR:所属部门经理编号、HIREDATE:起始工作日期、DEPTNO:所属部门编号)

DEPT表:

DEPTNO        DNAME                LOC

10                   ACCOUNTING      GUANGZHOU

20                   SALES                  GUANGZHOU

30                   RESARCH             NANJING

请使用合适的SQL语句列出在广州工作的所有雇员的资料(包括其工作部门的名称、部门地址),结果请按部门排序。

答:select a.*,b.dname,b.loc

from emp as a ,dept as b

where a.deptno = b.deptno

and b.loc = ‘GUANGZHOU’

order by deptno

2、。NET有那几种服务器控件?(举例说明用途,至少说明两种以上)(10分)

答:HTML 服务器控件:对服务器公开的 HTML 元素,可对其进行编程。HTML 服务器控件公开一个对象模型,该模型十分紧密地映射到相应控件所呈现的 HTML 元素。

Web 服务器控件:这些控件比 HTML 服务器控件具有更多内置功能。Web 服务器控件不仅包括窗体控件(例如按钮和文本框),而且还包括特殊用途的控件(例如日历、菜单和树视图控件)。Web 服务器控件与 HTML 服务器控件相比更为抽象,因为其对象模型不一定反映 HTML 语法。

验证控件:包含逻辑以允许对用户在输入控件(例如 TextBox 控件)中输入的内容进行验证的控件。验证控件可用于对必填字段进行检查,对照字符的特定值或模式进行测试,验证某个值是否在限定范围之内,等等。有关更多信息,请参见验证 ASP.NET 控件。

用户控件:作为 ASP.NET 网页创建的控件。ASP.NET 用户控件可以嵌入到其他 ASP.NET 网页中,这是一种创建工具栏和其他可重用元素的捷径。

3、SESSION和APPLICATION各自代表什么意思?有什么不同?(5分)

答:Session 是用于保持状态的基于 Web 服务器的方法。Session 允许通过将对象存储在 Web 服务器的内存中在整个用户会话过程中保持任何对象。私有的,每个用户不同。

APPLICATION是所有会话,共有的,

4、  SQLSERVER 的存储过程和触发器有什么不同之处?运行上有什么特点?(10分)

答:触发器是一种特殊类型的存储过程,当使用下面的一种或多种数据修改操作在指定表中对数据进行修改时,触发器会生效:UPDATE、INSERT 或 DELETE。触发器可以查询其它表,而且可以包含复杂的 SQL 语句。它们主要用于强制复杂的业务规则或要求。例如,可以控制是否允许基于顾客的当前帐户状态插入定单。

触发器还有助于强制引用完整性,以便在添加、更新或删除表中的行时保留表之间已定义的关系。然而,强制引用完整性的最好方法是在相关表中定义主键和外键约束。如果使用数据库关系图,则可以在表之间创建关系以自动创建外键约束。有关详细信息,请参见表关系。

触发器的优点如下:

触发器是自动的:它们在对表的数据作了任何修改(比如手工输入或者应用程序采取的操作)之后立即被激活。

触发器可以通过数据库中的相关表进行层叠更改。例如,可以在 titles 表的 title_id 列上写入一个删除触发器,以使其它表中的各匹配行采取删除操作。该触发器用 title_id 列作为唯一键,在 titleauthor、sales 及 roysched 表中对各匹配行进行定位。

触发器可以强制限制,这些限制比用 CHECK 约束所定义的更复杂。与 CHECK 约束不同的是,触发器可以引用其它表中的列。

存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。

存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。

可以出于任何使用 SQL 语句的目的来使用存储过程,它具有以下优点:

可以在单个存储过程中执行一系列 SQL 语句。

可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句。

存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语句快。

5、  请写出JAVASRIPT小程序,弹出一个带“确定”和“取消”有提示框。(10分)

答:if(confirm())

{

}

6、  CSS的含义是什么?有什么用途?(10分)

答:CSS就是一种叫做样式表(stylesheet)的技术。也有的人称之为层叠样式表(Cascading Stylesheet)。在主页制作时采用CSS技术,可以有效地对页面的布局、字体、颜色、背景和其它效果实现更加精确的控制。 只要对相应的代码做一些简单的修改,就可以改变同一页面的不同部分,或者页数不同的网页的外观和格式。

它的作用可以达到:

(1)在几乎所有的浏览器上都可以使用。

(2)以前一些非得通过图片转换实现的功能,现在只要用CSS就可以轻松实现,从而更快地下载页面。

(3)使页面的字体变得更漂亮,更容易编排,使页面真正赏心悦目。

(4)你可以轻松地控制页面的布局 。

(5)你可以将许多网页的风格格式同时更新,不用再一页一页地更新了。你可以将站点上所有的网页风格都使用一个CSS文件进行控制,只要修改这个CSS文件中相应的行,那么整个站点的所有页面都会随之发生变动。

7、  请写出。NET分页的程序思路,或者有什么控件可以直接分页(写出该控件的名称和如何使用该控件)?

答:

a)    确定数据源

b)    查询的字段

c)    查询条件

d)    排序

e)    查询的记录总数

f)     每页显示多少条记录

g)    页面号

DataGrid和DataView都能分页,只要设置他们分页就行了

8、  请述明MVC的含义。(10分)

答:MVC模式是”Model-View-Controller”的缩写,中文翻译为”模式-视图-控制器”。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。

9、  请述明SOAP协议的含义和。NET的WEB SERVICE 服务器的架设方法。(20分)

答:SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一直语言相互通信。

SOAP 是一种轻量级协议,用于在分散型、分布式环境中交换结构化信息。 SOAP 利用 XML 技术定义一种可扩展的消息处理框架,它提供了一种可通过多种底层协议进行交换的消息结构。 这种框架的设计思想是要独立于任何一种特定的编程模型和其他特定实现的语义。

SOAP 定义了一种方法以便将 XML 消息从 A 点传送到 B 点。 为此,它提供了一种基于 XML 且具有以下特性的消息处理框架:1) 可扩展,2) 可通过多种底层网络协议使用,3) 独立于编程模型。 引用,注册。

来自IT公司面试手册

下一篇:试试一个算法推理面试题

上一篇:一套综合性的程序员笔试题

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

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