‘壹’ 数据库的面试会问什么问题
目前在职场中很难找到非常合格的数据库开发人员。有人说:“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限制而不是其他的方式来限制域的完整性。
<b?返回参数和output参数之间的区别是什么?>如果应聘者能够正确地回答这个问题,那么他的机会就非常大了,因为这表明他们具有使用存储过程的经验。
返回参数总是由存储过程返回,它用来表示存储过程是成功还是失败。返回参数总是int数据类型。
OUTPUT参数明确要求由开发人员来指定,它可以返回其他类型的数据,例如字符型和数值型的值。(可以用作输出参数的数据类型是有一些限制的。)您可以在一个存储过程里使用多个OUTPUT参数,而您只能够使用一个返回参数。
什么是相关子查询?如何使用这些查询?
经验更加丰富的开发人员将能够准确地描述这种类型的查询。
相关子查询是一种包含子查询的特殊类型的查询。查询里包含的子查询会真正请求外部查询的值,从而形成一个类似于循环的状况。</b?返回参数和output参数之间的区别是什么?>
‘贰’ 面试java程序员,PL/SQL学到什么程度可以过关
既然是Java程序员,CRUD语句熟悉,一些关联查询,基本的存储过程和触发器知道就行了,不用太深
‘叁’ sql掌握程度怎么说
掌握SQL三个层次:
1.熟悉基本的增删改查语句及函数,包括select、where、group by、having、order by、
delete、insert、join、update等,可以做日常的取数或简单的分析(该水平已经超过90%非IT同事);
⒉.掌握并熟练使用高阶语法,比如集合、分组聚合、子查询、条件逻辑、字符串函数、算术函数、日期时间函数,并且知道MySQL、Oracle、sQL Server等数据库的语法差异;
3.熟悉如何优化SQL语句,以期达到最高查询效率,了解事务、锁、索引、约束、视图、元数据等概念,并且学会使用hive sql、spark sql、pymysql等工具;
SQL Server系列软件是Microsoft 公司推出的关系型数据库管理系统。2008年10月,SQL Server 2008简体中文版在中国正式上市,SQL Server 2008 版本可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。可以对数据进行查询、搜索、同步、报告和分析之类的操作。数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,它都可以控制数据而不用管数据存储在哪里。
SQL Server 2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本。
‘肆’ 要做实施 需要了解SQL语句 什么程度
做实施的话需要了解的知识比较全面,但是不一定每个方面都不一定要深入,所以基本的SQL语句你要能明白是什么意思,能查看SQL错误信息等就可以了,更加深入的等你遇到具体问题的时候再学习即可。
‘伍’ 网管面试题 SQL知识
用sql语句解决计算机软硬件问题?
他们出题的人 脑子叫门挤了吧
要么是你没有听清楚。
‘陆’ 面试数据库实习生应该问哪些关于技术的问题
主要有:
a.关系型数据库理论基础;
b.如果数据库是Oracle,那队PL/SQL的掌握程度如何,还可以当场举个例子,让应聘者用纸写下来;如果数据库是MS SQL,那么对T-SQL掌握程度如何,同PL/SQL类似,举例实现;
c.同一个问题,分别用PL/SQL和Oracle实现;
d.编程基础如何,对C/Java的掌握如何,还有很多细节,暂不展开;
e.PL/SQL和T-SQL的游标有什么不一样;
f.重点问PL/SQL或者T-SQL的存储过程、函数;
g.遇到一个新的问题,该从哪些方面寻求帮助,或者解决思路
‘柒’ 面试的时候问你熟悉oracle数据库吗
如果是开发的话,那还是基于SQL这种语言的语法了,要多自己使用才能熟悉的。 对于oracle数据库来说,PL/SQL delelopment是重点,除了SQL,还要了解触发器trigger,存储过程procere,任务job,视图view等等。
‘捌’ 数据库 面试时候面试官常会问到哪些知识点,关于Sql server的。
应届一般都是建表,增,删,改,查,排序,分组,升序,降序,表连接(左右),有工作经验那就要求高啦,数据库优化,数据结构,存储过程,游标,sql脚本
‘玖’ 当面试官问你你有任何的sql的经验的时候我该怎么回答。我之前上过这个课
这个基本都是问项目经验,你就编一个项目,说一个类似的写sql的经验就可以。从什么表抽数或怎么抽数的,怎么运算的,然后怎么得到结果的,不过说的时候可以有所保留,实在说不明白的地方就说是上家公司的一些特定的人做的。这个一般讲课的时候老师会讲一两个只要记住就可以了。当然别把自己绕进去,因为如果真的没做过,而面试官还比较了解,那么很容易看出来的。
当然前提是会写sql语句,知道基本写法,而且至少要了解部分常用函数,分组,排序,子查询,以及表关联方式,如果这些都不知道,那么还是不要说比较好,容易漏。