专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » 应聘常问问题:SQL Server开发人员应聘常被问到的问题 »正文

应聘常问问题:SQL Server开发人员应聘常被问到的问题

来源: 发布时间:星期四, 2008年12月11日 浏览:41次 评论:0

目前在职场中很难找到非常合格数据库开发人员个同事曾经说过:“SQL开发是门语言它很容易学但是很难掌握”  在面试应聘SQL Server数据库开发人员时我运用了套标准基准技术问题下面这些问题是我觉得能够真正有助于淘汰不合格应聘者问题它们按照从易到难顺序排列当您问到关于主键和外键问题时后面问题都十分有难度答案可能会更难解释和说明尤其是在面试情形下
您能向我简要叙述下SQL Server 2000中使用些数据库对象吗?
您希望听到答案包括这样些对象:表格、视图、用户定义以及存储过程;如果他们还能够提到像触发器这样对象就更好了如果应聘者不能回答这个基本问题那么这不是个好兆头
什么是索引?SQL Server 2000里有什么类型索引?
任何有经验数据库开发人员都应该能够很轻易地回答这个问题些经验不太多开发人员能够回答这个问题但是有些地方会说不清楚
简单地说索引是个数据结构用来快速访问数据库表格或者视图里数据在SQL Server里它们有两种形式:聚集索引和非聚集索引聚集索引在索引叶级保存数据这意味着不论聚集索引里有表格哪个(或哪些)字段这些字段都会按顺序被保存在表格由于存在这种排序所以每个表格只会有个聚集索引非聚集索引在索引叶级有个行标识符这个行标识符是个指向磁盘上数据指针它允许每个表格有多个非聚集索引
NULL是什么意思?
NULL(空)这个值是数据库世界里个非常难缠东西所以有不少应聘者会在这个问题上跌跟头您也不要觉得意外
NULL这个值表示UNKNOWN(未知):它不表示“”(空串)假设您SQL Server数据库里有ANSI_NULLS当然在默认情况下会有对NULL这个值任何比较都会生产个NULL值您不能把任何值与个 UNKNOWN值进行比较并在逻辑上希望获得个答案您必须使用IS NULL操作符
 什么是主键?什么是外键?
主键是表格里(个或多个)字段只用来定义表格里行;主键里值总是唯外键是个用来建立两个表格之间关系约束这种关系般都涉及个表格里主键字段与另外个表格(尽管可能是同个表格)里系列相连字段那么这些相连字段就是外键
什么是触发器?SQL Server 2000有什么不同类型触发器?
让未来数据库开发人员知道可用触发器类型以及如何实现它们是非常有益
触发器是种专用类型存储过程它被捆绑到SQL Server 2000表格或者视图上在SQL Server 2000里有INSTEAD-OF和AFTER两种触发器INSTEAD-OF触发器是替代数据操控语言(Data Manipulation LanguageDML)语句对表格执行语句存储过程例如如果我有个用于TableAINSTEAD-OF-UPDATE触发器同时对这个表格执行个更新语句那么INSTEAD-OF-UPDATE触发器里代码会执行而不是我执行更新语句则不会执行操作
AFTER触发器要在DML语句在数据库里使用之后才执行这些类型触发器对于监视发生在数据库表格里数据变化十分好用
您如何确个带有名为Fld1字段TableB表格里只具有Fld1字段里那些值而这些值同时在名为TableA表格Fld1字段里?
这个与关系相关问题有两个可能答案个答案(而且是您希望听到答案)是使用外键限制外键限制用来维护引用完整性它被用来确保表格里字段只保存有已经在不同(或者相同)表格里个字段里定义了这个字段就是候选键(通常是另外个表格主键)
另外种答案是触发器触发器可以被用来保证以另外种方式实现与限制相同作用但是它非常难设置与维护而且性能般都很糟糕由于这个原因微软建议开发人员使用外键限制而不是触发器来维护引用完整性
个投入使用在线事务处理表格有过多索引需要有什么样性能考虑?
您正在寻找进行与数据操控有关应聘人员个表格索引越多数据库引擎用来更新、插入或者删除数据所需要时间就越多在数据操控发生时候索引也必须要维护
您可以用什么来确保表格里字段只接受特定范围里值?
这个问题可以用多种方式来回答但是只有个答案是“好”答案您希望听到回答是Check限制它在数据库表格里被定义用来限制输入该列
触发器也可以被用来限制数据库表格里字段能够接受但是这种办法要求触发器在表格里被定义这可能会在某些情况下影响到性能因此微软建议使用Check限制而不是其他方式来限制域完整性
返回参数和OUTPUT参数之间区别是什么?
如果应聘者能够正确地回答这个问题那么他机会就非常大了这表明他们具有使用存储过程经验
返回参数总是由存储过程返回它用来表示存储过程是成功还是失败返回参数总是INT数据类型
OUTPUT参数明确要求由开发人员来指定它可以返回其他类型数据例如型和数值型(可以用作输出参数数据类型是有些限制)您可以在个存储过程里使用多个OUTPUT参数而您只能够使用个返回参数
什么是相关子查询?如何使用这些查询?
经验更加丰富开发人员将能够准确地描述这种类型查询
相关子查询是种包含子查询特殊类型查询查询里包含子查询会真正请求外部查询从而形成个类似于循环状况
关于面试过程思考
这些问题只不过是确定个SQL Server数据库开发人员是否合格起点根据应聘者对上面这些问题回答情况我可能会要求他们参加我TSQL编程考试般是套根据不同情况进行10到12个数据库查询
您需要自己决定将要雇用开发人员具有什么样专业技能然后需要通过自己经验、判断以及在面试时对应聘者感受(来做最终决定)

标签:

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: