笔试选择题十一

原创 2016年08月29日 15:54:20
一、

丢失修改

下面我们先来看一个例子,说明并发操作带来的数据的不一致性问题。

考虑飞机订票系统中的一个活动序列:
甲售票点(甲事务)读出某航班的机票余额A,设A=16.
乙售票点(乙事务)读出同一航班的机票余额A,也为16.
甲售票点卖出一张机票,修改余额A←A-1.所以A为15,把A写回数据库.
乙售票点也卖出一张机票,修改余额A←A-1.所以A为15,把A写回数据库.

结果明明卖出两张机票,数据库中机票余额只减少1。

归纳起来就是:两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了T1提交的结果,导致T1的修改被丢失。前文(2.1.4数据删除与更新)中提到的问题及解决办法往往是针对此类并发问题的。但仍然有几类问题通过上面的方法解决不了,那就是:
 不可重复读

不可重复读是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。具体地讲,不可重复读包括三种情况:
事务T1读取某一数据后,事务T2对其做了修改,当事务1再次读该数据时,得到与前一次不同的值。例如,T1读取B=100进行运算,T2读取同一数据B,对其进行修改后将B=200写回数据库。T1为了对读取值校对重读B,B已为200,与第一次读取值不一致。
事务T1按一定条件从数据库中读取了某些数据记录后,事务T2删除了其中部分记录,当T1再次按相同条件读取数据时,发现某些记录神密地消失了。
事务T1按一定条件从数据库中读取某些数据记录后,事务T2插入了一些记录,当T1再次按相同条件读取数据时,发现多了一些记录。(这也叫做幻影读) 
读"脏"数据

读"脏"数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤消,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为"脏"数据,即不正确的数据。

产生上述三类数据不一致性的主要原因是并发操作破坏了事务的隔离性。并发控制就是要用正确的方式调度并发操作,使一个用户事务的执行不受其它事务的干扰,从而避免造成数据的不一致性。

设有两个事务T1,T2,其并发操作如下所示,下面评价正确的是()
步骤          T1         T2
1          读A=100
2                      读A=100
3.         A=A+10写回 
4.                     A=A-10写回
这两个事务的问题出在,原本两个事务的目的是T1先把A的值加10,A变为110,。然后T2把A的值再减10,即A变回100。
但是根据题目中的执行顺序,A的值变为90,即T2的修改覆盖了T1的修改,这种现象叫做丢失修改。
二、与Mysql服务器相互作用的通讯协议包括TCP/IP,Socket,共享内存,命名管道
三、新建一个管理员用户admin,需要使用的参数()
(1)useradd -u 0 -o admin
(2)useradd -g -0 admin
(3)useradd -p -d admin
(4)useradd -e -f admin
正确答案:A;本题考察linux下的命令;
解析:-u 表示指定用户的用户号,由于系统用户的用户号是0,所以指定用户号为0。如果同时有-o选项,则可以
重复使用其他用户的标识号;即-u 0 -o admin的到相同的效果。但是系统本身存在用户号为0 的系统用户,则这
里应该使用-o admin参数;u表示创建用户.g表示创建用户组 -e指定账号的有效期限,缺省表示永久有效。 
-f指定在密码过期后多少天即关闭该账号。-p表示创建密码

四、下面()组命令,将变量count值赋值为1

DECLARE @count 
SELECT @count=1
@表示声明一个局部变量,@@表示声明一个全局变量(比如已经定义好的系统变量)
申明局部变量语法:declare @变量名 数据类型;例如:declare @num int;
赋值:有两种方法式(@num为变量名,value为值)
set @num=value;   或   select @num=value;
DECLARE @count表示选定变量,SELECT @count=1表示为count赋值;这里的赋值语句还可以使用SET @count=1;但是select和set在赋值语句中有些区别:SELECT可以在一条语句里对多个变量同时赋值,而SET只能一次对一个变量赋值,即如果数据表中存在多个count变量,则不能使用SET赋值;
五、c++中规定,重载运算符必须和用户定义的自定义类型的对象一起使用。
下面重载乘法运算符的函数原型声明中正确的是ABD
MyClass operator *(double ,MyClass);
MyClass operator *(MyClass ,MyClass);
MyClass operator *(double ,double);
MyClass operator *(MyClass ,double)
六、下列哪个IP地址可以分配给一台计算机?
256.1.3.4
197.3.11.0
199.5.89
11.15.33.235

