vivo面试题 · 技术原理 · C++
vivo相关面试题,按最终去重题目聚合。
共 824 道真题 · 当前筛选命中 23 道 · 更新 2026-08-05
筛选题目已选:技术原理 · C++
考察点
技术栈
第 1 题请比较 C++ 中 malloc/free 与 new/delete 的区别,并说明各自适用场景。 考察对 C++ 内存管理底层机制与语言特性的理解第 2 题C和C++有什么区别? 考察对面向对象、抽象机制和语言特性的理解第 3 题请介绍你的 C++ 基础掌握情况,以及如何应对项目中可能涉及的 C++ 开发任务? 考察候选人自我认知、基础能力陈述与学习迁移意识第 4 题请解释什么是右值引用,并说明它在 C++ 中的典型应用场景。 考察对 C++ 右值引用概念的理解及其在移动语义中的实际应用第 5 题请说明 C 和 C++ 的主要区别。 考察对 C 与 C++ 语言特性的理解第 6 题怎么理解空类型指针,什么场景下用? 考察对空类型指针(void*)的概念理解与典型应用场景第 7 题智能指针 weak_ptr 解决什么问题?其底层实现原理是什么? 考察对 weak_ptr 用途的理解及其底层引用计数的实现机制第 8 题C++11新特性有哪些? 考察对C++11核心新特性掌握广度与深度第 9 题C++中class和struct有什么区别? 考察C++语言基础与封装理解第 10 题C++ 中有哪几种创建对象的方式?它们有什么区别? 考察对象创建方式及内存分配差异第 11 题C++ 多态是怎么实现的? 考察对虚函数、虚表及运行时多态底层机制的理解第 12 题C和C++中struct的区别 考察对C与C++语言特性差异的理解第 13 题push_back 和 emplace_back 有什么区别? 考察 C++ 容器插入操作的底层机制与性能差异理解第 14 题请解释 C++ 中静态多态和动态多态的区别,并分别举例说明其实现机制和适用场景。 考察对多态两大实现路径的理解及工程取舍第 15 题C语言的结构体与C++的类有什么区别? 考察对C与C++语言核心差异的理解,包括封装、访问控制、成员函数和继承多态第 16 题请详细说明 C++ 中 unique_ptr、shared_ptr 和 weak_ptr 的区别及各自的使用场景? 考察对现代 C++ 智能指针核心语义、实现原理及适用场景的理解第 17 题Java和C++的区别有哪些? 考察语言特性、内存管理、运行机制与典型应用场景的理解第 18 题请谈谈你对C、C++、Java这三种编程语言的熟悉程度,并说明在什么场景下你会优先选择哪一种? 考察候选人编程语言掌握深度与场景选型判断能力第 19 题请谈谈你对智能指针的理解,并在多线程环境下说明引用计数和原子操作的作用。 考察智能指针原理及其在多线程环境下的正确性与并发安全理解第 20 题shared_ptr如何返回自身的指针?enable_shared_from_this的作用是什么? 考察智能指针生命周期管理及避免悬垂指针的机制