bilibili视频云高质量C++面试题

 

一面

C++:

  • new、malloc区别
    返回类型、分配失败返回值、分配大小、数组的处理方式、是否调用构造函数
  • 多态
    编译时多态、运行时多态
  • 虚函数实现
    vptr、vtable
  • 重载原理
    符号表
  • map
    红黑树,定义,自旋

网络:

  • UDP可靠实现
    序列号、ACK、重传、定时器
  • DNS细节
    不会
  • Listen(2),backlog参数
    The backlog argument defines the maximum length to which the queue of pending connections for sockfd may grow.
  • 浏览器输入网址到实现

操作系统:

  • C程序的虚拟内存空间
    stack、heap、bss、data、text
  • 页机制
    换页、缺页异常、TLB
  • IPC
    管道、信号、消息队列、信号量+共享内存

Linux

  • 常用命令

算法题

  • 最大子序和
    dp

二面

网络

  • 拥塞控制
    慢启动、拥塞避免、快速重传、快速恢复
  • select(2)、epoll(7)
    红黑树、边缘触发、节省用户态内核态拷贝
  • 红黑树原理,与AVL的区别
    定义、自旋,rebalance频率相对低,适合大量插入删除node的场景

操作系统

  • 多进程和多线程的选择
    多进程可靠性高,创建销毁切换开销大,多线程反之
  • Linux下C程序的调试
    breakpoint、coredump
  • 静态链接、动态链接
    libc库,避免代码庞大,节省内存,更新时不需全部重新编译,提高可维护性
  • 内存泄漏
    valgrind

算法题

  • n个整数,找出平均数最大且长度为k的连续子数组,输出最大平均数
    easy题,滑动窗口
  • 如果长度大于等于k?
    n^2超时,面试结束看了题解,用的二分,这是个hard题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值