主页 > 软件开发  > 

计算机考研复试高频五十问(第一期)

计算机考研复试高频五十问(第一期)
计算机考研复试高频五十问(第一期) 1. 解释什么是并发与并行,它们的区别是什么?

答案: 并发(Concurrency)指系统能够同时处理多个任务的能力,实际上这些任务可能在单个CPU核心上交替执行(时间片轮转)。 并行(Parallelism)指多个任务真正同时在多个CPU核心上同时执行。 区别:

并发是逻辑上的“同时”,并行是物理上的同时并发通过分时复用实现,并行依赖多核硬件例:浏览器多标签页是并发,多核CPU计算是并行
2. C语言与C++语言的区别有哪些?

答案:

维度C语言C++语言编程范式面向过程支持面向对象和泛型编程内存管理手动malloc/free支持new/delete和智能指针函数特性无函数重载支持函数重载和运算符重载标准库标准库简单STL容器/算法完备特性扩展无类/继承/多态支持OOP四大特性
3. 解释“面向对象”编程及其四大特性

答案: 面向对象编程(OOP)是通过对象的创建与协作来设计程序的编程范式。 四大特性:

抽象(Abstraction):提取事物关键特征,隐藏实现细节封装(Encapsulation):将数据与方法绑定,控制访问权限继承(Inheritance):子类复用父类特性,实现代码复用多态(Polymorphism):同一接口在不同对象产生不同行为
4. 指针在C语言中的作用及常见错误

答案: 作用:

直接访问内存地址实现动态内存分配高效传递大量数据(避免值拷贝)

常见错误:

空指针解引用:int *p = NULL; *p = 10;野指针:释放内存后未置空指针(free(p);未设置p = NULL)内存泄漏:忘记释放malloc分配的内存指针越界:int arr[5]; int *p = &arr[10];
5. C++中虚函数与多态实现

答案: 虚函数:用virtual声明的成员函数,支持运行时多态。 多态实现步骤:

class Animal { public: virtual void speak() = 0; // 虚函数 }; class Dog : public Animal { public: void speak() override { cout << "Woof!"; } }; // 使用 Animal* animal = new Dog(); animal->speak(); // 输出Woof(动态绑定)

实现原理:通过虚函数表(vtable)在运行时确定函数地址。


6. 递归算法的优缺点及栈溢出预防

答案: 优点:

代码简洁(如遍历树结构)天然适合分治问题(如汉诺塔)

缺点:

栈空间消耗大,可能溢出重复计算多(如未优化的斐波那契数列)

预防栈溢出:

使用尾递归优化(需编译器支持)改为迭代(循环)实现限制递归深度(设置终止条件)
7. 哈希表工作原理及冲突解决

答案: 工作原理:

通过哈希函数将键(key)转换为数组索引存储键值对到对应索引位置

冲突解决方法:

链地址法:每个桶用链表存储元素(Java HashMap使用)开放寻址法: 线性探测:逐个查找空位二次探测:按平方数跳跃探测 再哈希法:使用第二个哈希函数重新计算
8. 快速排序 vs 归并排序

答案: 时间复杂度:

快速排序:平均O(n log n),最差O(n²)(取决于pivot选择)归并排序:稳定O(n log n) 算法优点缺点快速排序原地排序,缓存友好最差情况性能差归并排序稳定排序,适合链表结构需要额外O(n)空间
9. 深度优先搜索(DFS)与广度优先搜索(BFS)

答案: DFS:

沿分支深度遍历到底再回溯实现方式:递归或显式栈适用场景:寻找所有可能解(如迷宫问题)

BFS:

按层次逐层遍历所有节点实现方式:队列适用场景:最短路径问题(如社交网络关系度)

不同点:

DFS可能陷入无限循环(需记录访问状态)BFS保证找到最短路径(权值相同时)
10. 链表插入节点时避免内存泄漏

答案: 正确操作步骤示例:

// 在链表中间插入新节点 Node* insert(Node* prevNode) { Node* newNode = malloc(sizeof(Node)); // 申请内存 if (newNode == NULL) exit(1); // 检查分配成功 newNode->next = prevNode->next; // 先连接新节点 prevNode->next = newNode; // 再断开原链接 return newNode; }

避免泄漏要点:

malloc后必须对应free修改指针前备份关键节点(防止断链)使用valgrind等工具检测内存
11. 关系型 vs 非关系型数据库区别

答案:

类型关系型(如MySQL)非关系型(如MongoDB)数据模型表结构/SQL文档/键值对/列存储事务支持强ACID支持通常弱化(可配置)扩展方式垂直扩展(更强一致性)水平扩展(更高可用性)适用场景复杂查询/事务系统高并发/非结构化数据
12. 数据库ACID特性

答案:

Atomicity(原子性):事务要么全部完成,要么全部不执行(如转账时双方账户同时增减)Consistency(一致性):事务执行前后数据库必须保持一致的约束(如账户余额不能为负)Isolation(隔离性):并发事务相互隔离(通过锁机制实现)Durability(持久性):事务提交后数据永久保存(即使系统崩溃)
标签:

计算机考研复试高频五十问(第一期)由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“计算机考研复试高频五十问(第一期)