信锐 C++开发一面总结

1. Redis持久化:RDB和AOF机制的区别及应用场景

答案:

  • RDB(快照):定时将内存数据dump到磁盘,恢复快但可能丢失最后一次快照后的数据,适合冷备份
  • AOF(追加日志):记录每个写操作,数据更安全但文件更大、恢复慢,适合对数据完整性要求高的场景
  • 混合持久化:Redis 4.0后支持RDB+AOF结合,兼顾性能和安全性

2. 如何实现高并发场景下的服务器负载监控

答案:

  • 监控CPU使用率:读取/proc/stat或使用top命令解析
  • 监控内存:读取/proc/meminfo
  • 监控网络IO:读取/proc/net/dev
  • 监控磁盘IO:使用iostat或读取/proc/diskstats
  • 实现方式:定时采样+滑动窗口计算平均值,超过阈值触发告警或限流

3. 用户态切换到内核态的几种方式

答案:

  • 系统调用(syscall):主动调用如read/write,通过int 0x80或syscall指令
  • 异常(exception):如缺页异常、除零错误
  • 中断(interrupt):硬件中断如时钟中断、网卡中断
  • 信号处理:内核向进程发送信号时会切换到内核态

4. C++智能指针的实现原理及循环引用问题

答案:

  • shared_ptr:引用计数,多个指针共享对象,计数为0时释放
  • weak_ptr:不增加引用计数,用于打破循环引用
  • unique_ptr:独占所有权,不可拷贝只能移动
  • 循环引用:A持有B的shared_ptr,B持有A的shared_ptr,导致计数永不为0。解决方案是其中一方使用weak_ptr

5. 除了信号,Linux还有哪些进程间通信(IPC)方式

答案:

  • 管道(pipe/FIFO):半双工,适合父子进程
  • 消息队列:异步通信,可以按类型接收
  • 共享内存:最快的IPC,需配合信号量同步
  • 信号量:用于进程同步
  • Socket:可跨网络通信

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

C++八股文全集 文章被收录于专栏

本专栏系统梳理C++技术面试核心考点,涵盖语言基础、面向对象、内存管理、STL容器、模板编程及经典算法。从引用指针、虚函数表、智能指针等底层原理,到继承多态、运算符重载等OOP特性从const、static、inline等关键字辨析,到动态规划、KMP算法、并查集等手写实现。每个知识点以面试答题形式呈现,注重原理阐述而非冗长代码,帮助你快速构建完整知识体系,从容应对面试官提问,顺利拿下offer。

全部评论

相关推荐

昨天 20:19
已编辑
门头沟学院 Java
太压力了,面了2个多小时,本菜比已经被拷打的瑟瑟发抖面完两个小时后通知过了1.算法题三道(1)leetcode124 二叉树中最大路径和hard题 因为不久前才刷过撕出来了,又来了一道(2)leetcode 300 最长递增子序列变种除了递增之外还加了一个权重因素,但是思路没变,dp就行(3)寻找词汇库里符合固定长度前缀的匹配单词应该是他们自己题库的题。给了一串单词列表,然后又给了一个单词,一个下标,根据这个下标的前缀去单词列表里面找到所有匹配的单词再返回思路是创建一个单词前缀树,然后根据树找,但是可能是构件树数有问题没撕出来2.全方位项目拷打基本没有问八股,全部都是项目企业场景题,哎哟我操,完全不会。我就纯八股战士,结果没想到一道八股都没问反正尽可能把企业场景往八股上引吧。。1. 微服务多点部署其中一个宕机了怎么办2. 要是mq占据大量CPU该怎么排查?MySQL占据大量CPU该怎么排查?3. 假如说让你实现视频点赞功能,你打算怎么设计?讲讲思路(我知道多级缓存,但是碰巧没背……寄)4. Redis延迟双删是什么,分布式锁,哨兵模式5. MySQL到es同步的延迟该怎么优化6. Rabbit mq的队列是怎么实现的?(这个完全没整明白,可能是队列的底层结构? 反正我硬扯的讲了一下rabbit mq的架构)还扯了很多,但是往后完全就慌了),记住的是这些
查看9道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务