C/C++嵌入式软件面经摘录

第一章进程线程
1.1 进程线程的基本概念
1.1.1 什么是进程,线程,彼此有什么区别⭐⭐⭐⭐⭐
1.1.2多进程、多线程的优缺点⭐⭐⭐⭐
1.1.3什么时候用进程,什么时候用线程⭐⭐⭐
1.1.4多进程、多线程同步(通讯)的方法⭐⭐⭐⭐⭐
1.1.5进程的空间模型⭐⭐⭐⭐
1.1.6进程线程的状态转换图 什么时候阻塞,什么时候就绪⭐⭐⭐
1.1.7父进程、子进程的关系以及区别⭐⭐⭐⭐
1.1.8什么是进程上下文、中断上下文⭐⭐
1.1.9一个进程可以创建多少线程,和什么有关⭐⭐
1.2 并发,同步,异步,互斥,阻塞,非阻塞的理解
1.2.1什么是线程同步和互斥⭐⭐⭐⭐⭐
1.2.2线程同步与阻塞的关系?同步一定阻塞吗?阻塞一定同步吗?⭐⭐⭐⭐
1.2.3并发,同步,异步,互斥,阻塞,非阻塞的理解⭐⭐⭐⭐⭐
1.3 孤儿进程、僵尸进程、守护进程的概念
1.3.1基本概念⭐⭐⭐⭐⭐
1.3.2如何创建守护进程:⭐⭐
1.3.3正确处理僵尸进程的方法⭐⭐⭐⭐
第二章C/C++高频面试题
2.1 c和c++区别、概念相关面试题
2.1.1 new和malloc的区别⭐⭐⭐⭐⭐
2.1.2 malloc的底层实现⭐⭐⭐⭐
2.1.3在1G内存的计算机中能否malloc(1.2G)?为什么?⭐⭐
2.1.4指针与引用的相同和区别;如何相互转换?⭐⭐⭐⭐⭐
2.1.5 C语言检索内存情况 内存分配的方式⭐⭐⭐
2.1.6 extern”C” 的作用⭐⭐⭐
2.1.7头文件声明时加extern定义时不要加 因为extern可以多次声明,但只有一个定义⭐⭐⭐⭐
2.1.8函数参数压栈顺序,即关于stdcall和cdecl调用方式的理解⭐⭐⭐
2.1.9重写memcpy()函数需要注意哪些问题⭐⭐
2.1.10数组到底存放在哪里⭐⭐⭐
2.1.11 struct和class的区别 ⭐⭐⭐⭐⭐
2.1.12 char和int之间的转换;⭐⭐⭐
2.1.13 static的用法(定义和用途)⭐⭐⭐⭐⭐
2.1.14 static的用法(定义和用途)⭐⭐⭐⭐⭐
2.1.15const常量和#define的区别(编译阶段、安全性、内存占用等) ⭐⭐⭐⭐
2.1.16 volatile作用和用法 ⭐⭐⭐⭐⭐
2.1.17有常量指针 指针常量 常量引用 没有 引用常量⭐⭐⭐
2.1.18没有指向引用的指针,因为引用是没有地址的,但是有指针的引用⭐⭐⭐
2.1.19c/c++中变量的作用域⭐⭐⭐⭐⭐
2.1.20 c++中类型转换机制?各适用什么环境?dynamic_cast转换失败时,会出现什么情况?⭐⭐⭐
2.2 继承、多态相关面试题 ⭐⭐⭐⭐⭐
2.2.1继承和虚继承 ⭐⭐⭐⭐⭐
2.2.2多态的类,内存布局是怎么样的 ⭐⭐⭐⭐⭐
2.2.3被隐藏的基类函数如何调用或者子类调用父类的同名函数和父类成员变量 ⭐⭐⭐⭐⭐
2.2.4多态实现的三个条件、实现的原理 ⭐⭐⭐⭐⭐
2.2.5对拷贝构造函数 深浅拷贝 的理解 拷贝构造函数作用及用途?什么时候需要自定义拷贝构造函数?⭐⭐⭐
2.2.6析构函数可以抛出异常吗?为什么不能抛出异常?除了资源泄露,还有其他需考虑的因素吗?⭐⭐⭐
2.2.7什么情况下会调用拷贝构造函数(三种情况)⭐⭐⭐
2.2.8析构函数一般写成虚函数的原因⭐⭐⭐⭐⭐
2.2.9构造函数为什么一般不定义为虚函数⭐⭐⭐⭐⭐
2.2.10什么是纯虚函数⭐⭐⭐⭐⭐
2.2.11静态绑定和动态绑定的介绍⭐⭐⭐⭐
2.2.12 C++所有的构造函数 ⭐⭐⭐
2.2.13重写、重载、覆盖的区别⭐⭐⭐⭐⭐
2.2.14成员初始化列表的概念,为什么用成员初始化列表会快一些(性能优势)?⭐⭐⭐⭐
2.2.15如何避免编译器进行的隐式类型转换;(explicit)⭐⭐⭐⭐
第三章网络编程
3.1 TCP UDP
3.1.1 TCP、UDP的区别 ⭐⭐⭐⭐⭐
3.1.2 TCP、UDP的优缺点⭐⭐⭐
3.1.3 TCP UDP适用场景⭐⭐⭐
3.1.4 TCP为什么是可靠连接⭐⭐⭐⭐
3.1.5典型网络模型,简单说说有哪些;⭐⭐⭐
3.1.6 Http1.1和Http1.0的区别⭐⭐⭐
3.1.7 URI(统一资源标识符)和URL(统一资源定位符)之间的区别⭐⭐
3.2 三次握手、四次挥手
3.2.1什么是三次握手⭐⭐⭐⭐⭐
3.2.2为什么三次握手中客户端还要发送一次确认呢?可以二次握手吗?⭐⭐⭐⭐
3.2.3为什么服务端易受到SYN攻击?⭐⭐⭐⭐
3.2.4什么是四次挥手⭐⭐⭐⭐⭐
3.2.5为什么客户端最后还要等待2MSL?⭐⭐⭐⭐
3.2.6为什么建立连接是三次握手,关闭连接确是四次挥手呢?⭐⭐⭐⭐
第四章常见算法
4.1 排序算法
4.1.1各种排序算法的时间空间复杂度、稳定性⭐⭐⭐⭐⭐
4.1.2各种排序算法什么时候有最好情况、最坏情况(尤其是快排) ⭐⭐⭐⭐
4.1.3冒泡排序⭐⭐⭐⭐
4.1.4选择排序⭐⭐⭐⭐
4.1.5插入排序⭐⭐⭐⭐
4.1.6希尔排序⭐⭐⭐⭐
4.1.7归并排序⭐⭐⭐⭐
4.1.8快速排序⭐⭐⭐⭐⭐
4.1.9快排的partition函数与归并的Merge函数⭐⭐⭐
4.2 STL库相关
4.2.1 vector list异同⭐⭐⭐⭐⭐
4.2.2 vector内存是怎么增长的vector的底层实现⭐⭐⭐⭐
4.2.3 vector和deque的比较⭐⭐⭐⭐
4.2.4为什么stl里面有sort函数list里面还要再定义一个sort⭐⭐⭐
4.2.5 STL底层数据结构实现⭐⭐⭐⭐
4.2.6利用迭代器删除元素会发生什么?⭐⭐⭐⭐
4.2.7 map是如何实现的,查找效率是多少⭐⭐⭐⭐⭐
4.2.8几种模板插入的时间复杂度 ⭐⭐⭐⭐⭐
第五章Linux操作系统常见面试题
5.1 Linux内核相关
5.1.1 Linux内核的组成⭐⭐
5.1.2用户空间与内核通信方式有哪些?⭐⭐⭐⭐⭐
5.1.3系统调用read()/write(),内核具体做了哪些事情⭐⭐
5.1.4系统调用的作用⭐⭐⭐⭐⭐
5.1.5内核态,用户态的区别⭐⭐⭐⭐⭐
5.1.6 bootloader内核 根文件的关系⭐⭐⭐⭐
5.1.7 Bootloader多数有两个阶段的启动过程:⭐⭐⭐
5.1.8 linux的内核是由bootloader装载到内存中的?⭐⭐⭐
5.1.9为什么需要BootLoader⭐⭐⭐⭐
5.1.10 Linux内核同步方式总结⭐⭐⭐⭐
5.1.11为什么自旋锁不能睡眠 而在拥有信号量时就可以?⭐⭐⭐⭐
5.1.12 linux下检查内存状态的命令⭐⭐⭐
5.2 其他操作系统常见面试题
5.2.1大小端的区别以及各自的优点,哪种时候用⭐⭐⭐⭐⭐
5.2.2 一个程序从开始运行到结束的完整过程(四个过程)⭐⭐⭐⭐⭐
5.2.3什么是堆,栈,内存泄漏和内存溢出?⭐⭐⭐⭐
5.2.4堆和栈的区别⭐⭐⭐⭐⭐
5.2.5死锁的原因、条件 创建一个死锁,以及如何预防⭐⭐⭐⭐⭐
5.2.6硬链接与软链接的区别;⭐⭐⭐⭐⭐
5.2.7虚拟内存,虚拟地址与物理地址的转换⭐⭐⭐⭐
5.2.8计算机中,32bit与64bit有什么区别⭐⭐⭐
5.2.9中断和异常的区别⭐⭐⭐⭐⭐
5.2.10中断怎么发生,中断处理大概流程⭐⭐⭐⭐
5.2.11 Linux 操作系统挂起、休眠、关机相关命令⭐⭐
5.2.12数据库为什么要建立索引,以及索引的缺点⭐⭐
第六章 单片机常见面试题
6.1 CPU 内存 虚拟内存 磁盘/硬盘 的关系⭐⭐⭐
6.2 CPU内部结构⭐⭐⭐⭐
6.3 ARM结构处理器简析 ⭐⭐
6.4波特率是什么,为什么双方波特率要相同,高低波特率有什么区别;⭐⭐⭐⭐
6.5arm和dsp有什么区别⭐⭐
6.6 ROM RAM的概念浅析⭐⭐⭐
6.7 IO口工作方式:上拉输入 下拉输入 推挽输出 开漏输出⭐⭐⭐⭐
6.8扇区 块 页 簇的概念⭐⭐⭐⭐
6.9简述处理器在读内存的过程中,CPU核、cache、MMU如何协同工作?画出CPU核、cache、MMU、内存之间的关系示意图加以说明⭐⭐
6.10请说明总线接口USRT、I2C、USB的异同点(串/并、速度、全/半双工、总线拓扑等)⭐⭐⭐⭐⭐
6.11什么是异步串口和同步串口⭐⭐⭐⭐⭐
6.12 I2C时序图⭐⭐⭐⭐⭐