互联网的网络地址分为A~E五类,其中
A类地址:0.0.0.0 ~ 127.255.255.255
主机号是后24位
B类地址:128.0.0.0 ~ 191.255.255.255
主机号是后16位
C类地址:192.0.0.0 ~ 223.255.255.255
主机号是后8位
D类地址:224.0.0.0 ~ 239.255.255.255
后28位为多播组号
E类地址:240.0.0.0 ~ 255.255.255.255
后27位待用

所以,A错。
主机号全为0的时候,表示一个网段
主机号全为1的时候,是一个指向网络的广播。关于广播的具体分类请看TCP/IP卷一的第12章。
所以B代表一个网段。
C的话,参照TCP/IP详解卷一第三章 IP:网际协议的图3-3,代表了一个直接相连的网络。
D作为一个A类地址,是可以分配给一台计算机的。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Java笔试题库之选择题汇总

1.下面中哪两个可以在A的子类中使用:( ) class A { protected int method1 (int a, int b) { return 0; } } A. publi...

京东2016实习生招聘笔试真题-技术岗位选择题A

下列函数的功能是(将x所指字符串和y所指字符串进行比较) f(char * x, char * y) { do{ x++,y++; } while((*x==*y)!...

最全的Java笔试题库之选择题篇-总共234道【121~180】

121.EJB的优点有哪些?(选择2项) A、技术领先 B、价格低廉 C、性能优越 D、强大的容器支持 解答:CD 122.以下哪些接口能够实现对Web访问者的身份认证?(选择1项) ...

聊聊这个与代码优化有关的选择题 (某公司实习生招聘笔试试题)

3、程序的完整编译过程分为是:预处理,编译,汇编等,如下关于编译阶段的编译优化的说法中不正确的是() A、死代码删除指的是编译过程直接抛弃掉被注释的代码; B、函数内联可以避免函数调用中压栈和退栈...
  • stpeace
  • stpeace
  • 2014年09月24日 21:40
  • 2581

求关于n的阶乘结果后面有几个零?如2016的阶乘(网易的笔试选择题)

文章的原地址:http://blog.csdn.net/zyh2525246/article/details/53697136 一、阶乘数小的时候可以直接计算。 例如:求10!后面零的个数...

网易2015年Java开发笔试第三题 选择题

主要涉及初始化及继承。若有错误或不足,欢迎交流讨论。 题目来源:网易2015年Java校招笔试第三题 class HelloA{ public HelloA(){} { ...

最全的Java笔试题库之选择题篇-总共234道【181~234】

181.下列没有直接采用XML技术的是( ) A. UDDI B. SOAP C. AJAX D.DCOM 解答:D DCOM(分布式组件对象模型,分布式组件对象模...

最全的Java笔试题库之选择题篇-总共234道【1~60】

1.下面中哪两个可以在A的子类中使用:( ) class A { protected int method1 (int a, int b) { return 0; } }...

Java笔试选择题 1

1.下列哪种说法是正确的()  A.实例方法可直接调用超类的实例方法  B.实例方法可直接调用超类的类方法  C.实例方法可直接调用其他类的实例方法  D.实例方法可直接调用本类的类方法  分析:类方...

京东2016实习生招聘笔试真题-技术岗位选择题A

选择题A
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:笔试选择题十一
举报原因:
原因补充:

(最多只允许输入30个字)