路由选择协议的一个要求就是必须能够快速收敛,所谓“路由收敛”是指( )。
A)路由器把分组发送到预定的目标
B)路由器处理分组的速度足够快
C)文件系统管理的数据量比较少,而数据库系统可以管理巨大的数据量
D)网络设备的路由表和网络拓扑结构保持一致
试题五(25 分)
阅读以下关于数据库审计建设方面的叙述,在答题纸上回答问题 1 至问题 3。
当前许多国家对数据库应用系统提出了明确的审计要求,要求数据库应用系统的DBA为财政、商业和卫生保健数据库保留审计跟踪信息,美国政府甚至要求保证长达 7年的审计跟踪信息在线。 一般在数据库中只是插入审计跟踪信息。审计跟踪数据在正常操作期间(不管是OLTP 还是数据仓库)从不获取,主要作为一种事后证据存放在磁盘上,占据一定甚至很大的磁盘空间,而且必须每个月或每年(或者间隔固定的一段时间)对其净化或归档。 当前的数据库审计功能主要采用了分区和段空间压缩技术。利用这些技术,数据库
审计不仅是可以忍受的,而且很容易管理,并且将占用更少的空间。 按月对审计跟踪信息分区的方法是:在第一个业务月中,只是向分区表中插入审计信息,这个月结束后,向表中增加一个新的分区,以容纳下个月的审计信息并将上一个月的分区从可读写表空间移动到一个只读的表空间中。采用这种方式,就可以一个月备份一次该只读表空间。
【问题 1】 (9 分)
请用 200 字以内的文字叙述分区技术的概念及采用分区技术后带来的好处。
【问题 2】 (10 分)
如果采用本题所述的按月分区方法,请用 300 字以内的文字描述审计建设的表空间有哪些,并简述其作用,同时请说明段压缩技术在表空间创建中的具体应用。
【问题 3】 (6 分)
请用 150 字以内的文字简述此种按月分区方式的优点。
A.数据量大的表分放在不同磁盘上
B.将I/O访问分布在尽可能多的磁盘上
C.将访问量最大的几个不同的表,分放在不同磁盘上
D.数据表和索引放在一起存储
下面关于基本表选择合适的文件结构的原则错误的是______。
A.如果数据库中的一个基本表中的数据量很少,操作很频繁,该基本表可以采用堆文件组织方式
B.顺序文件支持基于查找码的顺序访问,也支持快速的二分查找
C.如果用户查询是基于散列阈值的等值匹配,散列文件比较合适
D.如果某些重要而频繁的用户查询经常需要进行多表连接操作的,可以考虑将表组织成为非聚集文件
以下关于聚集文件及其操作叙述错误的是______。
A) 聚集文件是一种具有多种记录类型的文件
B) 聚集文件存储了来自多个关系表的数据
C) 聚集文件中每个关系表对应文件中的记录类型是相同的
D) 聚集文件将不同关系表中有关联关系的记录存储在同一磁盘块内,从而减少数据库多表查询操作时的磁盘块访问次数,提高系统I/O速度和查找处理速度
A.
B.
C.
D.
成都金亚科技股份有限公司1月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:数据库的优化?可用的回答 : 1. 优化索引、SQL 语句、分析慢查询; 2. 设计表的时候严格根据数据库的设计范式来设计数据库; 3. 使用缓存,把经常访问到的数据而且不需要经常变化的数据放在缓存中,能节约磁盘IO; 4. 优化硬件;采用SSD,使用磁盘队列技术(RAID0,RAID1,RDID5)等; 5. 采用MySQL 内部自带的表分区技术,把数据分层不同的文件,能够提高磁盘的读取效率; 6. 垂直分表;把一些不经常读的数据放在一张表里,节约磁盘I/O; 7. 主从分离读写;采用主从复制把数据库的读操作和写入操作分离开来; 8. 分库分表分机器(数据量特别大),主要的的原理就是数据路由; 9. 选择合适的表引擎,参数上的优化; 10. 进行架构级别的缓存,静态化和分布式; 11. 不采用全文索引; 12. 采用更快的存储方式,例如 NoSQL存储经常访问的数据 问题 Q2:简述一下爬虫的步骤?可用的回答 : 确定需求; 确定资源; 通过url获取网站的返回数据; 定位数据; 存储数据。 问题 Q3:什么是Python pass?可用的回答 :pass意味着,无操作的Python语句,或者换句话说,它是复合语句中的占位符,其中应该留有空白,并且不必在那里写入任何内容。问题 Q4:什么是PEP 8?可用的回答 :PEP 8是一个编码约定,关于如何编写Python代码更具可读性。问题 Q5:遇到反爬机制怎么处理?可用的回答 : 反爬机制: headers方向 判断User-Agent、判断Referer、判断Cookie。 将浏览器的headers信息全部添加进去 注意:Accept-Encoding;gzip,deflate需要注释掉 问题 Q6:如何在Python中内存管理?可用的回答 :Python内存由Python私有堆空间管理。 所有Python对象和数据结构都位于私有堆中。 程序员无权访问此私有堆,解释器负责处理此私有堆。 Python对象的Python堆空间分配由Python内存管理器完成。核心API提供了一些程序员编写代码的工具。 Python还有一个内置的垃圾收集器,它可以回收所有未使用的内存并释放内存并使其可用于堆空间。问题 Q7:def func(a,b=) 这种写法有什么坑?可用的回答 : def func(a,b=): b.append(a) print(b) func(1) func(1) func(1) func(1) 如:看下结果 1 1, 1 1, 1, 1 1, 1, 1, 1 函数的第二个默认参数是一个list,当第一次执行的时候实例化了一个list,第二次执行还是用第一次执行的时候实例化的地址存储, 所以三次执行的结果就是 1, 1, 1 ,想每次执行只输出1 ,默认参数应该设置为None。 问题 Q8:有哪些工具可以帮助查找错误或执行静态分析?可用的回答 : PyChecker是一个静态分析工具,可以检测Python源代码中的错误,并警告错误的风格和复杂性。 Pylint是另一种验证模块是否符合编码标准的工具。 auto-pep8工具也可以进行静态代码检查 问题 Q9:如果让你来防范网站爬虫,你应该怎么来提高爬取的难度?可用的回答 : 1. 判断headers的User-Agent; 2. 检测同一个IP的访问频率; 3. 数据通过Ajax获取; 4. 爬取行为是对页面的源文件爬取,如果要爬取静态网页的html代码,可以使用jquery去模仿写html。 问题 Q10:说一下Django,MIDDLEWARES中间件的作用?可用的回答 : 中间件是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出。 算法题面试官常问到的一些算法题目整理如下(大概率会机考):算题题 A1:二叉树层级遍历题目描述如下:Given a binary tree, return the level order traversal of its nodes values. (ie, from left to right, level by level).For example:Given binary tree 3,9,20,null,null,15,7, 3 / 9 20 / 15 7return its level order traversal as: 3, 9,20, 15,7迭代出二叉树层级别的节点值。直接用 BFS 即可.下面是一个用双端列表的迭代方式实现。用递归更好写一些。测试地址:https:/ 92% 28ms.可做参考的解答如下:class TreeNode(object):# def _init_(self, x):# self.val = x# self.left = None# self.right = Nonefrom collections import dequeclass Solution(object): def levelOrder(self, root): :type root: TreeNode :rtype: ListListint if not root: return result = temp = deque(root) next_temp = deque() _result = while 1: if temp: node = temp.popleft()
如果数据库中的一个基本表中的数据量很少,且插入、删除、更新等操作频繁,该基本表最佳采用的文件结构是______。
优化数据库数据的存储结构和存取方法有利于提高数据的查询效率。下列不利于提高系统查询效率的优化方案是
A.为经常出现在查询条件中的列建立索引
B.为频繁进行排序的列建立索引
C.将数据文件和日志文件分别放置在不同磁盘上
D.将表的数据和索引放置在同一磁盘上
文件管理方式本质上是把数据组织成( )的形式存储在磁盘上。
A. 文件
B. 表
C. 记录
D. 数据库
试题(58)
对于提升磁盘I/O性能问题,以下表述正确的是(58) 。
(58)
A.数据库对象在物理设备上的合理分布能改善系统读写性能
B.磁盘镜像可以提高磁盘读写的速度
C.建议把数据库、回滚段、日志放在同一块设备上,以提高数据读写的性能
D.将磁盘升级到更大容量可提高磁盘I/O速度
试题(58)分析
本题考查提升磁盘I/O的方法。
正确的概念是:
数据库对象在物理设备上的合理分布能改善系统读写性能。
不是所有的磁盘镜像都可以提高磁盘读写的速度。建议把数据库、回滚段、日志不要放在同一块设备上,以提高数据读写的性能。
将磁盘升级到更大容量并不能提高磁盘I/O速度。
参考答案
(58)A
A、数据表
B、工作簿
C、工作表
D、数据库