1.
下列说法错误的是( )
如果不显式地指定继承方式,缺省的继承方式是私有(private)
采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员
采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员
采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员
答:
在私有继承方式中,基类的公有成员和保护成员被派生类继承后变成派生类的私有成员,而基类的私有成员在派生类中不能访问。选D
public | protected | private | |
共有继承 | public | protected | 不可见 |
私有继承 | private | private | 不可见 |
保护继承 | protected | protected | 不可见 |
2.
下列关于数据库设计的叙述中,正确的是()
在逻辑设计阶段建立数据字典
在概念设计阶段建立数据字典
在需求分析阶段建立数据字典
在物理设计阶段建立数据字典
答:
数据字典是在需求分析阶段建立的。选C
数据字典的作用(分析阶段、设计阶段):数据、字段、约束
数据字典最重要的用途是作为分析阶段的工具。
在结构化分析中, 数据词典的作用是给数据流图上每个成分给以定义和说明。
如果要求所有开发人员都根据公共的数据字典描述数据和设计模块,则能避免很多麻烦的接口问题。
数据字典中包含的每个数据元素的控制信息是有价值的, 因为列出了使用一个给定的数据元素的所有程序(或模块) , 所以很容易估计改变一个数据将产生的影响, 并且能对所有受影响的程序或模块做出相应的改变。
数据字典是开发数据库的第一步, 而且是非常有价值的一步
3.
C++程序中,如果要求通过函数实现一种简单的功能,并且执行速度快,则应该选用( )。
重载函数
内联函数
递归函数
调用函数
答:内联函数
内联函数与一般函数的区别
1)内联含函数比一般函数在前面多一个inline修饰符
2)内联函数是直接复制“镶嵌”到主函数中去的,就是将内联函数的代码直接放在内联函数的位置上,这与一般函数不同,主函数在调用一般函数的时候,是指令跳转到被调用函数的入口地址,执行完被调用函数后,指令再跳转回主函数上继续执行后面的代码;而由于内联函数是将函数的代码直接放在了函数的位置上,所以没有指令跳转,指令按顺序执行
3)一般函数的代码段只有一份,放在内存中的某个位置上,当程序调用它是,指令就跳转过来;当下一次程序调用它是,指令又跳转过来;而内联函数是程序中调用几次内联函数,内联函数的代码就会复制几份放在对应的位置上
4)内联函数一般在头文件中定义,而一般函数在头文件中声明,在cpp中定义
利与弊
利:避免了指令的来回跳转,加快程序执行速度
弊:代码被多次复制,增加了代码量,占用更多的内存空间
4.
要将类A说明是类B的虚基类,正确的描述是( )。
答:
class B: virtual public A
5.
派生类是基类的组合。
答案:对,在多继承时,一个派生类有多于一个的基类,这时派生类将是所有基类行为的组合。
6.
对于满足SQL92标准的SQL:select foo, count(foo) from pokes where foo>10 group by foo having count(*)>5 order by foo, 执行顺序为
答:
FROM WHERE GROUP BY HAVING SELECT ORDER BY
SQL Select 语句完整的执行顺序:
1、from 子句组装来自不同数据源的数据;
2、where 子句基于指定的条件对记录行进行筛选;
3、group by 子句将数据划分为多个分组;
4、使用聚集函数进行计算;
5、使用 having 子句筛选分组;
6、计算所有的表达式;
7、select 的字段;
8、使用 order by 对结果集进行排序。
7.
数据库的事务隔离级别中,能避免幻读的是
答案:
Serializable
Serializable(序列化):可以避免脏读、不可重复读和幻读,但是并发性极低,一般很少使用。注意:该隔离级别在读写数据时会锁住整张表。
8.
在 TCP 拥塞控制机制中,当拥塞窗口小于阈值时,拥塞窗口呈
答案:指数增长
9.
java中局部变量指的是在方法中定义的变量,如果没有初始化,会有默认值吗?
答:局部变量没有初始化没有默认值
10.
哪一种磁盘驱动调度算法可能引起磁头臂频繁大幅度移动?
答:最短寻道时间优先算法