嵌入式八股文

无聊随便写写,都是高频考点,自己去理解吧。一般来说校招就喜欢问八股,因为绝大多数校招生都没啥项目拿得出手,大厂都要求基础好的学生,如果光会写算法题,不懂基础知识,是不符合要求的。
第一部分C/C++基础
1.static关键字的作用(函数,变量的效果)
2.宏定义和函数区别,本质(文本替换,函数需要调用,需要入栈)
3.const关键字的作用(只读)
4.volatile关键字的作用(告诉编译器不要优化优化这个变量,不要把变量值缓存到寄存器或者cache,每次都直接去内存读取)
5.char const *p和char * const p (变量前面是什么就是它的关键属性,例如const *p,首先*p表示一个指针,然后*p表示指向的内容,所以是指向的内容不变,即指向常量的指针。

而*const p,首先是const p,表示p是一个常量,然后*const p表示p这个常量是一个指针,所以p的值不变且因为p是指针,那么就是p指向的地址不能变,但是这个地址的内容可以变)。

同样的逻辑可以去理解指针数组和数组指针,指针函数和函数指针的关系。
6.C程序的内存空间分布:代码段,数据段+bss段(也叫静态区),堆区,栈区
7.未初始化的全局变量保存在哪里,已初始化的全局变量保存在哪里(bss段,数据段,或者说静态区)
8.字符串常量保存在哪里(静态区)
9.什么是bss段(未初始化的全局变量和静态变量都保存在bss段,其值为0)
10.静态局部变量保存在哪里(初始化的在数据段,未初始化bss段)
11.堆和栈的区别(内存空间的堆区和栈区,无关数据结构,超高频考点,自己理解)
12.什么是内存泄漏(程序员主动申请的内存(调用malloc或者new)使用完毕后没有主动释放(free或者delete),这一块内存在这个进程存活期间就无法再次访问,造成资源浪费,如果刚好在循环中或者频繁调用,内存资源就会枯竭,无法正常运行程序,例如某些路由器,长时间使用,如果有内存泄漏就可能程序崩溃,但断电重启就恢复)
13.什么是野指针(不知道指针具体指向内容的指针,鱿鱼不清楚具体指向,操作有风险,应当对指针赋初值,例如指向NULL)
14.什么是空指针解引用(对某些指向结构体的指针取成员变量时鱿鱼不知道此前该指针已为NULL,导致对空指针解引用,引发程序崩溃,应当先判空再解引用)

全部评论
点赞 回复 分享
发布于 2023-11-26 18:36 广东

相关推荐

boss投递,4.24面试,两位面试官Part1:自我介绍 说熟悉C++就开始问C++相关问题Part2:八股拷打1.什么是设计模式,你有用过或者有涉及过哪种设计模式?2.C++11STL容器有哪些?讲一下vector实现的底层逻辑,vector和list的区别,如何实现vector功能而不让他扩容?3.讲讲C++的继承,结构体、类和联合体异同优劣。4.Linux进程与线程的区别?5.什么是原子操作,i++是原子操作吗?为什么?vector是线程安全的数据类型吗?6.讲一下你对堆和栈的理解,分别有什么需要注意的?(涉及new malloc 内存碎片)7.像你刚才提到的堆内存碎片,有什么方法可以解决吗?8.什么是内存泄漏,在调试程序过程中遇到内存泄漏你怎么定位故障点?知道什么是core dump吗?9.gdp调试的常用方法;10.了解TCP吗?(三次握手四次挥手)为什么是3,4?讲一下TCP,UDP,各自特点,优劣,适用场景;11.TCP流量控制和阻塞控制;12.https和http是TCP吗?哪个更安全?如何保证安全性?13.如果想要搭建一个server和client,(Linux环境下),需要哪些步骤分别用到哪些方法和使用的注意点?14.系统调用整体流程;15.你简历中的项目的功能是怎么实现的?解决了什么问题?Part3:聊天:如何看待卓驭,我们工作压力会比较大,平常有什么爱好,如何排解压力;反问:工作内容是否如网上所说大量正向文档?会有开发任务吗?资料权限?实习生工作强度?4.25没信应该是无了,搭建server一个月没看,只能支支吾吾
debugj:你是啥时候投递的 我一直还在简历筛选
查看34道真题和解析
点赞 评论 收藏
分享
评论
15
145
分享

创作者周榜

更多
牛客网
牛客企业服务