嵌入式软件工程师面试题(七)

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
云解析DNS,个人版 1个月
简介: 嵌入式软件工程师面试题(七)

6b3653a228564f3fbe40c781d816da04.png

1、简单描述一下数组指针和指针数组?


点击查看 原题更多的解析与讨论

数组指针是一个指针,指向一个数组。

指针数组由n个指针类型的数组元素组成。

数组指针只是一个指针变量,似乎是C语言里专门用来指向二维数组的,它占有内存中一个指针的存储空间。

指针数组是多个指针变量,以数组形式存在内存当中,占有多个指针的存储空间。


2、简单描述linux设备驱动中的总线,设备和驱动的关系。


点击查看 原题更多的解析与讨论

总线将设备和驱动绑定。

在系统每注册一个设备的时候,会寻找与之匹配的驱动;

相反的,在系统每 注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。

一个现实的Linux设备和驱动通常都需要挂接在一种总线上。

设备与驱动的关联通过总线的match()方法进行匹配,驱动挂载总线时与所有设备进行匹配,设备挂载总线时与所有的驱动进行匹配,所以驱动和设备的挂载无先后之分。

匹配成功后会通过调用驱动的probo()方法来初始化设备。


3、简述一下什么是红黑树?


点击查看 原题更多的解析与讨论

红黑树是一种近似平衡的二叉查找树,它能够确保任何一个节点的左右子树的高度差不会超过二者中较低那个的一倍。具体来说,红黑树是满足如下条件的二叉查找树

1.每个节点要么是红色,要么是黑色。

2.根节点必须是黑色

3.红色节点不能连续(也即是,红色节点的孩子和父亲都不能是红色)。

4.对于每个节点,从该点至null(树尾端)的任何路径,都含有相同个数的黑色节点。

5.最长的路径长度不会超过任意路径的两倍。


4、指针和引用的区别?


点击查看 原题更多的解析与讨论

(1)指针是实体,占用内存空间;引用是别名,与变量共享内存空间。

(2)指针不用初始化或初始化为NULL;引用定义时必须初始化。

(3)指针中途可以修改指向;引用不可以。

(4)指针可以为NULL;引用不能为空。

(5)sizeof(指针)计算的是指针本身的大小;而sizeof(引用)计算的是它引用的对象的大小。

(6)如果返回的是动态分配的内存或对象,必须使用指针,使用引用会产生内存泄漏。

(7)指针使用时需要解引用;引用使用时不需要解引用‘*’。

(8)有二级指针;没有二级引用。


5、说说内联函数和宏函数的区别


点击查看 原题更多的解析与讨论

相同点:

(1)二者都是通过将函数调用替换成完整的函数体,相比函数调用的时间、空间开销而言,二者提高了效率。

不同点:

(1)宏定义不是函数,而内联函数时函数,因此内联函数可以调试,宏定义不能。

(2)宏定义的代码展开阶段是预处理阶段,而内联函数在编译阶段,因此内联 函数有类型安全检查,宏定义没有

(3)内联函数作为类的成员函数时,可以访问类的所有成员(公有、保护、私有),宏定义不能。


6、在FreeRTOS中,二值信号量和互斥量的区别?


点击查看 原题更多的解析与讨论

互斥型信号量必须是同一个任务申请,同一个任务释放,其他任务释放无效。同一个任务可以递归申请。

二进制信号量,一个任务申请成功后,可以由另一个任务释放。

相关文章
|
12天前
|
运维 Kubernetes 关系型数据库
云计算运维工程师面试技巧
【8月更文挑战第6天】
54 1
|
1月前
|
算法 网络协议 Linux
|
2月前
|
存储 异构计算 内存技术
【硬件工程师面试宝典】常见面试题其一
- Setup时间:时钟前数据需稳定的最小时间。 - Hold时间:时钟后数据需保持稳定的时间。 - 竞争现象:不同路径信号汇合导致输出不稳定。 - 冒险现象:竞争引起的短暂错误状态。 - D触发器实现2倍分频电路。
48 5
|
1月前
|
传感器 芯片
嵌入式通信协议全解析:SPI、I²C、UART详解(附带面试题)
通信是指人与人或人与自然之间通过某种行为或媒介进行的信息交流与传递。从广义上来说,通信是指需要信息的双方或多方在不违背各自意愿的情况下采用任意方法、任意媒质,将信息从某方准确安全地传送到另方。在出现电波传递通信后,通信被单一解释为信息的传递,是指由一地向另一地进行信息的传输与交换,其目的是传输消息。通信方式包括利用“电”来传递消息的电信,这种通信具有迅速、准确、可靠等特点,且几乎不受时间、地点、空间、距离的限制,因而得到了飞速发展和广泛应用。
228 0
|
3月前
|
人工智能 开发工具 Python
2024年利用Python突破验证码限制,2024年最新Python高级开发工程师面试题
2024年利用Python突破验证码限制,2024年最新Python高级开发工程师面试题
2024年利用Python突破验证码限制,2024年最新Python高级开发工程师面试题
|
2月前
|
安全 网络安全 网络协议
精选30道“渗透测试工程师”面试题
渗透测试 信息收集 网络安全 web安全
83 3
|
2月前
【硬件工程师面试宝典】常见面试题其二
检查单片机上电不运行:电源电压、时钟信号、复位电路、程序烧录。三极管特性:输出特性曲线和转移特性曲线。频率响应指系统对不同频率信号的响应,稳定要求幅度和相位不变。改变响应曲线方法:调整反馈、使用滤波器、改变元件参数。差分运放相位补偿通过在反馈回路加电容,波特图显示补偿效果。基本放大电路类型有共射、共集、共基,差分结构用于抗干扰和提高共模抑制比。电阻电容串联,电容电压为低通滤波,电阻电压为高通滤波。选择电阻考虑阻值、功率、温度系数、精度和尺寸。CMOS电路传递低电平用N管。电流偏置电路通过R1、Q1产生稳定电流。施密特电路回差电压由R1、R2决定。LC振荡器的哈特莱、科尔皮兹、克拉
27 0
|
3月前
|
SQL 分布式计算 算法
程序员必备的面试技巧——大数据工程师面试必备技能
程序员必备的面试技巧——大数据工程师面试必备技能
80 0
|
3月前
|
前端开发 算法
【css炫酷动画】让面试官眼前一亮的故障风格文字动画,3年Web前端开发工程师面试经验分享
【css炫酷动画】让面试官眼前一亮的故障风格文字动画,3年Web前端开发工程师面试经验分享
|
3月前
|
NoSQL Dubbo Java
StringBoot编程式事务与声明式事务java工程师面试突击第一季
StringBoot编程式事务与声明式事务java工程师面试突击第一季