• 牛客网AI面试第五轮


    1. 简述一下 Linux 中的零拷贝
      零拷贝(Zero-Copy)就是一种避免 CPU 将数据从一块存储拷贝到另外一块存储的技术,是指将数据直接从磁盘文件复制到网卡设备中,而不需要经由应用程序之手。
      Linux中零拷贝
      ● Linux中零拷贝实现Linux 中零拷贝技术实现方式通常有 2 中:
      ● mmap() + write()
      ● sendfile()
      ● 零拷贝的实现原理
      ● mmap() + write():mmap() 系统调用函数会直接把内核缓冲区里的数据映射到用户空间,这样,操作系统内核与用户空间就不需要再进行任何的数据拷贝操作。具体过程:
      ○ 应用进程调用了 mmap() 后,DMA 会把磁盘的数据拷贝到内核的缓冲区里,接着应用进程跟操作系统内核共享这个缓冲区
      ○ 应用进程再调用 write(),操作系统直接将内核缓冲区的数据拷贝到 socket 缓冲区中,这一切都发生在内核态,由 CPU 来搬运数据
      ○ 最后,把内核的 socket 缓冲区里的数据,拷贝到网卡的缓冲区里,这个过程是由 DMA 搬运的
      ● sendfile():在 Linux 内核版本 2.1 中,提供了一个专门发送文件的系统调用 sendfile()。具体过程:
      ○ 发起 sendfile() 系统调用,操作系统由用户态空间切换到内核态空间
      ○ 通过 DMA 引擎将数据从磁盘拷贝到内核态空间的输入的 socket 缓冲区中
      ○ 将数据从内核空间拷贝到与之关联的 socket 缓冲区
      ○ 将 socket 缓冲区的数据拷贝到协议引擎中
      ○ sendfile() 系统调用结束,操作系统由用户态空间切换到内核态空间

    2. 创建线程有哪几种方式
      创建线程
      1,继承Thread
      2,实现Runnable
      3,实现Callable

    3. 说一说你对双亲委派模型的理解
      双亲委派模型要求除了顶层的启动类加载器外,其余的类加载器都应当有自己的父类加载器。
      类加载器
      如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成。
      每一个层次的类加载器都是如此。因此,所有的加载请求最终都应该传送到顶层的启动类加载器中。
      只有当父加载器反馈自己无法完成这个加载请求时(搜索范围中没有找到所需的类),子加载器才会尝试自己去加载。
      很多人对“双亲”一词很困惑。这是翻译的锅,,,“双亲”只是“parents”的直译,实际上并不表示汉语中的父母双亲,而是一代一代很多parent,即parents。

    4. Redis有哪些数据类型
      String:字符串类型, Hash:哈希,类似HashMap, List:列表, Set:无序集合, ZSet:有序集合

    5. 三个数的最大乘积

    import java.util.*;
    
    
    public class Solution {
        /**
        * 最大乘积
        * @param A int整型一维数组 
        * @return long长整型
        */
        public long solve (int[] A) {
            // write code here
            Arrays.sort(A);
            return Math.max((long)A[0]*A[1]*A[A.length-1],(long)A[A.length-3]*A[A.length-2]*A[A.length-1]);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
  • 相关阅读:
    基于GenericAPIView以及五个视图扩展类写接口
    【Java 进阶篇】JSP EL 详解
    学习探索-使用伪元素清除浮动元素造成的高度坍塌
    Leetcode算法解析——快乐数
    python基础查漏补缺
    pyTorch——基础学习笔记
    深入react源码看setState究竟做了什么?
    word图片的标题跑到了图片的上方。
    【win7】NtWaitForKeyedEvent
    全栈性能测试详解
  • 原文地址:https://blog.csdn.net/AzirBoDa/article/details/126213478