北京同城必应科技有限公司12月招聘面试题156道2020123

在MySQL数据库中,对作为临时存放查询的中间结果集的存储引擎描述正确的是()。

A.始终使用Memory作为临时存放查询的中间结果集

B.默认使用InnoDB作为临时存放查询的中间结果集

C.如果中间结果集含有TEXT或BLOB列的类型字段,则MySQL数据库会将其转换到MylSAM存储引擎表而存放到磁盘中

D.默认使用MylSAM作为临时存放查询的中间结果集


正确答案:B


Which three are properties of the MyISAM storage engine?()

A.Transaction support

B.FULLTEXT indexing for text matching

C.Table and page level locking support

D.Foreign key support

E.Geospatial indexing

F.HASH index support

G.Table level locking only


参考答案:B, E, G


What is true regarding InnoDB locking?()

A.InnoDB uses row and table-level locks, but row locks are not escalates

B.InnoDB locks only those rows that are updated

C.InnoDB only uses row locks, not page or table-level locks

D.InnoDB row locks may be escalated to page or table-level locks

E.InnoDB uses row-level or table-level locks depending on the number of rows affected


参考答案:B


The InnoDB engine has a feature known as clustered indexes.Which three statements are true about clustered indexes as used in InnoDB?()

A.A primary key must exist for creation of a clustered index

B.A clustered index allows fulltext searching within InnoDB

C.The first unique index is always used as a clustered index and not a primary key

D.A clustered index provides direct access to a page containing row data

E.If no indexes exist, a hidden clustered index is generated based on row IDs

F.A primary key is used as a clustered index

G.A clustered index is a grouping of indexes from different tables into a global index for faster searching


参考答案:D, E, F


Which two statements are true about InnoDB auto-increment locking?()

A.The auto-increment lock can be a table-level lock

B.InnoDB never uses table-level locks

C.Some settings for innodb_autoinc_lock_mode can help reduce locking

D.InnoDB always protects auto-increment updates with a table-level lock


参考答案:A, C


