诺瓦科技 软件工程师(c++)
软件工程师 (2020/8/9 17.40 40分钟)
自我介绍
项目中的难点?怎么去解决的?
Define 和inline的区别 //define不会做检查,直接替换,inline是函数,编译前会做检查的!!我没有回答对。。。 回答了表皮
如何判断浮点型,以前又看过,但是忘记了 啊啊啊啊
If((x>= -EPSINON)&& (x<=EPSINON)) EPSINON是允许的误差(精度)
内存泄漏,以及内存泄漏的检测工具?给他说了一些例子和解决方案,然后还说了又工具可以解决,它问工具的底层是啥原理?我也不知道 。。。。
Unordered_map 和 map的区别?我说到了红黑树。。。然后 立马就来了 你知道红黑树是怎么实现的吗?
Const的用法? 我说的常量指针,指针常量 两个都是常量的情况
如何实现多态?我说的又静态多态和动态多态 、后面又问,拿它的原理是什么?我说了虚函数表,它立马就说,我就是想听这个
Struct class的区别?前者默认public,后者默认private(记忆小技巧:struct6个字,public也是6个字,class 5 个字,private7个字 哈哈 相等的相等哈)
操作系统的内存映射?我不是很懂。。。。
Win32的应用程序,开始进来就是main? 我没有回答上,但是知道前后是有操作的,这里给大家一个参考博客:https://blog.csdn.net/yangzhenzhen/article/details/9221973
参数初始化列表和定义数据的顺序关系?
网络编程相关的,问同步?异步,阻塞,非阻塞有没有用过,我说我只是基本的socket操作。
实现一个栈,我们应该实现那些方法? //push() pop() isempty()
写程序遇到栈溢出的情况? //递归函数
队列和栈的区别?
线程同步,我回答了线程间通信,不对,后面说不是很了解,过。。。
深拷贝和浅拷贝的区别
拷贝构造函数什么时候调用? //我给他举例回答的
为什么又extern “C” // 我刚开始说,是因为为了兼容c语言的语法,后面,工具不是很满意,我继续说,c的编译处理方式:int fun() è int_fun_ 而c++的处理方式是:int fun (int int ) è int_fun_int_int (注:这里是编译的时候,对函数的处理方式不一样,表明c,就是要告诉编译器,要以c的方式去编译,总的来说,就是解决名字匹配问题)
如何计算一个对象的大小? //注意要考虑内存对齐,如果存在虚函数拿还得加上一个虚函数表的大小,
问我还有啥问的?我还是那句话,岗位的每天工作情况?团队怎么运行的,后面还访问了它,检测内存泄漏的工具原理是什么?它扑哧笑了,我可以给你简要介绍一下,具体细节原理了解就好。
总体感觉,面试官还是很友好,知道你不会,你说了之后,还是会跳过的,不会死磕,只是,它的麦不怎么好使,有点断续,它在家面试的
#面经##校招##诺瓦星云##C++工程师#