您的位置:首页 > 职场人生

面试笔试题刷题总结 不断更新中。。。。。。

2016-08-01 21:08 225 查看

1.下面会引起进程创建的事件是()。

正确答案: A C 你的答案: A (错误)

用户登录

设备中断

作业调度

执行系统调用

导致一个进程创建另一个进程的典型操作有四种:

1 用户登录;系统为用户创建一个进程,并插入就绪队列

2 作业调度

3 提供服务 系统为用户请求创建一个进程

4 应用请求 用户程序自己创建进程

2.下面有关本地管理表空间和字典管理表空间的特点的描述,错误的是?

正确答案: C 你的答案: B (错误)

字典管理表空间将Oracle的区管理信息存放在表空间的字典中进行管理,所有区的分配与释放,都会使字典的记录的增减变动

本地管理是以位图的方式,将区的分配信息保存在数据文件本身,所有区的分配等操作都只是位图的运算,位图中的每一位对应数据文件中的一个区或几个连续的区

字典管理表空间运行的效率很高。并且产生磁盘碎片很少

如果要用字典的方式管理表空间,可以在创建表空间时,使用: EXTENT MANAGEMENT DICTIONARY 选项。

第一、字典管理表空间

将Oracle的区管理信息存放在表空间的字典中进行管理,所有区的分配与释放,都会使字典的记录的增减变动。也就是在字典的记录中会执行更新、插入、删 除操作,在执行上述操作时,都会生成重做日志,对字典的管理,将影响正常操作的效率,并且在区分配、回收的过程中,产生磁盘碎片,如果磁盘碎片增加到一定 的程度,会浪费空间,严重影响效率,同时,Oracle 在管理表空间的管理中,会产生递归SQL。

如果要用字典的方式管理表空间,可以在创建表空间时,使用: EXTENT MANAGEMENT DICTIONARY 选项。

第二、本地管理表空间

本地管理是以位图的方式,将区的分配信息保存在数据文件本身,所有区的分配等操作都只是位图的运算,位图中的每一位对应数据文件中的一个区或几个连续的区,这样在进行区管理时,生成的重做日志将非常少,并且运行的效率很高。并且产生磁盘碎片很少。

如果要用本地管理表空间,可以在创建表空间时,使用: EXTENT MANAGEMENT LOCAL 选项。

在表空间的管理中,Oracle8I中可以采用字典管理,也可以采用本地管理,如果不指定,将采用字典管理方式。

在 Oracle9I中,推荐采用本地管理的方式,如果不指定,将采用本地管理的方式。

从Oracle 10g开如,要求采用本地管理的方式。

3.下面有关http keep-alive说法错误的是?

正确答案: D 你的答案: A (错误)

在HTTP1.0和HTTP1.1协议中都有对KeepAlive的支持。其中HTTP1.0需要在request中增加“Connection: keep-alive” header才能够支持,而HTTP1.1默认支持

当使用Keep-Alive模式时,Keep-Alive功能使客户端到服 务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接

可以在服务器端设置是否支持keep-alive

当你的Server多为动态请求,建议开启keep-alive增加传输效率

HTTP/1.0

在HTTP/1.0版本中,并没有官方的标准来规定Keep-Alive如何工作,因此实际上它是被附加到HTTP/1.0协议上,如果客户端浏览器支持Keep-Alive,那么就在HTTP请求头中添加一个字段 Connection: Keep-Alive, 当服务器收到附带有Connection: Keep-Alive的请求时,它也会在响应头中添加一个同样的字段来使用Keep-Alive。这样一来,客户端和服务器之间的HTTP连接就会被保 持,不会断开(超过Keep-Alive规定的时间,意外断电等情况除外),当客户端发送另外一个请求时,就使用这条已经建立的连接

HTTP/1.1

在HTTP/1.1版本中,官方规定的Keep-Alive使用标准和在HTTP/1.0版本中有些不同,默认情况下所在HTTP1.1中所有 连接都被保持,除非在请求头或响应头中指明要关闭:Connection: Close ,这也就是为什么Connection: Keep-Alive字段再没有意义的原因。另外,还添加了一个新的字段Keep-Alive:,因为这个字段并没有详细描述用来做什么,可忽略它

Not reliable(不可靠)

HTTP是一个无状态协议,这意味着每个请求都是独立的,Keep-Alive没能改变这个结果。另外,Keep-Alive也不能保证客户端和服 务器之间的连接一定是活跃的,在HTTP1.1版本中也如此。唯一能保证的就是当连接被关闭时你能得到一个通知,所以不应该让程序依赖于Keep- Alive的保持连接特性,否则会有意想不到的后果

思路:

1. A、B、C为keep-alive的概念客观性描述,说法都是正确的

2. 当Server的静态资源(css 、html、js、img)较多时,打开keep-alive的开关能够显著减少建立tcp连接的 cpu时间消耗

3.当Server的请求大多为动态请求(数据库访问或者I/O较多)时,keep-alive关闭比较好,能够节省一定的内存,同时节省的内存可以用来作为cache,降低I/O压力。

4. 基于以上分析,当Server多为动态请求时,尽量关闭keep-alive

4.同一进程下的多个线程可以共享哪一种资源:(B)

stack

data section

register set

thread ID

线程共享的内容包括:

进程 代码段

进程 数据段

进程打开的文件描述符、

信号的处理器、

进程的当前目录和

进程用户 ID 与进程组 ID

线程独有的内容包括:

线程 ID

寄存器组的值

线程的堆栈

错误返回码

线程的信号屏蔽码

5. 操作系统是一个庞大的管理控制程序,主要包括5个方面的功能:进程与处理机管理,作业管理,存储管理,设备管理,文件管理。

6.通信网的划分方法很多,

根据不同的划分条件,同一个通信网可以有多种分类的划分。如按照所能实现的业务种类不同,通信网可以划分为电话通信网、计算机通信网、数据通信网、广播电视网以及综合业务数字网;按照网络所服务的范围不同,通信网可以划分为本地网、长途网及国际网;按照传输介质不同,通信网可以划分为微波通信网、光纤通信网及无线通信网等;按照拓扑结构形式不同,通信网可以划分为线形、环形、星形、网形和复合形五种基本结构形式。

7.Linux命令行下如何查找列出/usr/local这个目录下所有包含字符mrtg的文件?

正确答案: B 你的答案: D (错误)

grep “mrtg” /usr/local

grep -Rn “mrtg” /usr/local

find /usr/local -name ‘mrtg’

find /usr/local -name ‘mrtg’ -R

find是根据name, ctime, mtime等信息搜索文件的命令,不会根据文件内容去检索,也就是它只利用了iNode的信息,所以CD不对。

说说A为啥不对吧,可以去瞧瞧,/usr/local下面几乎都是目录,所以grep需要加-R或-r表示递归查询子目录。另外,实际不加-n也可,毕竟没强调说,要输出’mrtg’所在行。即

grep -r "mrtg" /usr/local


B -r是搜索子目录 -n是显示行号信息,grep是搜索包含xx字符串的文件 find -name是搜索文件名包含xx的

8. 批处理系统主要指多道批处理系统,由于多道程序能交替使用CPU,提高了CPU及其他系统资源的利用率,同时也提高了系统的效率。多道批处理系统的缺点是延长了作业的周转时间,用户不能进行直接干预,缺少交互性,不利于程序的开发与调试。

9.复合索引可以只使用复合索引中的一部分,但必须是由最左部分开始,且可以存在常量。

mysql数据库中一张user表中,其中包含字段A,B,C,字段类型如下:A:int,B:int,C:int根据字段A,B,C按照ABC顺序建立复合索引idx_A_B_C,以下查询语句中使用到索引idx_A_B_C的语句有哪些?

正确答案: A B D 你的答案: B (错误)

select *from user where A=1 and B=1

select *from user where 1=1 and A=1 and B=1

select *from user where B=1 and C=1

select *from user where A=1 and C=1

复合索引: Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。 例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进行查找 .当最左侧字段是常量引用时,索引就十分有效
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  面试