全部评论

相关推荐

粗心的熊熊求求offer:什么内容都没有还弄两页
点赞 评论 收藏
分享
咦哟,从去年八月份开始长跑,两处实习转正都失败了,风雨飘摇,终于拿到offer了更新一下面试记录:秋招:多部门反复面试然后挂掉然后复活,具体问了啥已经忘了,只是被反复煎炸,直至焦香😋春招:base北京抖音hr打来电话说再次复活,准备面试,gogogo北京抖音一面:六道笔试题:1.promise顺序2.定义域问题3.flat展开4.并发请求5.岛屿数量算法(力扣)深度,广度都写6.忘记了,好像也是算法,难度中等其他问题多是框架底层设计,实习项目重难点~~~秒过😇北京抖音二面:三道笔试题:(为什么只有三道是因为第三道没做出来,卡住了)1.中等难度算法(忘记啥题了,应该是个数组的)2.认识js的继承本质(手写继承模式,深入js的面相对象开发)3.手写vue的响应式(卡在了watch,导致挂掉)---后知后觉是我的注册副作用函数写得有问题,有点紧张了其他题目多是项目拷打,项目亮点,对实习项目的贡献~~~第二天,挂,but立马复活转战深圳客服当天约面深圳客服一面:六道笔试题,由于面过太多次字节,面试官叫我直接写,不用讲,快些写完😋,具体都是些继承,深拷贝(注意对数组对象分开处理,深层次对象,循环引用),加中等难度算法题~~~秒过深圳客服二面:口诉八股大战:大概囊括网络,浏览器渲染原理,动画优化,时间循环,任务队列等等(你能想到的简单八股通通拉出来鞭尸😋)算法题:笔试题6道:1:找出数组内重复的数,arr[0]-arr[n]内的数大小为[1-n],例如[1,2,2,3,3]返回[2,3],要求o(n),且不使用任何额外空间(做到了o(n),空间方面欠佳,给面试官说进入下一题,做不来了)2:原滋原味的继承(所以继承真滴很重要)3:力扣股票购买时机难度中等其他滴也忘记了,因为拿到offer后鼠鼠一下子就落地了,脑子自动过滤掉可能会攻击鼠鼠的记忆😷~~~秒过深圳客服三面:项目大战参与战斗的人员有:成员1:表单封装及其底层原理,使用成本的优化,声明式表单成员2:公司内部库生命周期管理成员3:第三方库和内部库冲突如何源码断点调试并打补丁解决成员4:埋点的艺术成员5:线上项目捷报频传如何查出内鬼成员6:大文件分片的风流趣事成员7:设计模式对对碰成员8:我构建hooks应对经理的新增的小需求的故事可能项目回答的比较流利,笔试题3道,都很简单,相信大家应该都可以手拿把掐😇~~~过过过无hr面后续煎熬等待几天直接hr打电话发offer了,希望大家也可以拿到自己心仪的offer
法力无边年:牛哇,你真是准备得充分,我对你没有嫉妒,都是实打实付出
查看19道真题和解析
点赞 评论 收藏
分享
如题,他是要劝退我了吗
椛鸣:根据你的时间 来给你安排任务 如果你时间长 可能会参与到一些长期的项目 时间短 那就只能做点零工
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

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