第三、四、五场面试

第三场

共享屏幕做题(三道简单题)

  • 替换空格成%20(双指针)

  • 删除升序链表中的重复元素(指针)
  • 有效的括号(栈)

第四场、第五场

自我介绍

项目拷打

  • 整个项目架构
  • rpc模块的情况
  • 分析的数据从那里获取,如何获取
  • 整个项目还有哪些不足与改进
  • docker模块的主要工作

说一下DNS

map底层的红黑树跟二叉搜索树有什么区别?

介绍一下HTTP

介绍一下虚函数

虚函数的限制

介绍一下数据结构

介绍一下常用的排序算法

图论里面的迪杰斯特拉算法还记得吗

了解过堆排序吗

进行和线程的区别

进程和线程在内存方面的区别

介绍一下常用的锁

互斥锁和读写锁之间的相同和不同

Linux常用指令

做题

合并两个有序链表(双指针)

  • 当其中一个链表为空时,如何优化
    • 如果有K个链表,每个链表中有 n 个节点,如何排序
      • 把所有节点放入小顶堆,然后创建新的头结点,从小顶堆里面依次取出(时间复杂度 eq?O%28n%5E2%20*%20K%29)
      • 把所有节点两两合并,使用双指针的方法进行排序(时间复杂度 eq?O%28n%5E2%20*%20K%29差不多)
    • 面试官:每次把所有链表的头结点放入小顶堆,只对头节点进行排序

猜你喜欢

转载自blog.csdn.net/Ricardo_XIAOHAO/article/details/133086306