2020年python的面试题整理数据库篇

2020年python的面试题整理数据库篇
2020年python的面试题整理数据库篇

2020年python的面试题整理数据库篇MySQL

198.主键超键候选键外键

主键:数据库表中对存储数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null).

超键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。

候选键:是最小超键,即没有冗余元素的超键。

外键:在一个表中存在的另一个表的主键称此表的外键。

199.视图的作用,视图可以更改么?

视图是虚拟的表,与包含数据的表不一样,视图只包含使用时动态检索数据的查询;不包含任何列或数据。使用视图可以简化复杂的sql操作,隐藏具体的细节,保护数据;视图创建后,可以使用与表相同的方式利用它们。

视图不能被索引,也不能有关联的触发器或默认值,如果视图本身内有order by则对视图再次order by将被覆盖。

创建视图:create view xxx as xxxxxx

对于某些视图比如未使用联结子查询分组聚集函数Distinct Union等,是可以对其更新的,对视图的更新将对基表进行更新;但是视图主要用于简化检索,保护数据,并不用于更新,而且大部分视图都不可以更新。

200.drop,delete与truncate的区别

drop直接删掉表,truncate删除表中数据,再插入时自增长id又从1开始,delete删除表中数据,可以加where字句。

1.delete 语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行回滚操作。truncate table则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器,执行速度快。

2.表和索引所占空间。当表被truncate后,这个表和索引所占用的空间会恢复到初始大小,而delete操作不会减少表或索引所占用的空间。drop语句将表所占用的空间全释放掉。

3.一般而言,drop>truncate>delete

4.应用范围。truncate只能对table,delete可以是table和view

5.truncate和delete只删除数据,而drop则删除整个表(结构和数据)

6.truncate与不带where的delete:只删除数据,而不删除表的结构(定义)drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)索引(index);依赖于该表的存储过程/函数将被保留,但其状态会变为:invalid. 201.索引的工作原理及其种类

数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询,更新数据库表中数据。索引的实现通常使用B树以其变种B+树。

在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。

为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动)

202.连接的种类

203.数据库优化的思路

204.存储过程与触发器的区别

205.悲观锁和乐观锁是什么?

206.你常用的mysql引擎有哪些?各引擎间有什么区别?

Python经典面试题

1:Python如何实现单例模式? Python有两种方式可以实现单例模式,下面两个例子使用了不同的方式实现单例模式: 1. class Singleton(type): def __init__(cls, name, bases, dict): super(Singleton, cls).__init__(name, bases, dict) cls.instance = None def __call__(cls, *args, **kw): if cls.instance is None: cls.instance = super(Singleton, cls).__call__(*args, **kw) return cls.instance class MyClass(object): __metaclass__ = Singleton print MyClass() print MyClass() 2. 使用decorator来实现单例模式 def singleton(cls): instances = {} def getinstance(): if cls not in instances: instances[cls] = cls() return instances[cls] return getinstance @singleton class MyClass: … 2:什么是lambda函数? Python允许你定义一种单行的小函数。定义lambda函数的形式如下:labmda 参数:表达式lambda函数默认返回表达式的值。你也可以将其赋值给一个变量。lambda函数可以接受任意个参数,包括可选参数,但是表达式只有一个:>>> g = lambda x, y: x*y >>> g(3,4) 12 >>> g = lambda x, y=0, z=0: x+y+z >>> g(1) 1

数据库面试题及答案

数据库面试题 1 1. 在一个查询中,使用哪一个关键字能够除去重复列值? 答案:使用distinct关键字 2. 什么是快照?它的作用是什么? 答案:快照Snapshot是一个文件系统在特定时间里的镜像,对于在线实时数据备份非常有用。快照对于拥有不能停止的应用或具有常打开文件的文件系统的备份非常重要。对于只能提供一个非常短的备份时间而言,快照能保证系统的完整性。 3. 解释存储过程和触发器 答案: 存储过程是一组Transact-SQL语句,在一次编译后可以执行多次。因为不必重新编译Transact-SQL语句,所以执行存储过程可以提高性能。 触发器是一种特殊类型的存储过程,不由用户直接调用。创建触发器时会对其进行定义,以便在对特定表或列作特定类型的数据修改时执行。 4. SQL Server是否支持行级锁,有什么好处? 答案:支持动态行级锁定 SQL Server 2000动态地将查询所引用的每一个表的锁定粒度调整到合适的级别。当查询所引用的少数几行分散在一个大型表中时,优化数据并行访问的最佳办法是使用粒度锁,如行锁。但是,如果查询引用的是一个表中的大多数行或所有行,优化数据并行访问的最佳办法可以是锁定整个表,以尽量减少锁定开销并尽快完成查询。 SQL Serve 2000通过为每个查询中的每个表选择适当的锁定级别,在总体上优化了数据并发访问。对于一个查询,如果只引用一个大型表中的几行,则数据库引擎可以使用行级锁定;如果引用一个大型表的几页中的多行,则使用页级锁定;如果引用一个小型表中的所有行,则使用表级锁定。 5. 数据库日志干什么用,数据库日志满的时候再查询数据库时会出现什么情况。答案:每个数据库都有事务日志,用以记录所有事务和每个事务对数据库所做的修改。 6. 存储过程和函数的区别? 答案:存储过程是用户定义的一系列SQL语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表 7. 事务是什么? 答案:事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务: (1) 原子性 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。

