《牛客刷题》c++_sql_操作系统笔记

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.

哪一种磁盘驱动调度算法可能引起磁头臂频繁大幅度移动?

答:最短寻道时间优先算法

 

 

 

 

 

你可能感兴趣的:(面试题集合,c++,java,开发语言)