zoukankan      html  css  js  c++  java
  • 面试 | 百度推荐架构开发--2020/5/22

    我太难了,二分都写不出来了

    前言

    百度面试,面试官很和蔼,步步提示,我还是做不出来,太难了,面试不算太难都是最基础的,TCP/IP(握手、挥手),TOPK, 二分查找(太难了,都边界判定有错),反正挂了QAQ!

    面试过程

    1. 自我介绍

    我自我介绍了一下

    1. STL容器的底层实现数据结构

      1. vector是数组,map是红黑树都没说啊
      2. List是双向链表
      3. set,multiset,map, multimap都是红黑树
      4. deque是双端队列,list和堆的结合体
      5. stack和queue是list或deque
      6. priority_queue是vector
      7. hash_set为hash表,无序,不重复
      8. hash_multiset 为hash表
      9. hash_map 为hash表
      10. hash_multimap 为hash表
    2. 代码”二分查找(没写出来,简直耻辱QAQ”)

    int findBin(vector<int> arr, int n, int val){
          int l=0;
        int r=n-1;
        int mid=(l+r)/2;
        while(l<=r){
            if(arr[mid]==val){
                while(mid>=0&&arr[mid]==val){
                      mid--; 
                }
                return mid+1;
            }else if(arr[mid]>val){
                r=mid-1;
            }else{
                l=mid+1;
            }
            mid=(l+r)/2;
        }
        return -1;
    }
    
    1. 代码:两个数组topk(这特么太难,leetcode困难难度,我太难了或许这就是我二分没写出来的后果吧)

    2. TCP/IP协议四次挥手过程,TIME_WAIT 的目的

      目的

           1. 关闭流程更加可靠,保证更安全的连接,客户端在发送消息确认,服务端如果没有接收到此消息,服务端会发一次消息确认,此时TIME_WAIT就是此作用
           2. 为使旧的数据包在网络因过期而消失,若同一个客/服连接,前后两次连接的关闭和建立紧接着,TCP协议无法区分是两次不同的连接,若此时旧的连接的数据包过来,就会导致协议以为是新连接的数据包,传到应用层,导致数据错乱。TIME_WAIT也有防止这个的作用。使用TIME_WAIT后,在TIME_WAIT时间内客户端不再发消息,在网络上的数据包会由于超过2MSL后而消失,如此防止数据错乱。
      
    3. 自己项目(深度学习)

    4. 还有什么要问的

  • 相关阅读:
    关于在MAC上进行 LARAVEL 环境 Homestead 安装过程记录
    js 贷款计算器
    js 实现阶乘
    js 两点间距离函数
    composer Your requirements could not be resolved to an installable set of packages
    vue 项目优化记录 持续更新...
    vue 项目打包
    vue 真机调试页面出现空白
    vue 真机调试
    谈谈-Android状态栏的编辑
  • 原文地址:https://www.cnblogs.com/Zak-NoS/p/12939247.html
Copyright © 2011-2022 走看看