Python面试题及答案

P y t h o n面试题及答案 TTA standardization office【TTA 5AB- TTAK 08- TTA 2C】

2018年最新P y t h o n面试题及答案找工作是每个学习Python人员的目标,为了更好的找到工作,刷面试题是必不可少的,了解最新企业招聘试题,可以让你面试更加的顺利。小编整理了一些20XX年最新的Python面试题,来测测你技术的掌握度吧。 1、Python里面如何拷贝一个对象( 赋值,浅拷贝,深拷贝的区别) 答:赋值(=),就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个。 浅拷贝:创建一个新的对象,但它包含的是对原始对象中包含项的引用(如果用引用的方式修改其中一个对象,另外一个也会修改改变){1,完全切片方法;2,工厂函数,如list();3,copy模块的copy()函数} 深拷贝:创建一个新的对象,并且递归的复制它所包含的对象(修改其中一个,另外一个不会改变){copy模块的()函数} 2、Python里面match()和search()的区别? 答:re模块中match(pattern,string[,flags]),检查string的开头是否与pattern匹配。 re模块中research(pattern,string[,flags]),在string搜索pattern的第一个匹配值。 >>>print(‘super’, ‘superstition’).span())

(0, 5) >>>print(‘super’, ‘insuperable’)) None >>>print(‘super’, ‘superstition’).span()) (0, 5) >>>print(‘super’, ‘insuperable’).span()) (2, 7) 3、有没有一个工具可以帮助查找python的bug和进行静态的代码分析? 答:PyChecker是一个python代码的静态分析工具,它可以帮助查找python代码的bug, 会对代码的复杂度和格式提出警告 Pylint是另外一个工具可以进行codingstandard检查 4、简要描述Python的垃圾回收机制(garbage collection)。 答案 这里能说的很多。你应该提到下面几个主要的点: Python在内存中存储了每个对象的引用计数(reference count)。如果计数值变成0,那么相应的对象就会小时,分配给该对象的内存就会释放出来用作他用。 偶尔也会出现引用循环(reference cycle)。垃圾回收器会定时寻找这个循环,并将其回收。举个例子,假设有两个对象o1和o2,而且符合 == o2和 == o1这两个条件。如果o1和o2没有其他代码引用,那么它们就不应该继续存在。但它们的引用计数都是1。

数据库笔试题及标准答案,常见数据库面试题

数据库笔试卷及答案 第一套 一.选择题 1. 下面叙述正确的是______。 A、算法的执行效率与数据的存储结构无关 B、算法的空间复杂度是指算法程序中指令(或语句)的条数 C、算法的有穷性是指算法必须能在执行有限个步骤之后终止 D、以上三种描述都不对 2. 以下数据结构中不属于线性数据结构的是______。A、队列B、线性表C、二叉树D、栈 3. 在一棵二叉树上第5层的结点数最多是______。A、8 B、16 C、32 D、15 4. 下面描述中,符合结构化程序设计风格的是______。 A、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B、模块只有一个入口,可以有多个出口 C、注重提高程序的执行效率 D、不使用goto语句 5. 下面概念中,不属于面向对象方法的是______。 A、对象 B、继承 C、类 D、过程调用 6. 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______。 A、可行性分析 B、需求分析 C、详细设计 D、程序编码 7. 在软件开发中,下面任务不属于设计阶段的是______。 A、数据结构设计 B、给出系统模块结构 C、定义模块算法 D、定义需求并建立系统模型 8. 数据库系统的核心是______。 A、数据模型 B、数据库管理系统 C、软件工具 D、数据库 9. 下列叙述中正确的是______。 A、数据库是一个独立的系统,不需要操作系统的支持 B、数据库设计是指设计数据库管理系统 C、数据库技术的根本目标是要解决数据共享的问题 D、数据库系统中,数据的物理结构必须与逻辑结构一致 10. 下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。 A、内模式 B、外模式 C、概念模式 D、逻辑模式 11. Visual FoxPro数据库文件是______。 A、存放用户数据的文件 B、管理数据库对象的系统文件 C、存放用户数据和系统的文件 D、前三种说法都对 12. SQL语句中修改表结构的命令是______。 A、MODIFY TABLE B、MODIFY STRUCTURE C、ALTER TABLE D、ALTER STRUCTURE 13. 如果要创建一个数据组分组报表,第一个分组表达式是"部门",第二个分组表达式是"性别",第三个分组表达式是"基本工资",当前索引的索引表达式应当是______。 A、部门+性别+基本工资 B、部门+性别+STR(基本工资) C、STR(基本工资)+性别+部门 D、性别+部门+STR(基本工资) 14. 把一个工程编译成一个应用程序时,下面的叙述正确的是______。 A、所有的工程文件将组合为一个单一的应用程序文件 B、所有工程的包含文件将组合为一个单一的应用程序文件

