首页 > 青岛澳科一面 软件研发岗(c/c++)
头像
莱布尼兹不会飞
编辑于 2020-04-10 09:59
+ 关注

青岛澳科一面 软件研发岗(c/c++)

在牛客网应该是澳科第一个面经,学校周边的企业,待遇的话在青岛算是中上,加上提供两年住宿,感觉还是不错的,尝试了外卖、自动驾驶、快递、短视频、游戏这些行业,大厂冲不动了,不知道算不算妥协了(唉,我好菜),

一、自我介绍,主要说一下简历中没有,你想展示的内容

二、介绍一下项目,你主要负责什么,有没有独自完成的项目

三、考研的情况,不继续考了吗?

四、c++面向对象的特性并解释一下?

封装:隐藏实现细节,使得代码模块化、

继承:可以实现现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展、

多态:允许将子类类型指针赋值给父类类型的指针

五、虚函数是什么?有什么作用?

用virtual关键字申明的函数叫做虚函数,是允许被其子类重新定义的成员函数。

在一个派生类中,当一个指向基类成员函数的指针指向一个虚函数,并且通过指向对象的指针或引用访问这个虚函数时候将发生多态性。

多态用虚函数来实现,

六、c、c++申请内存用什么,有什么区别?详细解释一下

1、malloc free是库函数而不是运算符,不在编译器控制范围内,不能够自动调用构造函数和析构函数,new在为对象申请内存空间时,可以自动调用构造函数,同时也可以完成对象的初始化,同理,delete也可以自动调用析构函数,而malloc只是为变量分配了内存,所以在使用时必须指定大小,同理free也只是释放变量。

2、new返回的是指定类型的指针,并且可以自动计算申请内存的大小。而malloc需要我们计算申请内存的大小,并且在返回的是void*类型,然后再强行转换为实际类型的指针。

int *p=new int;

3、c++允许重载new/delete操作符,malloc、free不能重载

4、new内存分配失败时,会抛出bac_alloc异常。malloc分配内存失败时返回NULL

5、new操作符从自由存储区上为对象动态分配内存空间,而malloc函数从堆上动态分配内存。

6、new、delete是c++中的操作符,而malloc和free是标准库函数。

七、手里有什么offer?

更多模拟面试

全部评论

(7) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期精华帖

热门推荐