北京同城必应科技有限公司12月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:你常用的mysql引擎有哪些?各引擎间有什么区别?可用的回答 : 主要 MyISAM 与 InnoDB 两个引擎,其主要区别如下: 一、 InnoDB 支持事务,MyISAM 不支持,这一点是非常之重要。 事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而 MyISAM就不可以了; 二、 MyISAM 适合查询以及插入为主的应用,InnoDB 适合频繁修改以及涉及到安全性较高的应用; 三、 InnoDB 支持外键,MyISAM 不支持; 四、 MyISAM 是默认引擎,InnoDB 需要指定; 五、 InnoDB 不支持 FULLTEXT 类型的索引; 六、 InnoDB 中不保存表的行数,如 select count(*) from table 时,InnoDB; 需要扫描一遍整个表来计算有多少行,但是 MyISAM 只要简单的读出保存好的行数即可。 注意的是,当 count(*)语句包含 where 条件时 MyISAM 也需要扫描整个表; 七、 对于自增长的字段,InnoDB 中必须包含只有该字段的索引,但是在 MyISAM 表中可以和其他字段一起建立联合索引; 八、 清空整个表时,InnoDB 是一行一行的删除,效率非常慢。MyISAM 则会重建表; 九、 InnoDB 支持行锁(某些情况下还是锁整表,如 update table set a=1 where user like %lee% 问题 Q2:什么是序列化和非序列化?可用的回答 :Pickle模块接受任何Python对象并将其转换为字符串表示形式,并使用dump函数将其转储到文件中,此过程称为pickling。从存储的字符串表示中检索原始Python对象的过程称为unpickling问题 Q3:分布式爬虫主要解决什么问题?可用的回答 : 面对海量待抓取网页,只有采用分布式架构,才有可能在较短时间内完成一轮抓取工作。它的开发效率是比较快而且简单的。 问题 Q4:Django 和 Flask 之间有什么区别?可用的回答 :Flask是一个“微框架”,主要用于具有更简单要求的小型应用程序。在Flask中,必须使用外部库。Django也可以用于更大的应用程序。它包括一个ORM。问题 Q5:如何在Python中实现多线程?可用的回答 :Python有一个多线程库,但是用多线程来加速代码的效果并不是那么的好,Python有一个名为Global Interpreter Lock(GIL)的结构。GIL确保每次只能执行一个“线程”。一个线程获取GIL执行相关操作,然后将GIL传递到下一个线程。虽然看起来程序被多线程并行执行,但它们实际上只是轮流使用相同的CPU核心。有这些GIL传递都增加了执行的开销。这意味着多线程并不能让程序运行的更快问题 Q6:什么是C/S和B/S架构?可用的回答 : 1. C/S架构及其背景 C/S架构是一种比较早的软件架构,主要应用于局域网内。在这之前经历了集中计算模式,随着计算机网络的进步与发展,尤其是可视化工具的应用,出现过两层C/S和三层C/S架构, 不过一直很流行也比较经典的是我们所要研究的两层C/S架构。 C/S架构软件(即客户机/服务器模式)分为客户机和服务器两层: 第一层是在客户机系统上结合了表示与业务逻辑, 第二层是通过网络结合了数据库服务器。 简单的说就是第一层是用户表示层,第二层是数据库层。 客户端和服务器直接相连,这两个组成部分都承担着重要的角色。 2. C/S架构的优点 1. 客户端和服务器直接相连。点对点的连接方式更安全,可以直接操作本地文本,比较方便。 2. 客户端可以处理一些逻辑事务。可以进行数据处理和数据存储,提供一定的帮助。 3. 客户端直接操作界面。 3. C/S架构的缺点 1. C/S架构适用于局域网,对网速的要求比较高。 2. 客户端界面缺乏通用性,且当业务更改时就需要更改界面,重新编写。 3. 随着用户数量的增多,会出现通信拥堵、服务器响应速度慢等情况。 4. 系统的维护也比较麻烦。 4. C/S架构的应用 C/S架构的软件是在是数不胜数,从办公的OFFICE,WPS,WINRAR到杀毒软件如金山,瑞金再到我们的娱乐 软件,如播放器,QQ,微信等,无处不见C/S架构。 5. B/S架构及其背景 随着Internet和WWW的流行,以往的主机/终端和C/S都无法满足当前的全球网络开放、互连、信息随处可见和信息共享的新要求, 于是就出现了B/S型模式,即浏览器/服务器结构。它是C/S架构的一种改进,可以说属于三层C/S架构。 主要是利用了不断成熟的WWW浏览器技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。 第一层是浏览器(即客户端)只有简单的输入输出功能,处理极少部分的事务逻辑。 由于客户不需要安装客户端,只要有浏览器就能上网浏览,所以它面向的是大范围的用户,所以界面设计得比较简单,通用。 第二层是WEB服务器,扮演着信息传送的角色。 当用户想要访问数据库时,就会首先向WEB服务器发送请求,WEB服务器统一请求后会向数据库服务器发送访问数据库的请求,这个请求是以SQL语句实现的。 第三层是数据库服务器,它存放着大量的数据。 当数据库服务器收到了WEB服务器的请求后,会对SQL语句进行处理,并将返回的结果发送给WEB服务器, 接下来,WEB服务器将收到的数据结果转换为HTML文本形式发送给浏览器。 6. B/S架构的优点 1. 浏览器和数据库服务器采用多对多的方式连接。因此适合在广域网里实现巨大的互联网,甚至是全球网,有着很强大的信息共享性。 2. 浏览器只处理一些简单的逻辑事务,负担小。 3. 数据都集中存放在数据库服务器,所以不存在数据不一致现象。 4. 随着服务器负载的增加,可以平滑地增加服务器的个数并建立集群服务器系统,然后在各个服务器之间做 负载均衡。 5. B/S建立在广域网上,所以需要的网速要求不高。 6. 不需要安装客户端,只要能连上网,就能随时随地的浏览页面。 7. 能有效地保护数据平台和管理访问权限,确保服务器数据库的数据安全。

关于常见的存储引擎,下面描述错误的是_____________。

A.InnoDB存储引擎虽然不支持事件处理应用程序,但是支持外键、同时还支持崩溃修复能力和并发控制

B.MEMORY存储引擎的所有数据都存储在内存中,数据的处理速度快但安全性不高

C.MyISAM存储引擎提供了高速的存储与检索和全文探索能力,它并不支持事务处理应用程序

D.除了InnoDB、MOMORY和MyISAM存储引擎外,MRG_MYISAM、BLACKHOLE和CSV也是MySQL数据库的存储引擎


参考答案:A


在Mysql数据库下,以下哪个选项最好地描述了InnoDB表为什么需要主键并且主键应当尽量短?()

A.因为InnoDB在一个日志中保存到所有主键的指针,短的主键使日志小

B.因为InnoDB使用主键定位二级索引,短的主键使查询快

C.因为InnoDB使用主键定位表记录,短的主键使查询快

D.因为InnoDB使用主键定位表,短的主键使查询快


参考答案:C


关于myisamchk工具,以下描述正确的有哪些?()

A.它能检查MyISAM表

B.它能修复MyISAM表

C.它能获取MyISAM表的信息

D.它能优化MyISAM表


参考答案:ABCD


mysql 参照表和被参照表可以是同一个表吗?

长久以来,流行工具开源RDBMSMySQL并没有支持外键,最近MySQL的不同版本都通过新InnoDB列表引擎支持外键。为了建立两个MySQL表之间的一个外键关系,MySQL创建关联表必须满足以下三种情况:

* 两个表必须是InnoDB表类型。 

* 使用在外键关系的域必须为索引型(Index)。 

* 使用在外键关系的域必须与数据类型相似。


例子.

CREATE TABLE  DEPT (
  id  INT  PRIMARY KEY,
  name  varchar(10),
  pid INT
) ENGINE=InnoDB ;


ALTER TABLE DEPT
   ADD CONSTRAINT DEPT_cons
   FOREIGN KEY (pid)
   REFERENCES  DEPT(id);

下面是插入数据的结果.

mysql> INSERT INTO DEPT VALUES(1, '总公司', NULL);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO DEPT VALUES(2, '分公司', 1);
Query OK, 1 row affected (0.11 sec)

mysql> INSERT INTO DEPT VALUES(3, '办事处', 2);
Query OK, 1 row affected (0.08 sec)

mysql>
mysql> INSERT INTO DEPT VALUES(4, '非法数据', 5);
ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`test`.`dept`,
CONSTRAINT `DEPT_cons` FOREIGN KEY (`pid`) REFERENCES `dept` (`id`))
mysql>

