不鸣科技C++开发实习(非引擎)-电话面(一面)凉经

项目就两个,一个是levelDB,一个是实验室的SAR相关的。下面的面经用录音转文本发给GPT4o总结的。

下面是一次C++开发岗位的面试记录,已经进行了修改和总结。总结了问了哪些问题,并给出了标准答案。

面试记录:

面试官:好的,我们今天来简单面试一下。

应聘者:好的。面试官你好,我了解一定的深度学习算法和技术。我熟练使用C++,并且基于C++完成了两个项目,分别是高性能KV存储数据库引擎和基于CUDA加速的SAR成像目标仿真系统。我的硕士研究方向是SAR成像和波形设计,主要是用Matlab基于信号与系统雷达探测进行科研仿真。工具方面,我熟练使用Python,熟练使用Linux系统,了解并能够完成基本的SQL数据库操作。

面试官:好的,那我们先问一下C++的一些基础知识。因为你说你开发过两个工程,那么你对C++的多态方面有哪些了解呢?

应聘者:多态分为两种,一种是编译时多态,比如函数重载和模板,编译器在编译代码时会根据不同的代码匹配相应的函数。另一种是运行时多态,主要通过虚函数实现。在定义类时,定义一个虚函数,当在子类中使用时,只需要重写这个虚函数。

面试官:那你知道怎么重写虚函数吗?

应聘者:一般先写函数的返回值、函数名和形参,然后在形参后面加上override关键字。如果是纯虚函数,必须重写才能使用。如果不是纯虚函数,override关键字可以不加。

面试官:你知道C++运行时多态是怎么实现的吗?

应聘者:在运行时,虚函数通过虚表(vtable)实现。当一个对象调用虚函数时,程序会通过该对象的虚表指针找到相应的函数地址并进行调用。

面试官:你能介绍一下你做的高性能数据库项目吗?

应聘者:好的。这个项目实现了高性能的键值对存储数据库引擎,类似于Redis的NoSQL数据库。它适用于高并发、大数据量的缓存数据库,特别是查少写多的情况。项目中使用了LSM树数据结构来提高写性能,包括MemTable、不可变的MemTable和SSTable。数据在不同结构间传递是比较有挑战的部分。

面试官:你的数据库项目中用到了多线程操作吗?

应聘者:这个数据库引擎只支持单线程访问,但有些地方使用了线程锁来确保在查找操作过程中数据不会被销毁。

面试官:你对智能指针有哪些了解?

应聘者:智能指针是一种自动化的内存管理工具,用于防止内存泄漏和悬空指针。C++11提供了三种智能指针:unique_ptr、shared_ptr和weak_ptr。unique_ptr只能有一个所有者,shared_ptr可以有多个所有者并使用引用计数,weak_ptr用于防止shared_ptr循环引用。

面试官:智能指针能保证对象不会内存泄漏吗?

应聘者:不能完全保证。如果存在循环引用,shared_ptr也会造成内存泄漏,这时需要使用weak_ptr。

面试官:你在定义函数接口时,如何设计参数类型以提高传递效率?

应聘者:可以使用引用来传递参数,这样不会拷贝对象,节省内存和时间。如果传递的是临时对象,可以使用右值引用(&&)和std::move来避免拷贝。

面试官:你用过Qt写过界面吗?有哪些功能?

应聘者:我用C++的Qt编写了一个简单的参数输入界面,用户输入参数后点击“Start”按钮,程序读取参数并进行仿真,仿真结果会以图形方式显示在界面上。

面试官:你还有什么问题想问我的吗?

应聘者:如果我有幸进入贵公司,会负责什么样方向的业务?

面试官:我们正在做一个与Excel对标的工具,用于适配策划同学的需求,包括游戏开发中的数值配置和运营数据处理。这个工具需要适配他们的工作流,涉及UI和UX设计。

总结:

面试问题及标准答案:

  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++及相关技术的理解和应用能力。

#不鸣科技##C++##实习#
全部评论
直接秋招走起
1 回复 分享
发布于 07-10 21:10 广东
蹲后续
点赞 回复 分享
发布于 07-10 16:33 广东
这是秋招么
点赞 回复 分享
发布于 07-10 16:50 四川
你的回答不是很深
点赞 回复 分享
发布于 07-10 18:22 浙江
兄弟 这个时候如果不是给转正的实习,性价比太低了,应该把精力放在秋招上吧。
点赞 回复 分享
发布于 07-13 09:43 上海
这为啥凉了
点赞 回复 分享
发布于 07-13 16:49 江苏
佬,高性能KV存储数据库引擎这个项目有学习资料吗
点赞 回复 分享
发布于 08-05 17:28 浙江
他家强度很大,我五月份也是这个岗位4面5h
点赞 回复 分享
发布于 08-08 00:11 北京

相关推荐

个人信息蒟蒻,籍贯:湖南,第二故乡:浙江🎈摩尔线程,base上海,岗位(图形架构),已HR面完(应该希望挺大,HR说确定能来摩尔后让我主动联系她进一步谈薪),HR面的时候报的期望月base和高德一样是N,不知道后面还能不能谈优点:①强度据说没有互联网高 缺点:①看脉脉说22年有波裁员 ②脉脉上说年终大概率没有 ③若后续换工作的话,不知认可度如何?🎈德子,base北京,岗位(渲染开发),实习转正已意向,还没谈薪优点:①阿里系算是大厂吧 缺点:①自研的引擎,而且主要做地图方面的一些渲染,担心技术栈受限 ② 北京有点待不习惯 ③高德整体比较卷,感觉正式入职后不一定扛得住 ④极度痛苦的landing 其它半寄不寄的:🎈Funplus, 二面完后没动静,昨天询问HR,反馈处于待定状态:既不挂也不继续推进 ≈ 挂了🎈不鸣科技,上周三见了大Boss后无下文(是Boss直聘上对方主动发起的面试,官网我没投,因此也查不到进度 )其它刚开始打怪流程的:🥟叠纸,百面千相引擎,刚约一面 (自我感觉没戏🥟华为云,媒体创新Lab云渲染,线下面没赶上,约的十一月初的线上面试 (好晚咋操作呀,牛友们10.28更新🤩叠纸,百面千相引擎,已约二面🤩Funplus,引擎开发,三面完成🤩英雄游戏,引擎开发,已约一面🤩字节跳动,广州工作室,一面完成🤩不鸣科技,已加HR微信,报的期望月base和高德一样#offer帮选##我的求职思考#
克莉斯丁|・ω・`):摩尔线程强度真的没有互联网高吗?挺想去wlb的公司的
投递不鸣科技等公司10个岗位 offer帮选 我的求职思考
点赞 评论 收藏
分享
12 73 评论
分享
牛客网
牛客企业服务