嵌入式八股2C/C++

本来想写20条,发现自己太啰嗦,14条就提示超过文字上限了,我得精简一点
15.什么是内存对齐(也叫字节对齐,cpu取内存时是按block,实际长度是跟字长有关,编译器会对结构体大小按内存对齐优化,可以用#pragma pack()设置)
16.++i和i++的区别(从汇编看,++i是直接自增,相当于一条指令,i++需要临时变量存i,再i自增,所以++i性能比i++好。但现代编译器会自动优化,一般不会有性能差)
17.什么是堆栈溢出,内存越界(数组超长或者栈小,局部变量数组过大)
18.怎么理解数组传参退化为指针(形参数组当指针用)
19.问号表达式,或运算符的截断性
20.指针传递,取地址传递,值传递的区别。

C++在嵌入式领域主要是应用开发,所以除了要理解C的八股,还需注意一些重点
1.面对象编程的特点和面向过程的区别(封装继承多态)
2.C++是怎么实现多态的(虚函数)
3.什么是虚函数(virtual关键字修饰,父类中的虚函数可以在子类中重写,这样父类指针指向子类对象并调用该函数实际调用的是子类方法从而实现多态)
3.虚函数如何实现多态(父类指针指向子类对象)
4.求类的大小(sizeof(class))(除了考虑成员变量大小和字节对齐,再就是,如果类中存在虚函数,那么会隐藏一个指针指向类的虚表。因此还多出一个虚表指针的大小。)
5.什么是虚表,虚表保存在哪里(如果类中有虚函数,就有一个虚表,保存函数接口,虚表编译时生成,保存在数据段,不占用类的空间)
6.什么是抽象类,抽象类可以创建对象吗(如果虚函数后面有=0的字段,即为纯虚函数。如果类中有纯虚函数,称为抽象类,抽象类不能实例化)
7..什么是菱形继承,怎么解决?
8.什么是函数重载,可以返回值不同吗(返回值和函数名必须相同,但参数类型和个数可以不同)
9.类成员public,protected,private的含义(public类外可以随意访问,protected子类能访问,private只有自己能访问,子类不能访问)
10.友元能互相访问私有成员吗(可以)
11.智能指针解决什么问题,原理(内存泄漏)
12.为什么有shared_ptr还要weak_ptr(循环引用)
13.空类大小(1字节,编译器分配用来占内存)
14.类中的static成员变量(不属于某一个对象,在全局区)
15.内联函数概念
全部评论

相关推荐

头像
11-03 16:48
已编辑
百度_高级研发工程师
事实是检验真理的唯一标准。 无论我们怎么去说,去讲述,去证明,都抵不过一个offer来得实在,无论我们怎么去复现求职中的摸爬滚打、扒皮抽筋、狼狈不堪,都抵不过你在简历写上大厂的名字(外包不算)。 所以在我求职期间,我什么话都不说,什么话都不讲,因为没有意义,虽然我总讲过程才是意义,但只有当你上岸的那一刻,你才有资格回想在水里的挣扎,只有等你出了山,你才知道山的全貌。 我为什么一定要离开华为OD,难道它不稳定吗,不能赚钱吗。为了证明自己,那肯定有的。其实更多的是印证我的认知是否真的正确。 (给不了解我的人交代一下背景,在下双非一本,gap一年,华为OD外包,摸爬滚打4个月,艰难上岸百度正编)一、...
先锋战士:说得很真诚。鄙视链自古有之,学历,家庭背景,财富,权利。从小有之,小学羡慕那些当班委的,中学羡慕那些学生会的,高中羡慕尖子班拿教学金的,大学羡慕高绩点,毕业了羡慕进大厂的。工作了,又羡慕高职级的,再后来又羡慕别人早早结婚的。我想表达的观点很简单,无论是华为od还是百度,都是经历,没有孰高孰低,为了抵达下一个风景,总会付出更多东西,但不就是人生吗?正如登山,每个阶段的山,都要想办法攀登,在博主的文字中,见到了坚持和积极寻找问题解决办法的心态
学历对求职的影响
点赞 评论 收藏
分享
10-10 16:30
济宁学院 Java
不想做程序员:面试官:蓝桥杯三等奖?你多去两次厕所都能拿二等吧
点赞 评论 收藏
分享
评论
5
15
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务