数据库面试题.net】的更多相关文章

SQL数据库面试题 1.SQL SREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值 这种情况其实我们经常用到,比如我们新建了一个用户,建立完用户后我们希望马上得到这个新用户的ID,因为我们一般都是把这种用户ID的字段设置成自增长类型的,乍看起来好像没有要得到那个新ID很麻烦,其实sql server内置了一些全局的变量,使我们很容易就得到那个新的自增字段的ID,就是使用@@IDENTITY. 在一条 INSERT.SELECT INTO 或大容量复制语句完成后,@@IDEN…
1.用一条SQL语句 查询出每门课都大于80分的学生姓名 name   kecheng   fenshu 张三     语文       81张三     数学       75李四     语文       76李四     数学       90王五     语文       81王五     数学       100王五     英语       90 A: select distinct name from table where name not in (select distinct…
今天到某公司笔试,数据库考的比较多,但是说老实话,考的也比较基础.现在趁回忆得起来,将数据库知识简单整理如下: 一.建表指令 比如创建一个学生表student,它由学号Sno,姓名Sname,性别Ssex,年龄Sage,所在系Sdept五个属性组成.其中学号不能为空,值是唯一的,并且姓名取值也唯一. CREATE TABLE Student (Sno    CHAR(10) NOT NULL UNIQUE, Sname  CHAR(20) UNIQUE, Ssex    char(2), Sag…
1. Oracle跟SQL Server 2005的区别? 宏观上: 1). 最大的区别在于平台,oracle可以运行在不同的平台上,sql server只能运行在windows平台上,由于windows平台的稳定性和安全性影响了sql server的稳定性和安全性 2). oracle使用的脚本语言为PL-SQL,而sql server使用的脚本为T-SQL 微观上: 从数据类型,数据库的结构等等回答 2. 如何使用Oracle的游标? 1).  oracle中的游标分为显示游标和隐式游标 2…
1.取出表中第31到40行的记录 mysql方案:select * from t order by id limit 30,10 oracle方案: select t2.* from (select rownum r,t1.* from yourtable t1 where rownum<=40) t2 where t2.r>30 2.truncate和delete有什么区别 TRUNCATE TABLE在功能上与不带WHERE子句的DELETE语句相同,二者均删除表中的全部行.但TRUNCA…
数据库事务的四大特性 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚.因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响. 一致性(Consistency) 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态. 拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是50…
COUNT(*).明确的返回数据表中的数据个数,是最准确的 COUNT(列),返回数据表中的数据个数,不统计值为null的字段 COUNT(DISTINCT 字段) 返回数据表中不重复的的数据个数,不统计值为null的字段…
1.取出表中第31到40行的记录mysql方案: , oracle方案: select t2.* ) t2 2.truncate和delete有什么区别TRUNCATE TABLE在功能上与不带WHERE子句的DELETE语句相同,二者均删除表中的全部行.但TRUNCATE TABLE比DELETE 速度快,且使用的系统和事务日志资源少.DELETE 语句每次删除一行,并在事务日志中为所删除的每一行记录一项.TRUNCATE TABLE通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中…
create table employee( id ) not null, -- 员工工号 salary ,) not null, -- 薪水 name ) not null -- 姓名 ); 第一题: 表结构说明: 1.创建序列seq_employee,该序列每次取的时候它会自动增加,从1开始计数,不设最大值,并且一直累加,不循环. increment minvalue nomaxvalue nocycle nocache order; 2.写一个PL/SQL块,插入表user.employe…
1. Oracle跟SQL Server 2005的区别? 宏观上: 1). 最大的区别在于平台,oracle可以运行在不同的平台上,sql server只能运行在windows平台上,由于windows平台的稳定性和安全性影响了sql server的稳定性和安全性 2). oracle使用的脚本语言为PL-SQL,而sql server使用的脚本为T-SQL 微观上: 从数据类型,数据库的结构等等回答 2. 如何使用Oracle的游标? 1).  oracle中的游标分为显示游标和隐式游标 2…
1.ADO.net中常用的对象 connection, command, sqladapter, dataset, dataview. 2.net中读写数据库要用到哪些类 DataSet数据存储 DataCommand 执行语句 DataAdapter数据集合 3.写出一条SQL语句取出表A中第31到40的记录         select row name from(select row_number() over(order by id)as row,name from A) as AWit…
1.sql语句应该考虑哪些安全性? 1.防止sql注入,对特殊字符进行转义,过滤或者使用预编译的sql语句绑定变量. 2.最小权限原则,特别是不要用root账户,为不同的类型的动作或者组建使用不同的账户. 3.当sql运行出错时,不要把数据库返回的错误信息全部显示给用户,以防止泄漏服务器和数据库相关信息. 2.简单描述mysql中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响. 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记…
1. MySQL中索引什么作用? 索引的定义和创建的目的 1) 索引是对数据库表中一列或者多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息 2) 索引的分类:主键索引,唯一索引,常规索引,全文索引 3) 创建索引的目的就是加快检索表中的数据的速度,也就是查询数据的速度 索引是越多越好吗 1) 不是,索引过多的创建,会带来数据的写入的代价过高,即减慢数据写入速度 索引的创建为什么会影响写入的速度? 1) MyISAM引擎:数据的存储分为三个文件 * Table.frm 存储表定义…
Student(Sno,Sname,Sage,Ssex) 学生表 S1:学号:Sname:学生姓名:Sage:学生年龄:Ssex:学生性别 Course(Cno,Cname,T1) 课程表 C1,课程编号:Cname:课程名字:T1:教师编号 SC(Sno,Cno,score) 成绩表 S1:学号:C1,课程编号:score:成绩 Teacher(Tno,Tname) 教师表 T1:教师编号: Tname:教师名字 --建表 create table student( sno int prima…
原文出处:https://juejin.im/post/5a9ca0d6518825555c1d1acd 作者:Java3y 本文在原文基础上进行修改,而且没有特定针对MySQL. 一.存储过程(以及函数) 定义理解: 存储过程和函数是事先经过编译并存储在数据库中的一段SQL语句的集合. 二者的区别: 函数必须有返回值,而存储过程没有: 函数的参数只能是IN类型,存储过程的参数可以使用IN.OUT.INOUT类型. 优点: 对代码进行封装,功能强大,调用方便: 将数据处理放在数据库服务器上,减少…
1.MySQL 中有哪几种锁? (1)表级锁:开销小,加锁快:不会出现死锁:锁定粒度大,发生锁冲突的概率最 高,并发度最低. (2)行级锁:开销大,加锁慢:会出现死锁:锁定粒度最小,发生锁冲突的概率最 低,并发度也最高. (3)页面锁:开销和加锁时间界于表锁和行锁之间:会出现死锁:锁定粒度界于表 锁和行锁之间,并发度一般. 2.MySQL 中有哪些不同的表格? 共有 5 种类型的表格: (1)MyISAM (2)Heap (3)Merge (4)INNODB (5)ISAM 3.简述在 MySQ…
Student(stuId,stuName,stuAge,stuSex) 学生表 stuId:学号:stuName:学生姓名:stuAge:学生年龄:stuSex:学生性别 Course(courseId,courseName,teacherId) 课程表 courseId,课程编号:courseName:课程名字:teacherId:教师编号 Scores(stuId,courseId,score) 成绩表 stuId:学号:courseId,课程编号:score:成绩 Teacher(tea…
供Linux开发中的同学们,Shell这可以说是一个基本功. 对于同学们的操作和维护.Shell也可以说是一种必要的技能,Shell.对于Release Team,软件配置管理的同学来说.Shell也起到了非常关键的数据.尤其是分布式系统发展的如火如荼,非常多开源项目都开展的如火如荼(好像不是分布式的系统都不好意思拿出来说事).分布式系统的配置.管理,Shell也起到了非常关键的数据,尽管仅仅是简单的文件拷贝,可是谁让Shell天生是做这些的呢? 当然了,以上不是本文的主题.本文的主题是Shel…
对于在Linux下开发的同学来说,Shell可以说是一种基本功. 对于运维的同学来说,Shell可以说是一种必备的技能,而且应该要非常熟练的书写Shell.对于Release Team,软件配置管理的同学来说,Shell也起到了非常重要的作用.尤其是分布式系统发展的如火如荼,很多开源项目都开展的如火如荼(好像不是分布式的系统都不好意思拿出来说事).分布式系统的配置,管理,Shell也起到了非常重要的作用,虽然只是简单的文件拷贝,但是谁让Shell天生是做这些的呢? 当然了,以上不是本文的主题.本…
* 面试答案为LZ所写,如需转载请注明出处,谢谢. * 这里不涉及HiveSQL和HBase操作的笔试题,这些东西另有总结. 1.MR意义. MR是一个用于处理大数据的分布式离线计算框架,它采用”分而治之“的思想. 在分布式计算中,将分布式存储.分布式计算.负载均衡等复杂问题高度抽象成map和reduce两个过程. MR存在的意义在于它使得计算更廉价,大规模数据计算不再需要高级商用机器. 其次是这个软件的现成实现可以把程序员的精力集中在业务开发上,节省开发时间. 2.简述MR过程. MapRed…
1.kafka的message包括哪些信息 一个Kafka的Message由一个固定长度的header和一个变长的消息体body组成 header部分由一个字节的magic(文件格式)和四个字节的CRC32(用于判断body消息体是否正常)构成. 当magic的值为1的时候,会在magic和crc32之间多一个字节的数据:attributes(保存一些相关属性, 比如是否压缩.压缩格式等等):如果magic的值为0,那么不存在attributes属性 body是由N个字节构成的一个消息体,包含了…
1.栈和队列的共同特点是(只允许在端点处插入和删除元素) 4.栈通常采用的两种存储结构是(线性存储结构和链表存储结构) 5.下列关于栈的叙述正确的是(D)      A.栈是非线性结构B.栈是一种树状结构C.栈具有先进先出的特征D.栈有后进先出的特征 6.链表不具有的特点是(B)A.不必事先估计存储空间       B.可随机访问任一元素 C.插入删除不需要移动元素      D.所需空间与线性表长度成正比 7.用链表表示线性表的优点是(便于插入和删除操作) 8.在单链表中,增加头结点的目的是(…
1.storm基本架构 storm的主从分别为Nimbus.Supervisor,工作进程为Worker. 2.计算模型 Storm的计算模型分为Spout和Bolt,Spout作为管口.Bolt作为中间节点,数据传输的单元为tuple,每个tuple都有一个值列表, 需要注意这个值列表是带name列表的,Bolt只需要订阅Bolt/Spout的值列表的某些name,就能获得该Bolt/Spout传过来的相应字段的数据. 需要清楚并行度是怎么计算的,并行度其实就是Task的数目(也就是Bolt/…
问题描述: 现有海量日志数据保存在一个超大的文件中,该文件无法直接存入内存,要求从 中提取某天访问BD次数最多的IP 分析解读: 由于这个题目只关心某一天访问次数最多的IP,因此可以首先对文件进行一次遍历,把这一天访问的IP的相关信息记录到一个单独的文件中.接下来可以用之前的方法来进行求解.唯一需要确定的是把一个大文件分成多少个小文件比较合适.以IPV4为例子,由于一个IP地址占用32位,因此最多会有2^32=4G种取值情况.如果使用hash(IP)%1024值,那么把海量IP日志分别存储到10…
原文:http://1527zhaobin.iteye.com/blog/1537110 一.判断链表是否存在环型链表问题:   说明:判断一个链表是否存在环,例如下面这个链表就存在环,n1-->n2-->n3-->n4-->n5-->n2,环的开始结点是n5 解法:这里有个比较简单的解法:设两个指针p1,p2,每次循环p1向前走一步,之向前走两步,直到p2碰到NULL指针(无环)或两个指针相等结束循环算法(有环),即如果两个指针相等则说明存在环. 代码如下: /*节点数据结…
题目1: Mysql数据库用过吧?l里面的索引是基于什么数据结构. 答:主要是基于Hash表和B+树 题目2: 很好请你说一下B+树的实现细节是什么样的?B-树和B+树有什么区别?联合索引在B+树中如何存储? 答: 首先,数据库使用树型结构来增加查询效率,并保持有序.那么,为什么不使用二叉树来实现数据结构呢,二叉树算法时间复杂度是lg(N),查询速度和比较次数都是较小的. 实际上,查询索引操作最耗资源的不在内存中,而是磁盘IO.索引是存在磁盘上的,当数据量比较大的时候,索引的大小可能达到几个G.…
1. 下列哪项通常是集群的最主要瓶颈(C) A. CPU B. 网络 C. 磁盘IO D. 内存 2. 下列哪项可以作为集群的管理工具?(C) A.Puppet B.Pdsh C.ClouderaManager D.Zookeeper 3. 下列哪个是Hadoop 运行的模式?(ABC) A. 单机版 B. 伪分布式 C. 完全分布式 4. 列举几个hadoop 生态圈的组件并做简要描述 Zookeeper:是一个开源的分布式应用程序协调服务,基于zookeeper 可以实现同步服务, 配置维…
一.vector的底层(存储)机制 二.vector的自增长机制 三.list的底层(存储)机制 四.什么情况下用vector,什么情况下用list 五.list自带排序函数的排序原理 六.deque的底层机制 七.deque与vector的区别 八.map底层机制,查找复杂度,能不能边遍历边插入 九.vector插入删除和list有什么区别 十.hashtable如何避免地址冲突 十一.hashtable.hash_set.hash_map的区别 十二.hash_map与map的区别.什么时候…
今天去面试,遇到一个数据结构题,给定一个字符串,输出 最后一个 出现次数为1的字符 回来研究了下,代码如下: package com.pine.interview.test; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map.Entry; import java.util.Set; public class LinkedHashMapTes…
题目描述: 给定a.b两个文件,各存放50亿个url,每个url各占64B,内存限制是4GB,请找出a.b两个文件共同的url 分析: 由于每个url需要占64B,所以50亿个url占用空间大小为50亿×64=5GB×64=320GB.由于内存大小只有4GB,因此不可能一次性把所有的url加载到内存中处理.对于这种题目,一般采用分治法,即把一个文件中的url按照某一特征分成多个文件,使得每个文件的内容都小于4GB,这样就可以把这个文件一次性读入到内存中进行处理. 解答: 1.遍历文件a,对遍历带…