西山居面试题 · C++
西山居相关面试题,按最终去重题目聚合。
共 270 道真题 · 当前筛选命中 43 道 · 更新 2026-08-05
筛选题目已选:C++
考察点
技术栈
第 1 题请介绍 C++ 中常用的智能指针,并说明它们各自的适用场景。 考察对 C++ 智能指针类型、所有权语义及使用场景的理解第 2 题请介绍C++中常用的STL容器。 考察对STL容器特性、适用场景和底层实现的理解第 3 题STL中常用的容器底层数据结构分别是什么? 考察 STL 容器底层实现原理的知识深度第 4 题请介绍你对基础数据结构(如数组、链表、栈、队列、树、哈希表)的理解,并说明它们各自的适用场景。 考察基础数据结构的原理掌握与应用选型能力第 5 题请解释 C++ 中左值(lvalue)和右值(rvalue)的概念,并举例说明它们的使用场景。 考察对 C++ 值类别基础概念的掌握及实际应用理解第 6 题C++指针和引用的区别 考察C++指针与引用的语法、语义及使用场景差异第 7 题请解释C++中虚函数的原理,并说明其在实现多态中的作用。 考察对C++虚函数机制和运行时多态的理解第 8 题请介绍 C++ 中的三种智能指针及其典型使用场景。 考察对智能指针所有权语义、适用场景与常见误用的理解第 9 题请讲讲C++多态的原理,重点说明运行时多态,简要提及编译时多态。 考察对C++多态底层机制及两种多态类型的理解第 10 题C++多态为什么要用多态 考察对C++多态概念、用途和实现机制的理解第 11 题C++进程包含哪些部分? 考察对C++进程内存布局和运行结构的理解第 12 题构造函数与析构函数可不可以是虚函数?为什么? 考察C++面向对象基础,理解虚函数机制与构造函数、析构函数的调用顺序第 13 题网络编程中,TCP 与 UDP 的主要区别是什么?在实际应用中如何选择? 考察候选人对传输层协议核心差异的理解及场景选型能力第 14 题new和malloc有什么区别? 考察对C++内存管理机制和语言特性的理解第 15 题讲一下指针与引用,它们在传参的时候有什么异同? 考察对指针与引用核心语义的理解及在传参场景中的差异应用第 16 题智能指针的原理是什么? 考察对智能指针内存管理机制和所有权语义的理解第 17 题shared_ptr的引用计数有什么缺点(如循环引用)? 考察智能指针引用计数的缺陷、循环引用成因及对应解决方案第 18 题请解释模板函数的基本概念及其在C++中的典型用法。 考察对模板函数的理解和应用能力第 19 题C++和Java有什么区别和优劣点? 考察对两种主流编程语言核心特性的理解与对比能力第 20 题请说明宏函数、内联函数与普通函数三者的区别,并给出各自的使用场景。 考察对宏、内联函数与普通函数在编译期展开、类型检查、性能和调试方面的理解