• 面试 | 百度推荐架构开发--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. 还有什么要问的

  • 相关阅读:
    float浮动后,父级元素高度塌陷和遮盖问题
    Json
    测试连接数据库是否成功
    spark standalone zookeeper HA部署方式
    用NAN简化Google V8 JS引擎的扩展
    在Android上使用Google V8 JS 引擎
    数据可视化工具zeppelin安装
    kafka0.8.2以下版本删除topic
    kafka迁移数据目录
    scala2.10.x case classes cannot have more than 22 parameters
  • 原文地址:https://www.cnblogs.com/Zak-NoS/p/12939247.html
Copyright © 2020-2023  润新知