sql数据库基础面试题复习试题考试题_全

不定项选择题(针对以下题目,请选择最符合题目要求的答案,每道题有一项或二项正确答案。针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。题量为50道,每题2分,总分为100分。) 第一章 1、是SQLServer数据库的主数据文件的扩展名。(选择一项) A、.sql B、.mdb C、.ldf D、.mdf 2、在SQL Server 2005中,有系统数据库和用户数据库,下列不属于系统数据库的是()。 (选择一项) A、master B、pubs C、model D、msdb 3、当安装完SQL Server2005数据库时,系统默认当前的超级管理员是( ) (选择一项) A、sa B、master C、administrator D、super 4、在使用SQL Server2005数据库时,有时需要将本机的数据库移动到其他机器上,恢复成对应的数据库使用。移动数据库分两步进行,应包括()和附加数据库(选择一项)A、分离数据库 B、删除数据库 C、新建数据库 D、合并数据库 5、在SQL Server2005中,附加数据库操作是指()(选择一项) A、把SQL Server 数据库文件保存为其他数据文件 B、根据数据库物理文件中的信息,把数据库在SQL Server 2005中恢复 C、把所有该数据库表的数据清空 D、把数据库删除掉 6、某单位由不同的部门组成,不同的部门每天都会生产一些报告、报表等数据,以为都采用纸张的形式来进行数据的保存和分类,随着业务的发展,这些数据越来越多,管理这些报告越来越费力,此时应考虑()(选择一项) A、由多个人来完成这些工作 B、在不同的部门中,由专门的人员去管理这些数据 C、采用数据库系统来管理这些数据 D、把这些数据统一成一样的格式 7、在SQL Server 2005中,对于数据库的定义正确的是()(选择一项) A、数据库是用来描述事物的符号记录 B、数据库是位于用户与操作系统之间的一层数据管理软件

常见SQL数据库面试题和答案(一)

