前端/移动开发面试题 · 编码实现 · C++
前端/移动开发相关岗位面试题。
共 24989 道真题 · 当前筛选命中 44 道 · 更新 2026-08-05
筛选题目已选:编码实现 · C++
考察点
技术栈
第 1 题请手写实现一个简化版 std::vector,重点实现插入操作(push_back 或 insert)和下标访问操作符 []。 考察动态数组的内存管理、扩容与异常安全的编码实现能力第 2 题以vector为例,说明其底层实现原理以及扩容机制。 考察C++动态数组的底层实现与扩容细节第 3 题如何删除vector中所有奇数索引位置的元素? 考察对vector迭代器失效规则及删除操作细节的理解第 4 题多态的实现原理是什么?虚函数表和虚函数表指针存储在哪里?类方法存储在什么位置? 考察对C++多态底层机制的理解,包括虚函数表、虚函数表指针和类方法存储第 5 题给定一个包含小括号的四则运算运算式字符串,例如 "1+2*(3-4)/5",请实现一个函数计算其结果。 考察表达式解析、栈应用与边界处理能力第 6 题C++层怎么调用Java的方法? 考察JNI调用Java方法的机制与流程第 7 题现有 1000 个人的姓名和分数(姓名不重复),请自行设计一个哈希表来存储这些信息,并支持按姓名查找分数。 考察哈希表的设计与实现能力,包括哈希函数、冲突处理和查询逻辑第 8 题谈谈拷贝构造函数的理解,什么情况下会调用拷贝构造函数? 考察对C++拷贝构造函数的定义、使用场景及默认行为理解第 9 题C++中创建socket的过程? 考察对socket编程基础流程的掌握第 10 题如何实现可变参数模板? 考察C++模板元编程中可变参数模板的定义、递归展开与停止条件第 11 题C++11新特性有哪些? 考察对C++11核心新特性掌握广度与深度第 12 题让你用代码设计 sharedptr 怎么设计 考察智能指针核心原理、引用计数与资源管理第 13 题Compose接入C++是如何实现的? 考察跨语言互操作、技术原理与实现细节理解第 14 题手撕代码:用两个队列实现一个栈。 考察队列与栈的数据结构特性及代码实现能力第 15 题请解释什么是右值引用,它与左值引用有何区别? 考察C++移动语义基础,理解右值引用的概念和用途第 16 题如何用代码从 C++ STL 的 vector 中删除所有等于指定值的元素?请实现并说明相关注意事项。 考察 vector 元素删除的正确实现、迭代器失效处理及标准库习惯用法第 17 题虚函数表(vtable)存储的内容是什么? 考察对虚函数表内部结构的理解第 18 题请解释在 C++ 中,new 运算符内部执行了哪些关键步骤? 考察对动态内存分配、对象构造及异常安全的理解第 19 题手写 shared_ptr 并说明其核心设计要点 考察 C++ 智能指针的资源管理、引用计数与线程安全设计第 20 题请用手写或口述的方式说明观察者模式,并结合 C# 和 C++ 分别给出实现要点。 考察观察者模式的理解、跨语言实现能力与语言特性差异