目录

第一题

第二题

第三题

第四题

第五题


「导读」出门闯荡江湖需要武艺傍身,出去面试也需要常规的技能加持。如果你想要面试C++的岗位,就需要具备一定的基础知识。不如现在就用这篇文章来检验一下自己的知识储备情况,能够全部答对的话最好,说明C++相关的基础知识掌握的不错;如果有一两道没答对或者不会,说明你还需要再努力一下,夯实基础很重要。题目经典,欢迎收藏!

第一题

面向对象编程的三大特征?

答案:继承、封装、多态。

知识背景

继承的目的是为了提高代码的复用性和可扩展性;封装的目的是为了保证变量的安全性,使用者不必在意具体实现细节,而只是通过外部接口即可访问类的成员;多态的目的是实现了动态联编,使程序运行效率更高,更容易维护和操作。这也是C++和C语言区别,C语言是面向过程的语言,他的核心是函数,而C++是面向对象的语言,他的核心是类和对象。其实,C++是C语言的超集。

这是相当基础的一个问题,面试的时候决定了你是否会被直接pass。如果你不会,那就要小心啦。

第二题

C++的内存有哪几种类型?

答案: 堆(malloc)、栈(stack)、程序代码区、全局/静态存储区、常量存储区。

知识背景

堆区:由new申请分配的内存块,我们通过应用程序来动态控制它们的申请和释放。如果程序没有正确释放它们,那么程序结束后,由操作系统自动回收。

栈区:由编译器自动申请和释放的内存块,通常用来存储局部变量、临时变量、函数参数。执行效率高,但是分配的内存容量有限。

程序代码区:存放程序二进制代码。

全局/静态存储区: 全局变量和静态变量是存储在一块的,程序结束后由系统释放。

常量存储区:存储常量的内存块,不允许被修改。

C++编程经常会涉及到内存的管理问题,所以对于C++内存的存储类型,我们还是很有必要掌握的!

第三题

哪些因素可能会影响到一个类的大小?

答案:非静态数据成员个数、是否有虚函数、对齐方式。

知识背景

一个类的大小 = 所有非静态数据成员大小 + 虚函数表 +  因对齐而多出的字节,其中,不论有多少个虚函数,都只有一个指向虚函数表的指针,占用4字节(32位系统)或者占用8字节(64位系统)。

引申出的题目:

在64位系统中,有如下类:

class C
{
public:char a;static char b;void *p;static int *c;virtual void func1();virtual void func2();
};

那么,sizeof(C)的数值是?

面试时候很常见的题目,自己遇到的C++笔试题中,80%的时候遇到过。

第四题

在gcc环境下,已知数组int arr[5]={1,2,3,4,5};则*(*(&arr+1)-1)的结果是什么?

答案:5。

知识背景

如果想要获取某个变量的地址,可以使用取址运算符&,如果想要获取某个指针变量指向的数据,可以使用取值运算符*。

取址运算符&和取值运算符*在实际开发中几乎天天能够遇到,一定要重视!

第五题

请指出下列代码有几处错误?

#include<stdio.h>
class A
{public:virtual void f(){}public :A(){f();}
};
class B1:public A()
{private:char *_s;public:B1(){_s=new char[1024];}private:void f(){delete _s[];_s=NULL;}
};
class B2:public A
{private:int * _m;public:B2(){_m=new int(2016);}private:virtual void f(){delete _m;_m=NULL;}
}
int main()
{A* a1=new B();A* a2=new B2;delete a1;delete a2;return 0;
}

答案:4处,修改后如下所示:

line12     class B1:public A

line24     delete[] _s;

line43     };

line46     A *a1 = new B1();

知识背景

line12:继承语法错误,A后面不应该带括号。

line24:删除数组语法错误,中括号应该在数组变量前边。

line43:类定义语法错误,大括号后应该以分号结束。

line46:未定义错误。

都是一些基础的语法常识,一方面练眼力,一方面检验自己的实际编码能力。

怎么样?总共答对了几个?欢迎评论留言呦!