常见SQL数据库面试题和答案(一) Student(S#,Sname,Sage,Ssex) 学生表S#:学号;Sname:学生姓名;Sage:学生年龄;Ssex:学生性别 Course(C#,Cname,T#) 课程表C#,课程编号;Cname:课程名字;T#:教师编号 SC(S#,C#,score) 成绩表S#:学号;C#,课程编号;score:成绩 Teacher(T#,Tname) 教师表T#:教师编号;Tname:教师名字 问题: 1、查询“001”课程比“002”课程成绩高的所有学生的学号; select # from (select s#,score from SC where C#='001') a,(select s#,score from SC where C#='002') b where > and #=#; 2、查询平均成绩大于60分的同学的学号和平均成绩; select S#,avg(score) from sc group by S# having avg(score) >60; 3、查询所有同学的学号、姓名、选课数、总成绩; select #,,count#),sum(score) from Student left Outer join SC on #=# group by #,Sname 4、查询姓“李”的老师的个数; select count(distinct(Tname)) from Teacher where Tname like '李%'; 5、查询没学过“叶平”老师课的同学的学号、姓名; select #, from Student where S# not in (select distinct( #) from SC,Course,Teacher where #=# and #=# and ='叶平'); 6、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名; select #, from Student,SC where #=# and #='001'and exists( Select * from SC as SC_2 where #=# and #='002'); 7、查询学过“叶平”老师所教的所有课的同学的学号、姓名; select S#,Sname from Student where S# in (select S# from SC ,Course ,Teacher where #=# and #=# and ='叶平' group by S# having count#)=(select count(C#) from Course,Teacher where #=# and Tname='叶平')); 8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;Select S#,Sname from (select #,,score ,(select score from SC SC_2 where #=# and #='002') score2

数据库笔试题 - 答案

XXXX感谢您对本套试题的回答,首先请您填写上您的姓名(____________),本套试题将作为XXXX入职的参考,多谢您的重视。本套试题分三部分:填空题(10分)、选择题(20分),SQL 基础题(30)、简答题(20)、综合题(30)。时间60分钟,满分110分。 一、填空题(每题2分,共10分) 1. 索引字段值不唯一,应该使用的索引类型为( 普通索引 ) 2. 只有满足联接条件的记录才包含在查询结果中,这种联接为( 内联接) 3. E-R模型的组成包括那些元素( 实体 )( 属性)( 关系) 4. 事务所具有的特性有( 原子性)( 一致性)( 隔离性)( 持久性) 5、结构化程序设计的三种基本逻辑结构是(顺序结构),(选择结构),(循环结构)。 二、选择提(每题1分,共20分) 1、在删除整表数据,同时保留表结构时,采用( C )的效率比( A )要高; A. delete B. drop table C. truncate Table 2、数据库管理系统中,能实现对数据库中的数据进行插入/修改/删除的功能称为(C); A.数据定义功能 B.数据管理功能 C.数据操作功能 D.数据控制功能 3、2 4、在关系模型中,实现"关系中不允许出现相同的元组"的约束是通过(B)。 A:候选键B:主键C:外键D:超键 4、数据库管理系统DBMS S是( D); A.信息管理的应用软件 B.数据库系统+应用程序 C.管理中的数据库 D.管理数据的软件 5、关系数据库中,实现表与表之间的联系是通过(B)。 A、实体完整性规 B、参照完整性规则 C、用户自定义的完整性 D、值域 6、设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员,则部门与职员实体之间的联系类型(B)。 A、m:n B、1:m C、m:1 D、1:1 7、设有课程和学生两个实体,每个学生可以选修多个课程,一个课程可以有多名学生选修,则课程与学生实体之间的联系类型( A )。 A、m:n B、1:m C、m:1 D、1:1 8、如果一个班只能有一个班长,而且一个班长不能同时担任其它班的班长,班级和班长两个实体之间的关系属于(D)。 A、m:n B、1:m C、m:1 D、1:1 9、索引字段值不唯一,应该选择的索引类型为( B )。 A:主索引 B:普通索引C:候选索引D:唯一索引 10、如果指定参照完整性的删除规则为"级联",则当删除父表中的记录时( C )。 A:系统自动备份父表中被删除记录到一个新表中 B:若子表中有相关记录,则禁止删除父表中记录 C:会自动删除子表中所有相关记录

数据库面试题数据库的面试题及答案

数据库面试题:数据库的面试题及答案 疯狂代码 https://www.360docs.net/doc/3813485778.html,/ ?:http:/https://www.360docs.net/doc/3813485778.html,/DataBase/Article25003.html . 数据库切换日志的时候,为什么一定要发生检查点?这个检查点有什么意义? 答:触发dbwr的执行,dbwr会把和这个日志相关的所有脏队列写到数据文件里,缩短实例恢复所需要的时间。 2. 表空间管理方式有哪几种,各有什么优劣。 答:字典管理方式和本地管理方式,本地管理方式采用位图管理extent,减少字典之间的竞争,同时避免了碎片。 本地管理表空间与字典管理表空间相比,其优点如下: 1).减少了递归空间管理; 2).系统自动管理extents大小或采用统一extents大小; 3).减少了数据字典之间的竞争; 4).不产生回退信息; 5).不需合并相邻的剩余空间; 6).减少了空间碎片; 7).对临时表空间提供了更好的管理。 3. 本地索引与全局索引的差别与适用情况。 答:对于local索引,每一个表分区对应一个索引分区,当表的分区发生变化时,索引的维护由Oracle自动进行。对于global索引,可以选择是否分区,而且索引的分区可以不与表分区相对应。当对分区进行维护操作时 ,通常会导致全局索引的INVALDED,必须在执行完操作后REBUILD。Oracle9i提供了UPDATE GLOBAL INDEXES语句,可以使在进行分区维护的同时重建全局索引。 4. 一个表a varchar2(1),b number(1),c char(2),有100000条记录,创建B-Tree索引在字段a上,那么表与索引谁大?为什么? 答:这个要考虑到rowid所占的字节数,假设char总是占用2字节的情况,比较rowid,另外,table和index在segment free block的管理也有差别。 5. Oracle9i的data guard有几种模式,各有什么差别。 答:三种模式: 最大性能(maximize performance):这是data guard默认的保护模式。primay上的事务commit前不需要从standby上收到反馈信息。该模式在primary故障时可能丢失数据,但standby对primary的性能影响最小。 最大可用(maximize availability):在正常情况下,最大可用模式和最大保护模式一样;在standby不可用时 ,最大可用模式自动最大性能模式,所以standby故障不会导致primay不可用。只要至少有一个standby可用的情况下,即使primarydown机,也能保证不丢失数据。 最大保护(maximize protection):最高级别的保护模式。primay上的事务在commit前必须确认redo已经传递到至少一个standby上,如果所有standby不可用,则primary会挂起。该模式能保证零数据丢失。 6. 执行计划是什么,查看执行计划一般有哪几种方式。 答:执行计划是数据库内部的执行步骤: set autotrace on select * from table

最新python 笔试题

Python基础知识笔试 1 2 3 一、单选题(2.5分*20题) 4 1. 下列哪个表达式在Python中是非法的? B 5 A. x = y = z = 1 6 B. x = (y = z + 1) 7 C. x, y = y, x 8 D. x += y 9 2. python my.py v1 v2 命令运行脚本,通过 from sys impor t argv如何获得v2的参数值? C 10 11 A. argv[0] 12 B. argv[1] 13 C. argv[2] 14 D. argv[3] 15 3. 如何解释下面的执行结果? B 16 print 1.2 - 1.0 == 0.2 17 False 18 A. Python的实现有错误 19 B. 浮点数无法精确表示 20 C. 布尔运算不能用于浮点数比较 D. Python将非0数视为False 21 22 4. 下列代码执行结果是什么? D

23 x = 1 24 def change(a): 25 x+= 1 26 print x 27 change(x) 28 A. 1 29 B. 2 30 C. 3 D. 报错 31 32 5. 下列哪种类型是Python的映射类型? D 33 A. str 34 B. list 35 C. tuple 36 D. dict 6. 下述字符串格式化语法正确的是? D 37 38 A. 'GNU's Not %d %%' % 'UNIX' 39 B. 'GNU\'s Not %d %%' % 'UNIX' C. 'GNU's Not %s %%' % 'UNIX' 40 41 D. 'GNU\'s Not %s %%' % 'UNIX' 42 7. 在Python 2.7中,下列哪种是Unicode编码的书写方式?C A. a = ‘中文’ 43 44 B. a = r‘中文’

数据库面试题

1.事务四大特性 原子性,要么执行,要么不执行 隔离性,所有操作全部执行完以前其它会话不能看到过程 一致性,事务前后,数据总额一致 持久性,一旦事务提交,对数据的改变就是永久的 2.数据库隔离级别 脏读:事务B读取事务A还没有提交的数据 不可重复读:两次事务读的数据不一致 幻读:事务A修改了数据,事务B也修改了数据,这时在事务A看来,明明修改了数据,咋不一样 3.MYSQL的两种存储引擎区别(事务、锁级别等等),各自的适用场景 4.索引有B+索引和hash索引 5.聚集索引和非聚集索引

6.索引的优缺点,什么时候使用索引,什么时候不能使用索引 索引最大的好处是提高查询速度, 缺点是更新数据时效率低,因为要同时更新索引 对数据进行频繁查询进建立索引,如果要频繁更改数据不建议使用索引。 7.InnoDB索引和MyISAM索引的区别 一是主索引的区别,InnoDB的数据文件本身就是索引文件。而MyISAM的索引和数据是分开的。二是辅助索引的区别:InnoDB的辅助索引data域存储相应记录主 8.索引的底层实现(B+树,为何不采用红黑树,B树)重点 树区别 红黑树增加,删除,红黑树会进行频繁的调整,来保证红黑树的性质,浪费时间 B树也就是B-树B树,查询性能不稳定,查询结果高度不致,每个结点保存指向真实数据的指针,相比B+树每一层每屋存储的元素更多,显得更高一点。 B+树B+树相比较于另外两种树,显得更矮更宽,查询层次更浅 9.B+树的实现 一个m阶的B+树具有如下几个特征: 1.有k个子树的中间节点包含有k个元素(B树中是k-1个元素),每个元素不保存数据,只用来索引,所有数据都保存在叶子节点。 2.所有的叶子结点中包含了全部元素的信息,及指向含这些元素记录的指针,且叶子结点本身依关键字的大小自小而大顺序链接。 3.所有的中间节点元素都同时存在于子节点,在子节点元素中是最大(或最小)元素10.为什么使用B+Tree 索引查找过程中就要产生磁盘I/O消耗,主要看IO次数,和磁盘存取原理有关。根据B-Tree的定义,可知检索一次最多需要访问h个节点。数据库系统的设计者巧妙利用了磁

数据库面试题答案

数据库 SQL面试题 1)谈一下数据库的索引的原理,如何发挥作用的?针对插入操作索引会起正面作用么? 索引类似于书的目录,主要用于提高查询效率,也就是按条件查询的时候,先查询索引,再通过索引找到相关的数据,索引相当于记录了对某个关键词,指定到不同的文件,或者文件里的不同位置的结构 索引会降低数据更新的效率,当插入、修改、删除时会引起索引结构的更新 2) 数据库表里如果数据行数很多,做分页查询,SQL如何书写? 3) 说说group by, having是做什么的,举一个group by的例子 4) 说说外连接和连接的区别 5) 事务是什么概念,举例说明 6) 一个表:emp(,性别,年龄,工作类型,领导,工资,部门) a) 列出每个部门的最高工资和最低工资 Select max(工资),min(工资) from emp group by部门 b) 列出各部门’工作类型’为’普通职员’的最低和最高工资 Select max(工资),min(工资) from emp group by部门 Where工作类型=’普通职员’ c) 列出高于本部门平均工资的员工,工资,部门 select ,工资,部门 from emp e1 where工资>( select avg(工资) from emp e2 where e2. 部门=e1.部门 ) 存储过程和函数的区别是什么? 答:存储过程是用户定义的一系列SQL语句的集合,涉及特定表或其他对象的任务,用户可以调用存储过程。而函数通常是数据库已定义的方法,它接受参数并返回某种类型的值,并且不涉及特定用户表。 4.事务是什么? 答:事务是作为一个逻辑单元执行的一系列操作。一个逻辑工作单元必须有4个属性,称为ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能称为一个事务。 5.游标的作用是什么?如何知道游标已经到了最后? 答:游标用于定位结果集的行。通过判断全局变量FETCH_STATUS可以判断其是否到了最后。通常此变量不等于0表示出错或到了最后。

