首页 > c++实习面经
头像
牛客706605761号
发布于 04-24 13:00
+ 关注

c++实习面经

毫末智行

一面 3.16

1.RPC 和GRPC相比优势

2.为什么选择Zookeeper

3.function和函数指针的区别

4.线程和进程区别

5.介绍几种自己比较熟的容器

算法题:任务调度和斐波那契数列

二面

主要是项目

柠檬微趣

一面 3.22

项目

  • buffer缓冲区
  • 线程池怎么实现得(手写线程池)
  • 单例模式
  • 定时器得实现

c++

  • std::move
  • 线程和进程那个切换快,虚拟空间由什么不同
  • 虚拟空间和物理空间区别
  • 访问不存在得虚拟空间会发生什么
  • 介绍排序算法时间复杂度、空间复杂度、稳定性(建堆自顶向下,自下向上得时间复杂度)

二面 3.27

  • tcp和udp的区别
  • udp传输数据的过程
  • 计算B+树层高
  • 大文件寻找中位数
  • 两数之和

WIND

一面 3.22

  • sizeof类的大小(类中只含有一个静态变量)
  • 多态
  • string s1 = "abc", string s2 = s1,区别,如果自己实现怎么实现s1,直接开辟内存然后初始化
  • 介绍Reactor,Reactor具体是什么

淘天

一面(电话面) 4.8

  • 智能指针,解释什么时循环引用
  • TCP、UDP
  • 微信聊天选哪个、视频会议选择哪个、下载选什么协议
  • TCP编程步骤
  • UDP编程步骤
  • TCP 和UDP的区别
  • 怎么使用udp实现可靠传输
  • 在网页输入网址的通信过程
  • socket参数都有哪些
  • 线程多线程中join和detach区别
  • 香农定理和奈奎斯特定理

手撕:

  • 二叉树的建立
  • 层序遍历二叉树
  • 两个线程分别读取文件text1, text2第一行然后读取完后再主线程输出成功(join())
  • 两个线程分别读取文件text1, text2第一行,主线程输出成功(detach())

Momenta

一面 4.9

  • 指针引用区别
  • 左值和右值
  • 智能指针
  • c语言struct和c++struct区别
  • 重载和重写
  • 介绍项目
  • 为啥做rpc

二面 4.10

  • 怎么比较float
  • 为什么要这样比较
  • 内存对齐,为什么进行内存对齐
  • 口撕单例模式
  • 手撕 判断一个地址是不是IPV4

腾讯

天美 一面 4.10

  • TCP和UDP,王者荣耀用到的协议
  • c++多态
  • 虚函数,虚函数表
  • 虚析构函数
  • 构造函数为什么不能是虚函数
  • 虚函数表属于类还是属于对象
  • 模板编程,放在哪个文件中(.h)
  • 多路IO复用
  • new和malloc区别
  • rpc框架的实现, 日志怎么实现的,知不知道无锁队列
  • muduo的定时器怎么实现的,线程池怎么工作的

ACM模式

  • 反转指定范围链表
  • 搜素二维矩阵

天美 二面 4.11

  • 项目的相关
  • linux查看cpu
  • b+树
  • zookeeper崩溃咋办
  • mysql主从同步
  • 分布式一致性
  • new和malloc区别
  • 进程之间的通信方式
  • select、poll、epoll

无手撕

天美 三面 4.16

  • 面向对象、面向过程
  • 查看端口状态
  • 怎么判断链表有环
  • new 和 malloc的区别
  • 常见的排序算法
  • 内存泄漏
  • 进程之间的通信方式
  • 怎么调试,然后怎么快速定位死循环
  • socket使用Tcp怎么增加系统的吞吐量

全部评论

(1) 回帖
加载中...
话题 回帖