测试复盘3
1.一个节点含有的子树的个数称为该节点的度
2.JavaScript中的数据类型分类:
第一种分类方式,也是比较常见的一种分类方法,分为9种类型:分别是Undefined,Boolean,Object,Number,Null,String,Reference,List,Completion,其中Reference,List,Completion三种类型仅共语言解析运行时使用,无法从程序中直接访问
第二种分类方法:用typeof()关键字来分类,可以分为:undefined,number,string,boolean,object,function。
3.使用派生类的主要原因是(提高代码的可重用性)。
4.10BASET 以太网的物理拓扑结构为星型 (逻辑拓扑结构为总线型)。
5.根据以下代码段,下列说法中正确的是( )。
protected void m3(){}
public static void m4(){}
}解析:
A.私有方法不可继承和覆盖,故A错。
B.默认修饰符的方法,字符类一旦不再一个包,就不能覆盖了。故B错。
D.静态属性和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏。故D错。
答案:C
6. 以太网媒体访问控制技术CSMA/CD的机制是(争用带宽)。
7. 如下代码一共创建多少个进程(包含主进程):
1
2
3
4
5
|
int main( int argc, char * argv[]) { fork(); fork() && fork() && fork(); fork() || fork(); } |
A. 15 B. 18 C. 21 D. 24
解析:
答案:D
8. time_t t;
哪个选项可以将t初始化为当前程序的运行时间?
A. t = clock(); B.time( &t ); C.time( t ); D.t = localtime(); E.None of the above
解析:
clock()就是该程序从启动到函数调用占用CPU的时间
time( &t );为获取系统时间
localtime(&t); 将一个UTC时间转为本地时间
答案:A
9. TCP的三次握手(建立连接)和四次挥手(关闭连接)详解
10.直接封装RIP、OSPF、BGP报文的协议分别是UDP、IP、TCP。
11.所有软件过程包括的四个基本活动是:软件描述、软件设计和实现、软件有效性验证、软件进化。
12.(内模式)是用户可以看见和使用的局部数据的逻辑结构和特征的描述。
13.SQL语言中,SELECT语句的执行结果是集合。
14.通常我们需要获取某个信息时,都会通过几个缩写的关键字进行检索,那么,在开发过程中,如何使用Html5元素进行布局(<abbr> )。
<abbr> 标签用来表示一个缩写词或者首字母缩略词,<abbr> 标签的 title 属性可被用来展示缩写词/首字母缩略词的完整版本。
15.在Internet域名体系中,域的下面可以划分子域,各级域名用圆点分开,按照(从右到左越来越小的方式分多层排列)。
16.假设一集线器存在7个端口,共连接了5台计算机,那么该网络环境存在冲突域的个数为(1).
集线器的所有端口是一个冲突域
17.终端发送帧序列为1101011111,使用生成多项式为G(x)=x^4+x+1校验后发出的帧序列为(11010111110010)。
CRC 算法的基本思想是将传输的数据当做一个位数很长的数。将这个数除以另一个数。得到的余数作为校验数据附加到原数据后面。
18.jre判断程序是否执行结束的标准是(所有的前台线程执行完毕)。
19.类的析构函数是一个对象被(撤销)时自动调用的。
20.采用段式存储管理的系统中若地址用24位表示,其中8位表示段号,则允许每段的最大长度是(2^16)。
21.100Base-T使用哪一种传输介质?(双绞线)
22.操作系统中采用缓冲技术的目的是为了增强系统(并行操作 )的能力。
23.多道程序环境下,每个进程何时获得处理机,何时提出资源请求而暂停等等都是不可预知的,这就是操作系统的异步性。
24.下面代码打印结果为()
class Base {
char data[3];
public:
virtual void f() { cout << "Base::f" << endl; }
virtual void g() { cout << "Base::g" << endl; }
virtual void h() { cout << "Base::h" << endl; }
};
int main()
{
cout << sizeof(Base)<< endl;
return 0;
}
解析:
sizeof(类) (类的大小与构造函数、析构函数和其它成员函数无关) 非静态数据成员+虚函数表的指针+对齐,类中虚函数存放的只是虚函数表的指针,4个字节,加上char求组的3个字节,对齐以后就是8字节。
答案:8
25.以太网卡的工作模式有广播模式、多播模式、直接模式和混杂模式。
26. String s = new String("xyz");创建了几个String Object
答:两个,一个字符对象,一个字符对象引用对象
27. Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别
答:Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等
equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值
28. error和exception有什么区别
答:error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况
exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况
29. abstract class和interface有什么区别
答:声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法
接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口
30. 构造器Constructor是否可被override
答:构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading
31. swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
答:switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich
32. String是最基本的数据类型吗
答:基本数据类型包括byte、int、char、long、float、double、boolean和short。
java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类
33. 运行时异常与一般异常有何异同
答:异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
34. 垃圾回收的优点和原理。并考虑2种回收机制
答:Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有"作用域"的概念,只有对象的引用才有"作用域"。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。
35. 排序都有哪几种方法?请列举
答: 排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)
快速排序的伪代码。
/ /使用快速排序方法对a[ 0 :n- 1 ]排序
从a[ 0 :n- 1 ]中选择一个元素作为m i d d l e,该元素为支点
把余下的元素分割为两段left 和r i g h t,使得l e f t中的元素都小于等于支点,而right 中的元素都大于等于支点
递归地使用快速排序方法对left 进行排序
递归地使用快速排序方法对right 进行排序
所得结果为l e f t + m i d d l e + r i g h t