Python面试题及答案

2018年最新Python面试题及答案 找工作是每个学习Python人员的目标,为了更好的找到工作,刷面试题是必不可少的,了解最新企业招聘试题,可以让你面试更加的顺利。小编整理了一些2017年最新的Python面试题,来测测你技术的掌握度吧。 1、Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别) 答:赋值(=),就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个。 浅拷贝:创建一个新的对象,但它包含的是对原始对象中包含项的引用(如果用引用的方式修改其中一个对象,另外一个也会修改改变){1,完全切片方法;2,工厂函数,如list();3,copy模块的copy()函数} 深拷贝:创建一个新的对象,并且递归的复制它所包含的对象(修改其中一个,另外一个不会改变){copy模块的()函数} 2、Python里面match()和search()的区别? 答:re模块中match(pattern,string[,flags]),检查string的开头是否与pattern匹配。 re模块中research(pattern,string[,flags]),在string搜索pattern的第一个匹配值。 >>>print(‘super’, ‘superstition’).span()) (0, 5) >>>print(‘super’, ‘insuperable’)) None

>>>print(‘super’, ‘superstition’).span()) (0, 5) >>>print(‘super’, ‘insuperable’).span()) (2, 7) 3、有没有一个工具可以帮助查找python的bug和进行静态的代码分析? 答:PyChecker是一个python代码的静态分析工具,它可以帮助查找python 代码的bug, 会对代码的复杂度和格式提出警告 Pylint是另外一个工具可以进行codingstandard检查 4、简要描述Python的垃圾回收机制(garbage collection)。 答案 这里能说的很多。你应该提到下面几个主要的点: Python在内存中存储了每个对象的引用计数(reference count)。如果计数值变成0,那么相应的对象就会小时,分配给该对象的内存就会释放出来用作他用。 偶尔也会出现引用循环(reference cycle)。垃圾回收器会定时寻找这个循环,并将其回收。举个例子,假设有两个对象o1和o2,而且符合 == o2和 == o1这两个条件。如果o1和o2没有其他代码引用,那么它们就不应该继续存在。但它们的引用计数都是1。 Python中使用了某些启发式算法(heuristics)来加速垃圾回收。例如,越晚创建的对象更有可能被回收。对象被创建之后,垃圾回收器会分配它们所属的代(generation)。每个对象都会被分配一个代,而被分配更年轻代的对象是优先被处理的。

