centos

CentOS C++面试题及答案

小樊
41
2025-10-28 07:21:19
栏目: 编程语言

CentOS C++面试题及答案(聚焦系统级与核心知识点)

以下题目结合CentOS系统特性(如进程/线程管理、内存布局、网络编程)与C++核心知识点,覆盖面试高频考点及实用场景。

1. CentOS下如何查看C++程序的内存泄漏?请给出具体命令与工具

答案
在CentOS中,可通过Valgrind工具检测C++程序的内存泄漏。常用命令如下:

valgrind --leak-check=full ./your_program

2. CentOS系统调用fork()与C++多进程编程:如何避免僵尸进程?

答案
fork()创建的子进程结束后,若父进程未调用wait()waitpid()回收其退出状态,子进程会变成僵尸进程(占用进程ID但无资源)。
解决方法

3. CentOS下C++多线程同步:pthread_mutex_tstd::mutex的区别

答案

4. CentOS下C++动态库(.so文件)的编译与使用

答案

5. CentOS下C++程序如何捕获信号(如SIGSEGV)?

答案
使用signal()sigaction()函数捕获信号,例如捕获SIGSEGV(段错误)并打印堆栈:

#include <signal.h>
#include <execinfo.h>
#include <iostream>
#include <unistd.h>

void signal_handler(int sig) {
    void* array[10];
    size_t size = backtrace(array, 10); // 获取堆栈信息
    std::cerr << "Error: signal " << sig << std::endl;
    backtrace_symbols_fd(array, size, STDERR_FILENO); // 打印堆栈到标准错误
    exit(1);
}

int main() {
    signal(SIGSEGV, signal_handler); // 注册信号处理函数
    int* p = nullptr;
    *p = 10; // 触发段错误
    return 0;
}

6. CentOS下C++文件IO:open()fopen()的区别

答案

7. CentOS下C++如何实现进程间通信(IPC)?请列举常用方法

答案
CentOS下C++常用的IPC方法包括:

8. CentOS下C++程序的性能分析:如何使用gprof

答案
gprof是GNU性能分析工具,用于统计函数调用次数与耗时,步骤如下:

0
看了该问题的人还看了