##单选题
#####1、一个长度为99的循环链表,指针A和指针B都指向了链表中的同一个节点,A以步长为1向前移动,B以步长为3向前移动,一共需要同时移动多少步A和B才能再次指向同一个节点____。
A. 99
B. 100
C. 101
D. 49
E. 50
F. 51
######解析:
设需要
x
x
x 步,则由题可得,
x
%
99
=
3
∗
x
%
99
x\ \%\ 99 = 3 * x\ \%\ 99
x % 99=3∗x % 99,接着最简单的做法就是代入了。
#####2、以下函数中,和其他函数不属于一类的是____。
A. read
B. pread
C. write
D. pwrite
E. fseek
F. lseek
######解析:
这里面只有
f
s
e
e
k
fseek
fseek 是库函数,而其他的都是系统级调用。
#####3、有一个类B继承自类A,他们数据成员如下:
class A {
...
private:
int a;
};
class B : public A {
...
private:
int a;
public:
const int b;
A &c;
static const char* d;
B* e;
}
#####则构造函数中,成员变量一定要通过初始化列表来初始化的是____。
A. a b c
B. b c e
C. b c d e
D. c e
E. b d
F. b c
######解析:
构造函数初始化时必须采用初始化列表一共有三种情况,
1)需要初始化带有引用的类对象(继承时调用基类构造函数);
2)需要初始化 const 修饰的类成员 ;
3)需要初始化引用成员数据。
另外,static 修饰的变量在类外初始化。
#####4、如下描述中,错误的是____。
A. SATA硬盘因为有机械部件,随机读写时会发生磁头的物理运动。主流硬盘的平均寻道时间在几毫秒到几十毫秒
B. SATA硬读写的最小单位是扇区,扇区的大小是512字节或者4k
C. 文件系统读写硬盘的最小单位也是扇区
D. SSD支持随机读写.但是一般读性能要好于写性能
E. SSD的随机读写延时要比SATA低两个数量级
F. SSD根据使用技术的不同,写的寿命是有限的,需要软件进行写优化,确保存储单元的写次数基本同步增长
######解析:
1)
S
A
T
A
SATA
SATA 硬盘:
S
A
T
A
(
S
e
r
i
a
l
A
T
A
)
SATA(Serial ATA)
SATA(SerialATA)口的硬盘又叫 串口硬盘 ,全称是
S
e
r
i
a
l
A
d
v
a
n
c
e
d
T
e
c
h
n
o
l
o
g
y
A
t
t
a
c
h
m
e
n
t
Serial\ Advanced\ Technology\ Attachment
Serial Advanced Technology Attachment;
2) S S D SSD SSD 硬盘:固态硬盘 ( S o l i d S t a t e D r i v e s ) (Solid State Drives) (SolidStateDrives), 适合于个人用户使用。一般它擦写次数普遍为 3000 3000 3000 次左右,以常用的 64 G 64G 64G 为例,在 S S D SSD SSD 的平衡写入机理下,可擦写的总数据量为 64 G X 3000 = 192000 G 64G X 3000 = 192000G 64GX3000=192000G;
3)文件系统:是抽象与操作系统之上的,文件系统一般按照 C l u s t e r Cluster Cluster 大小,有时候也称为 B l o c k Block Block 大小来读写数据,这个 C l u s t e r Cluster Cluster 一般最小的 4 K 4K 4K,大的定为 32 K 、 64 K 32K、64K 32K、64K 等都可以,主要根据应用的不同。比如 O r a c l e Oracle Oracle 的应用一般就用 4 K 4K 4K 或 8 K 8K 8K 的 B l o c k Block Block 大小,大文件读写就用 128 K 128K 128K,甚至 256 K 256K 256K 都可以。
#####5、现在有一个程序由A,B两个同学结对编程完成,在整个程序中的代码比例是3:5,据往常的统计A同学的Bug率为0.01%,B同学的Bug率为0.015%,现在在改程序中发现了一个BUG,那么是由A同学的代码引起的BUG概率是____。
A. 26.2%
B. 27.1%
C. 28.6%
D. 32.5%
E. 37.5%
F. 以上都不对
######解析:
3
8
∗
0.01
%
3
8
∗
0.01
%
+
5
8
∗
0.015
%
≈
28.6
%
\frac{\frac{3}{8} * 0.01\%}{\frac{3}{8} * 0.01\% + \frac{5}{8} * 0.015\%} \approx 28.6\%
83∗0.01%+85∗0.015%83∗0.01%≈28.6%
#####6、当前国内A股市场的新股发行采取的是抽签申购的方式。假设最多可以申购某新股X 1万股,以1千股为单位分配一个号码进行抽签,每个号码抽中与否是相互独立的且概率为0.5%,X的发行价是10元,涨至15元和20元的概率均为50%,那么在最大申购的情况下盈利的期望是____。
A. 250
B. 300
C. 325
D. 375
E. 425
F. 500
######解析:
抽中的概率:
10000
1000
∗
0.5
%
=
5
%
\frac{10000}{1000} * 0.5\% = 5\%
100010000∗0.5%=5%
盈利
=
(
(
15
−
10
)
∗
50
%
+
(
20
−
10
)
∗
50
%
)
∗
1000
∗
5
%
=
375
= ((15 - 10) * 50\% + (20 - 10) * 50\%) * 1000 * 5\% = 375
=((15−10)∗50%+(20−10)∗50%)∗1000∗5%=375
#####7、以下函数中,和其他函数不属于一类的是_____。
A. fread
B. gets
C. getchar
D. pread
E. getline
F. scanf
######解析:
除了
D
D
D 以外都是不带偏移量的输入相关函数。
p r e a d pread pread,用于带偏移量的从文件中读取数据。
#####8、假设淘宝用户上的用户看到一个商品后购买的概率是5%,收藏的概率是20%,而用户收藏一个商品之后购买的概率是20%,那么已知某用户看到某商品之后完成了购买,那么该用户收藏过该商品的概率是____。
A. 40%
B. 50%
C. 60%
D. 70%
E. 80%
F. 90%
######解析:
设
A
A
A 为买,
B
B
B 为收藏,
已知
P
(
A
)
=
5
%
P(A) = 5\%
P(A)=5%,
P
(
B
)
=
20
%
P(B) = 20\%
P(B)=20%,
P
(
A
∣
B
)
=
20
%
P(A | B) = 20\%
P(A∣B)=20%,
所以
P
(
B
∣
A
)
=
P
(
A
B
)
P
(
A
)
=
P
(
A
∣
B
)
P
(
B
)
P
(
A
)
=
80
%
P(B | A) = \frac{P(AB)}{P(A)} = \frac{P(A|B)P(B)}{P(A)} = 80\%
P(B∣A)=P(A)P(AB)=P(A)P(A∣B)P(B)=80%。
#####9、四维空间中有两个夹角60度的向量A和B,随机生成一个向量C分别与A和B计算内积,那么两个内积符号相同的概率为____。
A. 1/4
B. 1/3
C. 1/2
D. 2/3
E. 3/4
F. 以上都不对
######解析:
各个维度相互独立,所以其实和二维平面是一样的,完全可以拿二维平面来考虑。
内积
A
⋅
B
=
∣
A
∣
⋅
∣
B
∣
⋅
c
o
s
<
A
,
B
>
A · B = |A| · |B| · cos<A, B>
A⋅B=∣A∣⋅∣B∣⋅cos<A,B>,内积的正负由
A
,
B
A, B
A,B 夹角余弦决定,夹角的取值范围为
[
0
,
Π
]
[0, \Pi]
[0,Π],
设
A
A
A 向量方向为
X
X
X 轴正方向,
B
B
B 向量为
60
60
60 度,只考虑一二象限时,
对于
C
C
C 与
A
A
A 的内积,
C
C
C 与
X
X
X 轴的夹角为
[
0
,
Π
2
]
[0, \frac{\Pi}{2}]
[0,2Π] 为正,
[
Π
2
,
Π
]
[\frac{\Pi}{2}, \Pi]
[2Π,Π] 为负;
对于
C
C
C 与
B
B
B 的内积,
C
C
C 与
X
X
X 轴的夹角为
[
0
,
Π
2
+
Π
3
]
[0, \frac{\Pi}{2} + \frac{\Pi}{3}]
[0,2Π+3Π] 为正,
[
Π
2
+
Π
3
,
Π
]
[\frac{\Pi}{2} + \frac{\Pi}{3}, \Pi]
[2Π+3Π,Π] 为负。
因此,同为正的概率
1
2
\frac{1}{2}
21,同为负的概率
1
6
\frac{1}{6}
61,故,同号的概率为
2
3
\frac{2}{3}
32。
同理,三四象限和一二象限概率一样,所以整个二维平面同号的概率为
2
3
\frac{2}{3}
32。
#####10、2015年年初,某公司部门举行年会,期间有个游戏,规则是通过猜拳的方法决出每一局的胜负(一人赢其他所有人才算赢得本局,出现平局就继续猜拳),如果谁先赢满7局,则获胜,并赢得全部奖金。现在有3名员工甲、乙、丙参与了这个游戏,游戏进行了一会,分数为甲6,乙5,丙4,但时间已晚,大家要吃饭了。最公平的奖金分配方案是____。
A. 甲得到19/27,乙得到7/27,丙得到1/27
B. 甲得到18/27,乙得到8/27,丙得到1/27
C. 甲得到17/27,乙得到1/3,丙得到1/27
D. 甲得到19/27,乙得到6/27,丙得到2/27
E. 甲得到18/27,乙得到7/27,丙得到2/27
F. 甲得到17/27,乙得到8/27,丙得到2/27
######解析:
接下来比赛赢的序列中,
乙赢的可能有{乙乙,丙乙乙,乙丙乙,乙丙丙乙,丙乙丙乙,丙丙乙乙}
=
1
9
+
1
27
∗
2
+
1
81
∗
3
=
6
27
= \frac{1}{9} + \frac{1}{27} * 2 + \frac{1}{81} * 3 = \frac{6}{27}
=91+271∗2+811∗3=276;
丙赢的可能有{丙丙丙,乙丙丙丙,丙乙丙丙,丙丙乙丙}
=
1
27
+
1
81
∗
3
=
2
27
= \frac{1}{27} + \frac{1}{81} * 3 = \frac{2}{27}
=271+811∗3=272;
那么,甲的概率也就是
19
27
\frac{19}{27}
2719 了。
#####11、以下程序输出结果是____。
class A
{
public:
A():m_iVal(0){test();}
virtual void func() { std::cout<<m_iVal<<‘ ’;}
void test(){func();}
public:
int m_iVal;
};
class B : public A
{
public:
B(){test();}
virtual void func()
{
++m_iVal;
std::cout<<m_iVal<<‘ ’;
}
};
int main(int argc ,char* argv[])
{
A*p = new B;
p->test();
return 0;
}
A. 1 0
B. 0 1
C. 0 1 2
D. 2 1 0
E. 不可预期
F. 以上都不对
######解析:
B
B
B 继承自
A
A
A,先
A
A
A 构造函数,输出
0
0
0,然后
B
B
B 构造函数,
B
B
B 的
t
e
s
t
test
test 继承自
A
A
A,然后找
f
u
n
c
func
func 函数找到
B
B
B 自己的,所以输出
1
1
1,然后
p
−
>
t
e
s
t
(
)
p->test()
p−>test() 再执行一次,输出
2
2
2。