美团 - C++ 工程师面经汇总
2098
2020.11.03
2020.11.07
发布于 未知归属地

09.png

语言

  • struct 和 class 的区别
  • const 和 define 的区别
  • 虚函数的工作方式
  • 派生类虚构的时候会调用基类的虚构函数吗,什么情况下会调用
  • 虚函数表的存放内容
  • 迭代器的类型和作用
  • 指针和引用的区别
  • 函数重载,重写,隐藏的区别
  • new和malloc,delete和free之间有什么区别
  • 左值和右值得区别,如何将左值转换成右值

计算机网络

  • OSI七层模型
  • TCP/IP协议在哪一层
  • 为什么TCP/IP去除了表示层和会话层
  • 阻塞和非阻塞的区别
  • TCP 和 UDP 的区别
  • TCP 可靠传输的机制
  • 流量控制和拥塞控制的区别
  • TCP 为什么是三次握手
  • TCP 四次挥手
  • GET 和 POST 的区别
  • 网页输入 url 到前端展示的过程
  • DNS 的原理
  • HTTP中常见的code码。5XX的状态码用过哪些
  • HTTP和HTTPS的区别
  • HTTPS的怎么实现加密的
  • HTTP 报文格式
  • rsa 和 aes 算法有什么区别
  • IPV4 地址不够如何解决
  • NAT 的原理和过程
  • ping 的原理和过程
  • ping 不通代表的问题

数据结构

  • 数组和链表的区别,它们各自的使用场景,优缺点
  • vector 和 deque 的区别
  • 队列和栈有什么区别
  • map 的底层实现,解决hash碰撞的方法
  • 二叉搜索树的特征,查找和插入时间复杂度
  • 为什么二叉搜索树会不稳定,如何改进
  • AVL树的调整过程,左旋右旋
  • 红黑树的特征和调整过程

数据库

  • MySQL 有哪些存储引擎,索引结构是什么
  • 如何删除表中的一行记录
  • 什么是事务,以及一致性问题
  • 数据库的底层实现
  • B+ 树和 B 树的区别

操作系统

  • 同步和异步的区别
  • slect,poll,epoll 的区别
  • 动态库和静态库的区别
  • Linux 更改文件执行权限的命令
  • Linux 查看磁盘空间的命令
  • LInux 检测系统资源情况的命令
  • Linux 动态查看日志的命令
  • Linux 定位文件中某个关键字的位置
  • 进程和线程的区别
  • 进程有哪些状态。一个进程从创建到运行经过哪些阶段
  • 线程同步的方式
  • 进程同步的方式
  • 线程池有哪些好处
  • 为什么线程的崩溃会导致这个进程的崩溃
  • 如何防止死锁,银行家算法
  • 用过哪些锁
  • 自旋锁是什么,应用场景
  • 多线程编程要注意哪些方面
  • 程序从点击到运行经过了哪些过程?

算法

其他

  • 在学习的过程中有没有遇到比较感兴趣的内容,会不会主动去深入学习
  • 在学习中遇到不懂的地方,如何解决;看到不同的解释,如何处理
  • 对公司的期望,城市的要求
  • 职业的发展方向,找工作看重的点
  • 如何看待前端和后端的
  • 相比其他人的优势在哪里
  • 你是如何去释放自己的压力的
  • 平时是如何学习的,兴趣爱好
评论 (0)