美文网首页程序员
持续输出面试题系列之综合面试题(二)

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

作者: 我可能是个假开发 | 来源:发表于2020-10-13 12:15 被阅读0次

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

    相关文章

      网友评论

        本文标题:持续输出面试题系列之综合面试题(二)

        本文链接:https://www.haomeiwen.com/subject/ncwjektx.html