希望能帮到你,别忘了采纳我的答案哦,祝你生活愉快!



简述MyISAM与innoDB存储引擎有何差别?


正确答案: A.两者在文件构成上有区别;
B.InnoDB支持事务处理,MyISAM不支持;
C.对无WHERE子句的COUNT(*)操作的不同:MyISAM中保存了该值,直接读取,InnoDB需要作全表扫描;
D.锁的区别:InnoDB支持表级锁和行级锁,MyISAM只支持表级锁;
E.索引会缓存数据,而MYISAM不会;
F.INNODB不区分char和varchar;
G.INNODB支持hash索引,而MYISAM不支持;
H.InnoDB不支持FULLTEXT类型的索引;
I.InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含
W.here条件时,两种表的操作是一样的;
J.对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中,可以和其他字段一起建立联合索引;
K.DELETE FROM table时,InnoDB不会重新建立表,而是一行一行的删除;
L.LOAD TABLE FROM
M.ASTER操作对InnoDB是不起作用的,解决方法是首先把InnoDB表改成MyISAM表,导入数据后再改成InnoDB表,但是对于使用的额外的InnoDB特性(例如外键)的表不适用。

更多 “北京同城必应科技有限公司12月招聘面试题156道2020123” 相关考题
考题 多选题What are two methods of taking a binary backup of a Mysql Server using InnoDB storage engine?()AFile system snapshotsBMysqldumpslowCMysqlhotcopyDMysqldump with – binary-data optionEMysql Enterprise Backup正确答案:C,B解析:暂无解析

考题 多选题The InnoDB engine has a feature known as clustered indexes. Which three statements are true about clustered indexes as used in InnoDB?()AA primary key must exist for creation of a clustered indexBA clustered index allows fulltext searching within InnoDBCThe first unique index is always used as a clustered index and not a primary keyDA clustered index provides direct access to a page containing row dataEIf no indexes exist, a hidden clustered index is generated based on row IDsFA primary key is used as a clustered indexGA clustered index is a grouping of indexes from different tables into a global index for faster searching正确答案:D,E,F解析:暂无解析

考题 Following a server crash, the automatic recovery of InnoDB fails. How would you begin to manually repair the InnoDB tables?()A、Start the server with the – innodb_recover_options option set to FORCEB、Start the server with the – innodb_force_recovery option set to a non-zero valueC、Start the server as usual, and then execute the REPAIR TABLE commandD、Start the server as usual, and then execute the CHECK TABLE command正确答案:B

考题 What is true regarding InnoDB locking?()A、InnoDB uses row and table-level locks, but row locks are not escalatesB、InnoDB locks only those rows that are updatedC、InnoDB only uses row locks, not page or table-level locksD、InnoDB row locks may be escalated to page or table-level locksE、InnoDB uses row-level or table-level locks depending on the number of rows affected正确答案:B

考题 关于myisamchk工具,以下描述正确的有哪些?()A、它能检查MyISAM表B、它能修复MyISAM表C、它能获取MyISAM表的信息D、它能优化MyISAM表正确答案:A,B,C,D

考题 Which two statements are true about InnoDB auto-increment locking?()A、The auto-increment lock can be a table-level lockB、InnoDB never uses table-level locksC、Some settings for innodb_autoinc_lock_mode can help reduce lockingD、InnoDB always protects auto-increment updates with a table-level lock正确答案:A,C

考题 问答题简述MyISAM与innoDB存储引擎有何差别?正确答案:A.两者在文件构成上有区别;B.InnoDB支持事务处理,MyISAM不支持;C.对无WHERE子句的COUNT(*)操作的不同:MyISAM中保存了该值,直接读取,InnoDB需要作全表扫描;D.锁的区别:InnoDB支持表级锁和行级锁,MyISAM只支持表级锁;E.索引会缓存数据,而MYISAM不会;F.INNODB不区分char和varchar;G.INNODB支持hash索引,而MYISAM不支持;H.InnoDB不支持FULLTEXT类型的索引;I.InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含W.here条件时,两种表的操作是一样的;J.对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中,可以和其他字段一起建立联合索引;K.DELETE FROM table时,InnoDB不会重新建立表,而是一行一行的删除;L.LOAD TABLE FROMM.ASTER操作对InnoDB是不起作用的,解决方法是首先把InnoDB表改成MyISAM表,导入数据后再改成InnoDB表,但是对于使用的额外的InnoDB特性(例如外键)的表不适用。解析:暂无解析

考题 单选题What is true regarding InnoDB locking?()A InnoDB uses row and table-level locks, but row locks are not escalatesB InnoDB locks only those rows that are updatedC InnoDB only uses row locks, not page or table-level locksD InnoDB row locks may be escalated to page or table-level locksE InnoDB uses row-level or table-level locks depending on the number of rows affected正确答案:B解析:暂无解析

考题 You want to start monitoring statistics on the distribution of storage engines that are being used and the average sizes of tables in the various databases. Some details are as follows: The Mysql instance has 400 databases. Each database on an average consists of 25-50 tables. You use the query: SELECT TABLE_SCHEMA, 'ENGINE', COUNT (*), SUM(data_length) total_size FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE= 'BASE TABLE' GROUP BY TABLE_SCHEMA, 'ENGINE' ; Why is this query slow to execute?()A、Collecting information requires large numbers of locks on various INFORMATION_SCHEMA tablesB、Aggregating details from various storage engine caches for the final output is time consumingC、Collecting information requires various disk-level operations and is time consumingD、Counting and summarizing all table pages in the InnoDB shared tablespace is time consuming正确答案:C

考题 多选题关于myisamchk工具,以下描述正确的有哪些?()A它能检查MyISAM表B它能修复MyISAM表C它能获取MyISAM表的信息D它能优化MyISAM表正确答案:C,A解析:暂无解析