深圳虾皮信息科技有限公司面试题 · C++
深圳虾皮信息科技有限公司相关面试题,按最终去重题目聚合。
共 2768 道真题 · 当前筛选命中 22 道 · 更新 2026-08-05
筛选题目已选:C++
考察点
技术栈
第 1 题请解释C++中虚函数的底层实现机制。 考察C++虚函数的核心实现原理及多态理解第 2 题请给出一个函数的签名,入参是 vector<string>,用于获取元素数量时,返回值用 int 合适吗?为什么? 考察对 STL 容器 size 返回值类型及其语义的理解第 3 题若服务端已实现加减乘除等接口,客户端需发起接口请求,如何通过 muduo 实现这一交互流程? 考察基于 muduo 网络库实现客户端与服务器端请求响应的完整流程设计第 4 题请介绍 STL 中 sort 算法的实现原理,并说明它与希尔排序的关系。 考察标准库排序算法的实现机制与边界条件理解第 5 题在 C++ 中,标准库容器(如 vector)的 size 类型是如何定义的?它和通用的大小值类型有什么关系? 考察对 C++ 标准库中 size_type 和 size_t 的定义与演进的理解第 6 题给定一个图,每个节点代表一个任务,节点上有执行时间(秒)。边表示依赖:任务B依赖任务A,表示A完成后才能执行B。设计一个多线程调度器,在满足依赖的前提下并发执行所有就绪任务。多个没有依赖或依赖已满足的任务可以同时执行。任务执行需要真实的时间消耗(使用std::this_thread::sleep_for模拟),请使用多线程并发执行所有任务。如果所有任务都成功执行完成,返回true;否则返回false。 考察多线程并发编程、依赖调度和条件变量等同步机制的应用第 7 题请解释 C++ 中菱形继承可能引发的问题,以及如何解决。 考察对多继承中二义性、重复基类子对象及其解决方案的理解第 8 题emplace_back 和 push_back 的区别是什么? 考察对 C++ 容器插入操作的构造与移动语义理解第 9 题请谈谈你从算法方向转向C++后端开发的原因,以及你如何理解这个赛道的变化。 考察求职动机的合理性、自我认知与对职业方向的思考深度第 10 题手撕代码:用两个队列实现一个栈。 考察队列与栈的数据结构特性及代码实现能力第 11 题emplace_back 的实现用到了 C++ 什么特性? 考察 C++ 移动语义、完美转发与容器内存管理的理解第 12 题你是写 C++ 的吗?你通常怎么调试 C++ 程序? 考察候选人 C++ 调试工具与方法论的熟练度第 13 题C++堆和栈的区别 考察对C++内存管理、生命周期及性能特性的理解第 14 题C++的STL容器熟悉吗?说一下你最熟悉的及其技术实现 考察对STL容器的深入理解及内部实现机制第 15 题请解释 static_cast 的用途、适用场景及与 dynamic_cast 和 reinterpret_cast 的主要区别。 考察对 static_cast 的语义理解及与相关类型转换的区分能力第 16 题C++ 的垃圾回收机制是什么? 考察对C++内存管理模型和垃圾回收策略的理解第 17 题请描述一个 C++ 程序在内存中的布局,包括主要的内存区域及各自存放的内容。 考察 C++ 内存分区、对象生命周期与存储类别的基本理解第 18 题请解释 C++ 中 reinterpret_cast 的用途、适用场景及潜在风险。 考察对 C++ 类型转换中 reinterpret_cast 语义与风险的理解第 19 题请分别介绍 Rust、Go 和 C++ 中你印象最深刻的特性,并说明它们的设计背景、适用场景以及可能带来的代价。 考察对语言特性的理解深度、横向比较能力与代价意识第 20 题请用C++实现删除有序链表中的重复元素,要求保留一个副本,并分析时间复杂度。 考察链表操作、指针管理与边界条件处理