阅读 109

持续输出面试题系列之综合面试题(二)

已知一棵二叉树,如果先序遍历的节点顺序是: ADCEFGHB ,中序遍历是: CDFEGHAB ,则后序遍历结果为:D A. CFHGEBDA B. CDFEGHBA C. FGHCDEBA D. CFHGEDBA

解析:对于二叉树的遍历方式一般分为三种先序、中序、后序三种方式:

先序遍历(根左右) 若二叉树为空,则不进行任何操作:否则 ①访问根结点。 ②先序方式遍历左子树。 ③先序遍历右子树。 中序遍历 (左根右) 若二叉树为空,则不进行任何操作:否则 ①中序遍历左子树。 ②访问根结点。 ③中序遍历右子树。 后序遍历 (左右根) 若二叉树为空,则不进行任何操作:否则 ①后序遍历左子树。 ②后序遍历右子树。 ③放问根结点。 目给出的先序遍历和中序遍历,可以画出二叉树: image.png

初始序列为 1 8 6 2 5 4 7 3 一组数采用堆排序,当建堆(小根堆)完毕时,堆所对应的二叉树中序遍历序列为:A A. 8 3 2 5 1 6 4 7 B. 3 2 8 5 1 4 6 7 C. 3 8 2 5 1 6 7 4 D. 8 2 3 5 1 4 7 6

解析:初始化序列:1 8 6 2 5 4 7 3,,小根堆就是要求结点的值小于其左右孩子结点的值,左右孩子的大小没有关系,那么小根堆排序之后为:1 2 4 3 5 6 7 8;

中序遍历:左根右,故遍历结果为:8 3 2 5 1 6 4 7

Unix 系统中,哪些可以用于进程间的通信?ABCD A.Socket B.共享内存 C.消息队列 D.信号量 管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信; 信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;linux 除了支持 Unix 早期信号语义函数 sigal 外,还支持语义符合 Posix.1 标准的信号函数 sigaction(实际上,该函数是基于 BSD 的,BSD 为了实现可靠信号机制,又能够统一对外接口,用 sigaction 函数重新实现了 signal 函数); 报文(Message)队列(消息队列):消息队列是消息的链接表,包括 Posix 消息队列 system V 消息队列。有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的消息。消息队列克服了信号承载信息量少,管道只能承载无格式字节流以及缓冲区大小受限等缺点。 共享内存:使得多个进程可以访问同一块内存空间,是最快的可用 IPC 形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。 信号量(semaphore):主要作为进程间以及同一进程不同线程之间的同步手段。 套接口(Socket):更为一般的进程间通信机制,可用于不同机器之间的进程间通信。起初是由 Unix 系统的 BSD分支开发出来的,但现在一般可以移植到其它类 Unix 系统上:Linux 和 System V 的变种都支持套接字。

如何提高查询 Name字段的性能?B A. 在 Name 字段上添加主键 B. 在 Name 字段上添加索引 C. 在 Age 字段上添加主键 D. 在 Age 字段上添加索引

浏览器访问某页面, HTTP 协议返回状态码为 403 时表示 B A. 找不到该页面 B. 禁止访问 C. 内部服务器访问 D. 服务器繁忙

常见的状态码:

200:请求被正常处理 204:请求被受理但没有资源可以返回 206:客户端只是请求资源的一部分,服务器只对请求的部分资源执行GET方法,相应报文中通过Content-Range指定范围的资源。 301:永久性重定向 302:临时重定向 303:与302状态码有相似功能,只是它希望客户端在请求一个URI的时候,能通过GET方法重定向到另一个URI上 304:发送附带条件的请求时,条件不满足时返回,与重定向无关 307:临时重定向,与302类似,只是强制要求使用POST方法 400:请求报文语法有误,服务器无法识别 401:请求需要认证 403:请求的对应资源禁止被访问 404:服务器无法找到对应资源 500:服务器内部错误 503:服务器正忙

简答题: Java 中,为什么基类不能做为HashMap的键值, 而只能是引用类型,把引用类型作为HashMap 的键值, 需要注意哪些地方? 引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和 用法,包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。

编程题: 一个数如果恰好等于它的因子之和, 这个数就称为” ” 完数” ”。 例如 6 = 1+2+3 。 编程找出1000 以内的所有完数。

	public static void main(String[] args) {
		for (int m = 2; m < 1000; m++) {
			int s = 0;
			for (int i = 1; i < m; i++) {
				if ((m % i) == 0)
					s += i;
			}
			if (s == m) {
				System.out.print(m + " its factors are:");
				for (int j = 1; j < m; j++) {
					if ((m % j) == 0) {
						System.out.print(j);
						System.out.print(" ");
					}
				}
				System.out.println();
			}
		}
	}
复制代码

运行结果:

6 its factors are:1 2 3 
28 its factors are:1 2 4 7 14 
496 its factors are:1 2 4 8 16 31 62 124 248 
复制代码
文章分类
后端
文章标签