不鸣科技C++开发实习面经
我就是牛可乐
2024-07-18 00:41:52
🙋项目就两个,一个是levelDB,一个是实验室的SAR相关的。下面的面经用录音转文本发给GPT4o总结的。
下面是一次C++开发岗位的面试记录,已经进行了修改和总结。总结了问了哪些问题,并给出了标准答案。
.
✅面试记录:
🟡面试官:好的,我们今天来简单面试一下。
🟡面试官:好的,那我们先问一下C++的一些基础知识。因为你说你开发过两个工程,那么你对C++的多态方面有哪些了解呢?
🟡面试官:那你知道怎么重写虚函数吗?
🟡面试官:你知道C++运行时多态是怎么实现的吗?
🟡面试官:你能介绍一下你做的高性能数据库项目吗?
🟡面试官:你的数据库项目中用到了多线程操作吗?
🟡面试官:你对智能指针有哪些了解?
🟡面试官:智能指针能保证对象不会内存泄漏吗?
🟡面试官:你在定义函数接口时,如何设计参数类型以提高传递效率?
🟡面试官:你用过Qt写过界面吗?有哪些功能?
🟡面试官:你还有什么问题想问我的吗?
.
⭕总结:
面试问题及标准答案:
1. 自我介绍及项目经验简要介绍自身背景、技术技能及项目经验。
2. C++多态编译时多态:函数重载、模板。运行时多态:通过虚函数和虚表(vtable)实现。
3. 虚函数重写使用override关键字重写虚函数。纯虚函数必须重写,非纯虚函数可以不加override。
4. 运行时多态实现原理通过虚表指针找到相应函数地址进行调用。
5. 高性能数据库项目描述项目功能、用途和主要挑战(如LSM树数据结构的实现)。
6. 多线程操作单线程访问,使用线程锁保护数据一致性。
7. 智能指针unique_ptr:单一所有者。shared_ptr:多个所有者,引用计数。weak_ptr:防止shared_ptr循环引用。
8. 内存管理智能指针不能完全保证内存不会泄漏(循环引用问题)。
9. 函数参数设计使用引用或右值引用提高传递效率,减少不必要的拷贝。
10. Qt界面开发描述界面功能及实现方式(参数输入、仿真结果显示)。
11. 项目实际应用了解公司业务方向,具体负责的工作内容。
这些问题覆盖了C++语言的核心概念、项目经验及实际应用,展示了应聘者对C++及相关技术的理解和应用能力。
.
内容来自牛友:CYAN_11
来源:牛客网
0
阅读:0