数据库系统概论期末试题与答案(整理版)

《数据库原理及应用》试题1 一、选择题 1、数据库系统的基本特征是_________。 A 、数据的统一控制 B 、数据共享性和统一控制 C 、数据共享性、独立性和冗余度小 D 、数据共享性和数据独立性 (难度系数C )正确答案:C 2、DB 、DBMS 和DBS 三者之间的关系是_________。 A 、DBS 与D B 和DBMS 无关 B 、DBMS 包括DBS 和DB C 、DB 包括DBMS 和DBS D 、DBS 包括DB 和DBMS (难度系数B )正确答案:D 3、设有关系R 和S ,关系代数 S)(R R -- 表示的是_________。 A 、R ∩S B 、R ―S C 、R ÷S D 、R ∪S (难度系数B )正确答案:A 4、自然连接是构成新关系的有效方法。一般情况下,当对关系R 和S 使用 自然连接时,要求R 和S 含有一个或多个共有的__________。 A 、行 B 、属性 C 、记录 D 、元组 (难度系数C )正确答案:B 5、以下是信息世界的模型,且实际上是现实世界到机器世界的一个中间层 次的是_________。 A 、数据模型 B 、概念模型 C 、关系模型 D 、E-R 图 (难度系数C )正确答案:C 6、构成E —R 模型的三个基本要素是_________。 A 、实体、属性值、关系; B 、实体、属性、联系; C 、实体、实体集、联系; D 、实体、实体集、属性; (难度系数C )正确答案:B 7、在关系代数运算中,五种基本运算为_________。

A 、并、差、选择、投影、连接 B 、并、交、选择、投影、笛卡尔积 C 、并、差、选择、投影、笛卡尔积 D 、并、除、投影、笛卡尔积、选择 (难度系数B )正确答案:C 8、在下列关于规范化理论的叙述中,不正确的是_________。 A 、任何一个关系模式一定有键。 B 、任何一个包含两个属性的关系模式一定满足3NF 。 C 、任何一个包含两个属性的关系模式一定满足BCNF 。 D 、任何一个包含三个属性的关系模式一定满足2NF 。 (难度系数B )正确答案:D 9、设有关系模式R(A,B,C)和S(C,D)。与SQL 语句“SELECT A,B,D FROM R,S WHERE R.C=S.C ”等价的关系代数表达式为_________。 A 、S))(R (σπS.C R.C D B,A,?= B 、S))(R (πσD B,A,S. C R.C ?= C 、(S))π(R)(πσ D B A,S.C R.C ?= D 、S)(R))(π(πσB A,D S.C R.C ?= (难度系数A )正确答案:A 10、SQL 的视图是从_________中导出的。 A 、基本表 B 、视图 C 、数据库 D 、基本表或视图 (难度系数C )正确答案:D 11、用如下的SQL 语句创建一个Teacher 表 CREATE TABLE Teacher ( TNO Char(6) NOT NULL, NAME Char(8) NOT NULL, SEX Char(2), SAL INT, SDETP char(12) check (SDEPT IN(‘IS ’,’MA ’,’CS ’))) 可以插入到Teacher 表中的元组是_________。 A 、(‘T0203’,‘刘刚’,NULL ,NULL ,‘IS ’) B 、( NULL , ‘王芳’,‘女’,‘1200’,‘CS ’) C 、(‘T0111’,NULL ,‘男’,23,‘MA ’) D 、(‘T0101’,‘李华’,男,2100,‘EN ’) (难度系数A )正确答案:A

数据库面试问题汇总

数据库面试问题汇总 1.数据库管理命令 1.1查询所有数据库 ---- show databases; 1.2创建数据库,并将数据库字符集默认为utf-8 ----create database day814 ----default character set utf8 -----; 1.3查看数据库的默认字符集 ----show create database day814; 1.4 删除数据库 ---- drop database day15; 1.5 修改数据库(即修改数据库的默认字符集) -----alert database day814 default character set gbk; 2.表管理命令 2.1选择数据库命令 ----- use day814; 2.2查看所有表 ---- show tables; 2.3 创建表 ---- create table student( -----sid int, -----sage int, -----sname varchar(20) -----); 2.4 查看表结构 ------desc student; 2.5 删除表 ----- drop table student; 2.6 修改表 添加字段 -----alter table student add column sgender varchar(2); 删除字段 -----alter table studnet drop column s gender; 修改字段类型 -----alter table student modify column sgender varchar(100); 修改字段名称 -----alter table student change column sgender gender varchar(100); 修改表名称 -----alter table student rename to teacher; 3.数据管理

20道python面试题

对于机器学习算法工程师而言,Python是不可或缺的语言,它的优美与简洁令人无法自拔。那么你了解过Python编程面试题吗?今天我们就来了解一下! 1、python下多线程的限制以及多进程中传递参数的方式 python多线程有个全局解释器锁(global interpreter lock),这个锁的意思是任一时间只能有一个线程使用解释器,跟单cpu跑多个程序一个意思,大家都是轮着用的,这叫“并发”,不是“并行”。 多进程间共享数据,可以使用 multiprocessing.Value和multiprocessing.Array。 2、什么是lambda函数?它有什么好处? lambda 函数是一个可以接收任意多个参数(包括可选参数)并且返回单个表达式值的函数。lambda 函数不能包含命令,它们所包含的表达式不能超过一个。不要试图向lambda 函数中塞入太多的东西;如果你需要更复杂的东西,应该定义一个普通函数,然后想让它多长就多长。 3、Python是如何进行类型转换的? ①函数描述 ② int(x [,base ]) 将x转换为一个整数 ③long(x [,base ]) 将x转换为一个长整数 ④float(x ) 将x转换到一个浮点数 ⑤complex(real [,imag ]) 创建一个复数 ⑥str(x ) 将对象 x 转换为字符串 ⑦repr(x ) 将对象 x 转换为表达式字符串 ⑧eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象 ⑨tuple(s ) 将序列 s 转换为一个元组 ⑩list(s ) 将序列 s 转换为一个列表 ?chr(x ) 将一个整数转换为一个字符 ?unichr(x ) 将一个整数转换为Unicode字符 ?ord(x ) 将一个字符转换为它的整数值 ?hex(x ) 将一个整数转换为一个十六进制字符串 ?oct(x ) 将一个整数转换为一个八进制字符串 4、python多线程与多进程的区别

oracle数据库面试题目汇总

1. 对字符串操作的函数? 答:ASCII()--函数返回字符表达式最左端字符的ASCII 码值 CHR()--函数用于将ASCII 码转换为字符 --如果没有输入0 ~ 255 之间的ASCII 码值CHR 函数会返回一个NULL 值 --应该是必须给chr()赋数字值 concat(str,str)连接两个字符串 LOWER()--函数把字符串全部转换为小写 UPPER()--函数把字符串全部转换为大写 LTRIM()--函数把字符串头部的空格去掉 RTRIM()--函数把字符串尾部的空格去掉 TRIM() --同时去掉所有两端的空格 实际上LTRIM(),RTRIM(),TRIM()是将指定的字符从字符串中裁减掉 其中LTRIM(),RTRIM()的格式为xxxx(被截字符串,要截掉的字符串), 但是TRIM()的格式为TRIM(要截掉的一个字符from 被截的字符串) SUBSTR()--函数返回部分字符串 INSTR(String,substring) --函数返回字符串中某个指定的子串出现的开 始位置,如果不存在则返回0 REPLACE(原来的字符串,要被替换掉的字符串,要替换成的字符串) SOUNDEX()--函数返回一个四位字符码 --SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数

对数字和汉字均只返回NULL 值 2、事务概念 答案:事务是这样一种机制,它确保多个SQL语句被当作单个工作单元来处理。事务具有以下的作用: * 一致性:同时进行的查询和更新彼此不会发生冲突,其他用户不会看到发生了变化但尚未提交的数据。 * 可恢复性:一旦系统故障,数据库会自动地完全恢复未完成的事务。 3、oracle中查询系统时间 答:select sysdate from dual 4、触发器的作用,什么时候用触发器,创建触发器的步骤,触发器里是否可以有 commit, 为什么? 答案:触发器是可以由事件来启动运行的,存在于数据库服务器中的一 个过程。 他的作用:可以实现一般的约束无法完成的复杂约束,从而实现更为复 杂的完整性要求。 使用触发器并不存在严格的限定,只要用户想在无人工参与的情况下完 成一般的定义约束不可以完成的约束,来保证数据库完整性,那么就可 以使用触发器。 由于触发器主要是用来保证数据库的完整性的,所以要创建一个触发器,首先要明确该触发器应该属于那一种(DML,INSTEAD OF,SYSTEM)

Oracle数据库DBA面试题

数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复 操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘) 2. 你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢 解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。 3. 如何转换到spfile 解答:使用create spfile from pfile 命令 . 4. 解释data block , extent 和segment的区别(这里建议用英文术语) 解答:data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent . 一 个数据库对象拥有的所有extents被称为该对象的segment. 5. 给出两个检查表结构的方法 解答:1、DESCRIBE命令 2、包 6. 怎样查看数据库引擎的报错 解答:alert log. 7. 比较truncate和delete 命令 解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要rollback segment .而Delete是DML操作 , 需要rollback segment 且花费较长时间. 8. 使用索引的理由 解答:快速访问表中的data block 9. 给出在STAR SCHEMA中的两种表及它们分别含有的数据 解答:Fact tables 和dimension tables. fact table 包含大量的主要的信息而dimension tables 存放对fact table 某些属性描述的

最常见的-35-个-Python-面试题及答案

最常见的35 个Python 面试题及答案(2018 版) 1. Python 面试问题及答案 作为一个Python 新手,你必须熟悉基础知识。在本文中我们将讨论一些Python 面试的基础问题和高级问题以及答案,以帮助你完成面试。包括 Python 开发问题、编程问题、数据结构问题、和 Python 脚本问题。让我们来深入研究这些问题 Python 面试问题 . Python 的特点和优点是什么 Python 可以作为编程的入门语言,因为他具备以下特质: 1. 解释性 2. 动态特性 3. 面向对象 4. 语法简洁 5. 开源 6. 丰富的社区资源 实际上Python 的优点远不止这些,更详细的介绍可以阅读Introduction to Python ( blogs/python-tutorial/) . 深拷贝和浅拷贝的区别是什么 深拷贝是将对象本身复制给另一个对象。这意味着如果对对象的副本进行更改时不会影响原对象。在 Python 中,我们使用 deepcopy()函数进行深拷贝,使用方法如下: 深拷贝-Python 面试问题及答案 浅拷贝是将对象的引用复制给另一个对象。因此,如果我们在副本中进行更改,则会影响原对象。使用 copy()函数进行浅拷贝,使用方法如下: 浅拷贝—Python 面试问题及答案 . 列表和元祖有什么不同 主要区别在于列表是可变的,元祖是不可变的。看下面的例子: 会出现以下错误提示: TypeError: ‘tuple’ object does not support item assignment 关于列表和元祖的更多内容参考 Tuples vs Lists( blogs/python-tuples-vs-lists/)2. Python 面试基础题 到是新手经常会被问到的一些 Python 基础题,有经验的人也可以参考这些问题来复习这些概念。 . 解释 Python 中的三元表达式 与 C++不同, 在 Python 中我们不需要使用符号,而是使用如下语法: [on true] if [expression]else [on false] 如果 [expression] 为真, 则 [on true] 部分被执行。如果表示为假则 [on false] 部分被执行 下面是例子:

相关文档
最新文档