当前位置: 首页 > news >正文

字节-C++实习-面试

1. 如何防止线程池空置

2. 有什么类型的锁

3. redis实现的分布式锁是乐观锁还是悲观锁

4. 稳定排序和不稳定排序都有什么

选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,

冒泡排序、插入排序、归并排序、基数排序是稳定的排序算法

5. const和宏的区别

  1. 起作用的阶段不同,宏在预编译阶段展开,const常量在编译阶段处理。
  2. 起作用的方式不同。宏没有类型,不做任何类型检查,仅仅是展开。const常量有具体的类型,在编译阶段会执行类型检查。
  3. 就存储方式来看,宏只是进行展开,有多少个地方使用,就替换多少次,它定义的宏常量在内存中有很多备份,而const在内存中只有一个备份。
  4. 从代码调试的方便程度而言,const是可以进行调试的,而#define不能调试,在预编译阶段已经替换过了。

6. 如何防止内存泄露

  • 明确申请和释放内存:每次使用new或malloc申请内存后,都要确保在适当的时候使用delete或free释放内存。
  • 使用RAII(资源获取即初始化)原则:RAII是C++中管理资源(包括内存)的一种有效方法。它通过将资源的生命周期与对象的生命周期绑定来确保资源的正确释放。例如,使用智能指针来管理动态分配的内存。
  • 使用智能指针智能指针是实现RAII的一种方式。</

http://www.mrgr.cn/news/6559.html

相关文章:

  • [已解决]mac远程连接windows桌面:parallels client连接遇到的问题
  • 【习题】保存应用数据
  • 百度Q2财报:百度核心利润增长23%超预期 AI驱动业务高质量增长
  • Python中常见数据结构
  • 为什么MCU中需要ADC模块
  • 飞书操作—学习笔记
  • SpringBoot整合RabbitMQ
  • Vue处理表格长字段显示问题
  • 八股(3)——计网
  • Android studio的replace替换
  • 十五、OpenCVSharp实现相机标定
  • AI绘画工具 Stable Diffusion【插画转绘】:建筑 | 风景| 人像照片的插画转绘制作教程,照片秒变插画风格图片!
  • gogs运行报“gogs“: cannot run executable found relative to current directory
  • ECharts tooltip默认html样式,保留样式只对数值格式化
  • Python 爬虫框架
  • 如何通过rsync+sersync 实现同步备份
  • 并发知识笔记
  • Spring父子容器
  • HarmonyOS 地图服务:深度解析其丰富功能与精准导航实力
  • kafka的一个有趣问题(BUG)