`
reb12345reb
  • 浏览: 50274 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

SQL数据库应聘人员面试时经常被问的问题

阅读更多

目前在职场中很难找到非常合格的数据库开发人员。有人说:“SQL开发是一门语言,它很容易学,但是很难掌握。”

 

在面试应聘的SQL Server数据库开发人员时,我运用了一套标准的基准技术问题。下面这些问题是我觉得能够真正有助于淘汰不合格应聘者的问题。它们按照从易到难的顺序排 列。当你问到关于主键和外键的问题时,后面的问题都十分有难度,因为答案可能会更难解释和说明,尤其是在面试的情形下。

 

你能向我简要叙述一下SQL Server 2000中使用的一些数据库对象吗?

 

你希望听到的答案包括这样一些对象:表格、视图、用户定义的函数,以及存储过程;如果他们还能够提到像触发器这样的对象就更好了。如果应聘者不能回答这个基本的问题,那么这不是一个好兆头。

 

NULL是什么意思?

 

NULL(空)这个值是数据库世界里一个非常难缠的东西,所以有不少应聘者会在这个问题上跌跟头您也不要觉得意外。

 

NULL这个值表示UNKNOWN(未知):它不表示“”(空字符串)。假设您的 SQL Server数据库里有ANSI_NULLS,当然在默认情况下会有,对NULL这个值的任何比较都会生产一个NULL值。您不能把任何值与一个 UNKNOWN值进行比较,并在逻辑上希望获得一个答案。您必须使用IS NULL操作符。

 

什么是索引?SQL Server 2000里有什么类型的索引?

 

任何有经验的数据库开发人员都应该能够很轻易地回答这个问题。一些经验不太多的开发人员能够回答这个问题,但是有些地方会说不清楚。

 

简单地说,索引是一个数据结构,用来快速访问数据库表格或者视图里的数据。在SQL Server里,它们有两种形式:聚集索引和非聚集索引。聚集索引在索引的叶级保存数据。这意味着不论聚集索引里有表格的哪个(或哪些)字段,这些字段都 会按顺序被保存在表格。由于存在这种排序,所以每个表格只会有一个聚集索引。非聚集索引在索引的叶级有一个行标识符。这个行标识符是一个指向磁盘上数据的 指针。它允许每个表格有多个非聚集索引。

 

 

什么是主键?什么是外键?

 

主键是表格里的(一个或多个)字段,只用来定义表格里的行;主键里的值总是唯一的。外键是一个用来建立两个表格之间关系的约束。这种关系一般都涉及一个表格里的主键字段与另外一个表格(尽管可能是同一个表格)里的一系列相连的字段。那么这些相连的字段就是外键。

 

什么是触发器?SQL Server 2000有什么不同类型的触发器?

 

让未来的数据库开发人员知道可用的触发器类型以及如何实现它们是非常有益的。

触发器是一种专用类型的存储过 程,它被捆绑到SQL Server 2000的表格或者视图上。在SQL Server 2000里,有INSTEAD-OF和AFTER两种触发器。INSTEAD-OF触发器是替代数据操控语言(Data Manipulation Language,DML)语句对表格执行语句的存储过程。例如,如果我有一个用于TableA的INSTEAD-OF-UPDATE触发器,同时对这个 表格执行一个更新语句,那么INSTEAD-OF-UPDATE触发器里的代码会执行,而不是我执行的更新语句则不会执行操作。

 

AFTER触发器要在DML语句在数据库里使用之后才执行。这些类型的触发器对于监视发生在数据库表格里的数据变化十分好用。

 

您如何确一个带有名为Fld1字段的TableB表格里只具有Fld1字段里的那些值,而这些值同时在名为TableA的表格的Fld1字段里?

 

这个与关系相关的问题有两个可能的答案。第一个答案(而且是您希望听到的答案)是使 用外键限制。外键限制用来维护引用的完整性。它被用来确保表格里的字段只保存有已经在不同的(或者相同的)表格里的另一个字段里定义了的值。这个字段就是 候选键(通常是另外一个表格的主键)。

 

另外一种答案是触发器。触发器可以被用来保证以另外一种方式实现与限制相同的作用,但是它非常难设置与维护,而且性能一般都很糟糕。由于这个原因,微软建议开发人员使用外键限制而不是触发器来维护引用的完整性。

 

对一个投入使用的在线事务处理表格有过多索引需要有什么样的性能考虑?

 

你正在寻找进行与数据操控有关的应聘人员。对一个表格的索引越多,数据库引擎用来更新、插入或者删除数据所需要的时间就越多,因为在数据操控发生的时候索引也必须要维护。

 

你可以用什么来确保表格里的字段只接受特定范围里的值?

 

这个问题可以用多种方式来回答,但是只有一个答案是“好”答案。您希望听到的回答是Check限制,它在数据库表格里被定义,用来限制输入该列的值。

 

触发器也可以被用来限制数据库表格里的字段能够接受的值,但是这种办法要求触发器在表格里被定义,这可能会在某些情况下影响到性能。因此,微软建议使用Check限制而不是其他的方式来限制域的完整性。

 

 

 

如果应聘者能够正确地回答这个问题,那么他的机会就非常大了,因为这表明他们具有使用存储过程的经验。

 

返回参数总是由存储过程返回,它用来表示存储过程是成功还是失败。返回参数总是INT数据类型。

 

OUTPUT参数明确要求由开发人员来指定,它可以返回其他类型的数据,例如字符型和数值型的值。(可以用作输出参数的数据类型是有一些限制的。)您可以在一个存储过程里使用多个OUTPUT参数,而您只能够使用一个返回参数。

 

什么是相关子查询?如何使用这些查询?

 

经验更加丰富的开发人员将能够准确地描述这种类型的查询。

 

相关子查询是一种包含子查询的特殊类型的查询。查询里包含的子查询会真正请求外部查询的值,从而形成一个类似于循环的状况。

 

分享到:
评论

相关推荐

    SQL数据库应聘人员面试时经常被问的问题.rar

    SQL数据库应聘人员面试时经常被问的问题 目前在职场中很难找到非常合格的数据库开发人员。有人说:“SQL开发是一门语言,它很容易学,但是很难掌握。” 在面试应聘的SQL Server数据库开发人员时,我运用了一套标准的...

    SQL数据库应聘人员面试时经常被问的问题.doc

    在SQL数据库面试中,面试官通常会通过一系列问题来评估应聘者的技能和知识深度。以下是一些关键的SQL概念和面试问题的详细解释: 1. **数据库对象**:SQL Server 2000中的数据库对象包括表格、视图、用户定义的函数...

    数据库笔试题-SQL Server开发人员应聘常见问题妙解

    本文将深入探讨应聘SQL Server开发人员时常见的笔试题目及其解答策略,帮助求职者在面试中脱颖而出。 #### SQL Server基础知识 **知识点1:SQL Server版本** - SQL Server 2000是早期的一款产品,虽然当前主流已...

    sql数据库常见面试题

    数据库面试中,面试官经常通过一些常见面试题来考察应聘者对SQL语言的熟练程度,理解程度以及实际应用能力。本文将介绍一些SQL数据库的常见面试题,它们不仅覆盖了基础知识点,也包含了一些实际操作中的应用技巧。 ...

    SQL Server开发人员应聘常被问的问题妙解汇总

    SQL Server 开发人员在应聘时常常会被问及一系列专业问题,这些问题旨在评估他们的技能水平和对SQL Server的理解程度。以下是一些常见的面试问题及其详细解答: 1. **什么是数据库对象?** SQL Server中的数据库...

    数据库面试题SQL+ORACLE

    此外,还涉及了如何使用SQL查询工作人员及其领导的名字,这是面试中考察应聘者SQL基本应用能力的典型题目。 完整性约束是保证数据库数据准确性和可靠性的重要手段,包括实体完整性、参照完整性和用户定义完整性。第...

    SQL数据库面试题.zip

    这个"SQL数据库面试题.zip"压缩包很可能包含了针对SQL知识的一系列问题,旨在测试应聘者的查询能力、数据操作、数据库设计以及性能优化等方面的知识。下面,我们将深入探讨SQL数据库的一些关键知识点,帮助你更好地...

    SQLServer开发人员应聘经常问到的问题

    ### SQL Server 开发人员应聘常问问题解析 在IT行业中,SQL Server开发人员扮演着重要的角色,因此在招聘过程中,面试官经常会针对SQL Server的相关知识和技术进行深入提问。以下是一些常见的面试问题及其解答,...

    2022年SQL数据库经典面试题笔试题 (2).pdf

    在面试和笔试中,SQL的掌握程度经常被用来衡量应聘者的数据处理能力和数据库操作技能。以下将根据提供的题目内容,详细介绍几个关键的SQL知识点。 1. **分组与聚合函数**: 题目中的第一个问题是关于如何根据特定...

    SQL数据库经典面试题(笔试题).doc.docx

    面试中,SQL相关的题目经常被用来评估应聘者的数据处理能力和对数据库原理的理解。以下是对提供的面试题目的详细解答: 1. SQL `GROUP BY` 语句面试题: 给定的表记录了每天的比赛胜负情况。要生成指定的格式,...

    数据库管理员面试题

    总结来说,这两道题目不仅测试了应聘者对SQL语言的基础掌握,还考察了他们解决问题的能力,尤其是在处理数据整合和数据清洗等常见数据库管理任务时的策略思考。通过实践这些题目,可以显著提升个人在数据库领域的...

    SQL_Server数据库管理员面试题(DBA)

    ### SQL Server数据库管理员(DBA)面试题解析 #### 标题与描述中的知识点解析: **SQL Server数据库管理员(DBA)面试题**这一标题表明了本文档主要关注的是针对SQL Server数据库管理员岗位的面试题目及其解答思路。...

    SQL数据库经典编辑面试题(修改笔试题)(有规范标准答案).docx.pdf

    这些题目涵盖了SQL数据库的基本操作和查询技巧,是面试和笔试中常见的问题。下面将对这些问题进行详细解答: 问题28要求从`employee`表中抽取部门名称和平均工资,但要排除"humanresource"部门,并按照部门名称的...

    SQL数据库经典面试题(笔试题).doc.pdf

    面试中,SQL相关的问题经常被用来评估应聘者的数据处理能力和问题解决技巧。以下是一些基于给出的面试题的知识点详解: 1. **GROUP BY与CASE语句**: - GROUP BY语句用于将数据分组,常与聚合函数如SUM、COUNT等...

    .net 中sql面试题目,面试宝典

    这份压缩包文件,名为"SQL题目",显然包含了与.NET环境下的SQL Server面试相关的试题,旨在帮助应聘者准备数据库相关的面试环节。以下是一些重要的知识点,涵盖.NET开发中与SQL Server相关的面试常见问题和解答: 1...

    计算机网络和数据库面试问题汇总

    阻塞与非阻塞I/O以及同步与异步I/O的区别也是经常被问到的基础知识。 在数据库方面,面试问题通常集中在数据库的基本概念、事务、并发控制、索引、查询优化等。事务的ACID属性是关系型数据库中的核心概念,涉及原子...

    SQL数据库经典面试题(笔试题).pdf

    面试中,SQL相关的题目经常被用来评估应聘者对数据库操作的理解和熟练程度。以下是对这些经典面试题的详细解析: 1. 统计特定日期的胜负次数: 这道题目要求根据日期(rq)统计"胜"和"负"的次数。三种解决方案都...

    华为数据库面试题(面试必看)

    在华为的数据库面试中,这类问题旨在考察应聘者对SQL查询语言的理解以及处理复杂数据关系的能力。本题涉及的关键知识点包括: 1. **联接查询(JOIN)**:题目要求查询A表的所有数据,但不直接显示id,而是用B表中...

Global site tag (gtag.js) - Google Analytics