学弟学妹们,如果这五道题都不会,就不要出去面试C++了相关推荐

  1. 不选择互联网行业,学弟学妹可以选择这些新兴科技行业发展!

    本篇文章为博主阅读<中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要>后对目前互联网行业就业压力大的问题,为学弟学妹整理的新发展社会前沿科技方向. 原文地址:htt ...

  2. 给计科专业的学弟学妹们的一封信

    学弟.学妹,你们好!   这是给所有已经选择或者即将选择计科专业的学弟学妹们的一封信.   学习计算机科学与技术,无疑需要浓厚的兴趣以及强大的耐心,当然,我相信所有工科专业都是如此.选择计算机科学与技 ...

  3. 程序员的奋斗史(四十六)——大学断代史(十)——给学弟学妹们的忠告——终结篇

    文/温国兵 「写在前面」 大学断代史终于要完结了,就像一条再长的路总有终点一样.该系列文章前前后后写了一两个月,也该收尾了,至于收尾的文章,想了想,决定写写自己对学弟学妹的忠告.本篇文章以话题的形式呈 ...

  4. 奉劝那些刚参加工作的学弟学妹们:要想进大厂,这些并发编程知识是你必须要掌握的!完整学习路线!!(建议收藏)

    大家好,我是冰河~~ 今天给大家带来一篇完整的并发编程学习路线,这应该是全网最全的并发编程学习路线了吧,希望能够为各位小伙伴们带来实质性的帮助. 如果这篇文章对大家有点帮助,小伙伴们点赞,收藏,评论, ...

  5. 写给学弟学妹的一些话

    很是荣幸,前两天的实习感悟写完后被德喜看到,他说你为什么不写一篇大学的感悟呢,顺带给学弟学妹们分享分享经验干货什么的,以及之前之后也有幸和一些学弟们聊过关于大学生活的方向,刚好又是周末,闲来无事那就写 ...

  6. 【高考志愿填报-让你领先在起跑线上】学长给学弟学妹七点建议,字字珠玑!

    文章大纲 一:前言 二: 选择什么学校和选择什么专业 (一): 选择学校需要前需要考虑的事情 (二): 辅助你做决策的工具 (三): 选择什么专业 三: 计算机专业如何 (一) 什么是计算机类专业: ...

  7. 写给湘大计算机相关专业的学弟学妹们

    写给湘大计算机 写给湘大计算机相关专业的学弟学妹们 不管未来怎么样,但是作为一个大学四年真正奋斗过的学长,我觉得我比其他人更有资格写这样的一篇文章.希望能给湘大的学弟学妹们一些正能量. 奋斗篇 首先写 ...

  8. 写给准备秋招的学弟学妹们

    From:http://blog.csdn.net/lifestylegoingon/article/details/45269539 本文章已收录于: 目录(?)[+] 一前言 二面试简介 三操作系 ...

  9. 写给准备參加秋招的学弟学妹们

    [-] 一前言 二面试简单介绍 三操作系统计算机网络数据库 四算法 和 数据结构 五C 六JAVA 七linux 八逻辑分析题 智力题 九行业了解 十设计模式 十一海量数据 十二写在最后 十三链接 一 ...

  10. 考研调剂心得体会,给学弟学妹们的一些经验感想(希望对你们有所帮助)

    各位学弟学妹们,你们好呀! 这两天初试成绩应该陆陆续续出来了吧,作为去年的过来人,首先我为你们感到高兴.你们已经成功了一大半了,因为我知道能坚持一年很不容易,当你走出最后一门考试的考场,你已经pass ...

最新文章

  1. 蓝光模式引爆欧洲杯 神马搜索陪你度过激情夏日
  2. IE6 object expected
  3. MIT自然语言处理第一讲:简介和概述(第一部分)
  4. 计算机文件共享访问无权限,WIN7访问共享文件无权限解决方法
  5. mysql 随机查询数据
  6. NRF24L01+ 自动重发,自动应答BUG
  7. iOS中如何优化Cell中图片的下载性能
  8. 如何为你的博客园添加到百度统计
  9. virtualbox 命令
  10. python基础编程语法-Python基础语法一
  11. 基于51单片机的蓝牙循迹小车
  12. Android项目无用文件 BAT批处理 清理
  13. 移动硬盘linux系统安装win7系统,超简单的移动硬盘安装系统win7教程
  14. 平板连接远程Linux,如何从Android平板电脑远程控制Ubuntu | MOS86
  15. postgresql不支援 10 验证类型
  16. 最简单的人脸检测(免费调用百度AI开放平台接口)
  17. 高考计算机会考等级划分标准,学考等级怎么划分2020最新标准
  18. jetbrains(IDEA/PyCharm)官网地址打不开
  19. 灵玖软件:NLPIR大数据语义智能为企业“画像”
  20. 文本和输入:复制和粘贴

热门文章

  1. Linux内核如何输出中文字符
  2. 一维消消乐c语言数据结构,Python数据结构:一维开心消消乐
  3. Apache Druid LoadData 任意文件读取漏洞
  4. 教您在CorelDRAW中安装字体
  5. java实现生成纯色图片代码实例
  6. CPU散热器的电磁辐射仿真分析
  7. 教你查找电磁辐射骚扰原因及整改步骤
  8. 我写CSS的常用套路(附demo的效果实现与源码)
  9. linux系统可以玩星际争霸吧,Linux下也玩星际争霸
  10. error: Failed dependencies:mysql-community-client(x86-64) = 5.7.9 is needed by mysql-commu