078期综合面试题系列二

2020-09-08 21:53 Java最全面试题库

  点击上方蓝色字体,关注我吧

2020年百日百更原创Java最全面试题库之往期回顾

【000期】Java最全面试题库思维导图

【020期】JavaSE系列面试题汇总(共18篇)

【028期】JavaWeb系列面试题汇总(共10篇)

【042期】JavaEE系列面试题汇总(共13篇)

【049期】数据库系列面试题汇总(共6篇)

【053期】中间件系列面试题汇总(共3篇)

【065期】数据结构与算法面试题汇总(共11篇)

【076期】分布式面试题汇总(共10篇)

【077期】综合面试题系列(一)


开篇介绍

大家好,我是Java最全面试题库提裤姐,今天这篇是综合面试题系列的第二篇,主要总结了各个大厂的面试题相关的问题;在后续,会沿着第一篇开篇的知识线路一直总结下去,做到日更!如果我能做到百日百更,希望你也可以跟着百日百刷,一百天养成一个好习惯。


Q:

选择题

已知一棵二叉树,如果先序遍历的节点顺序是: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:服务器正忙


Q:

简答题

Java  中,为什么基类不能做为HashMap的键值, 而只能是引用类型,把引用类型作为HashMap  的键值, 需要注意哪些地方?

引用类型和原始类型的行为完全不同,并且它们具有不同的语义。

引用类型和原始类型具有不同的特征和用法,包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。



Q:

编程题

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

 1    public static void main(String[] args) {
2        for (int m = 2; m < 1000; m++) {
3            int s = 0;
4            for (int i = 1; i < m; i++) {
5                if ((m % i) == 0)
6                    s += i;
7            }
8            if (s == m) {
9                System.out.print(m + " its factors are:");
10                for (int j = 1; j < m; j++) {
11                    if ((m % j) == 0) {
12                        System.out.print(j);
13                        System.out.print(" ");
14                    }
15                }
16                System.out.println();
17            }
18        }
19    }

运行结果:

1its factors are:1 2 3 
228 its factors are:1 2 4 7 14 
3496 its factors are:1 2 4 8 16 31 62 124 248 










“一个专注于分享各类Java面试题的号主,长按二维码关注我吧 ”

祝大家都能拿到心仪的offer!







长按识别二维码

等风也等你



文章都看完了不点个 吗

本文章转载自公众号:tikujie

首页 - Java 相关的更多文章: