嵌入式八股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.内联函数概念
全部评论

相关推荐

来个厂收我吧:首先,市场侧求职我不是很懂。 但是,如果hr把这份简历给我,我会觉得求职人不适合做产品经理。 问题点: 1,简历的字体格式不统一,排版不尽如人意 2,重点不突出,建议参考star法则写个人经历 3,印尼官方货币名称为印度尼西亚卢比(IDR),且GMV690000印尼盾换算为305人民币,总成交额不高。 4,右上角的意向职位在发给其他公司时记得删除。 5,你所有的经历都是新媒体运营,但是你要投市场营销岗位,jd和简历不匹配,建议用AI+提示词,参照多个jd改一下经历内容。 修改建议: 1,统一字体(中文:思源黑体或微软雅黑,英文数字:time new romans),在word中通过表格进行排版(b站学) 2,校招个人经历权重:实习经历=创业经历(大创另算)>项目经历>实训经历>校园经历 3,请将项目经历时间顺序改为倒序,最新的放最上方。 4,求职方向不同,简历文字描述侧重点也需要不同。
点赞 评论 收藏
分享
写不来代码的小黑:这么小的城市能有做it的公司也不容易
点赞 评论 收藏
分享
评论
5
15
分享

创作者周榜

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