
嵌入式面试之路
文章平均质量分 60
大志出奇迹
热爱嵌入式技术,未出茅庐的小小白
展开
-
基础差分运算放大电路
基础差分运放电路原创 2024-10-31 17:08:08 · 400 阅读 · 0 评论 -
牧原二面(技术面)【C语言问题偏多】
牧原共三面,二面为技术面,应聘的岗位为屠宰事业部嵌入式软件方向,主要问到项目经历和C语言基础知识偏多。原创 2023-10-17 16:20:14 · 1577 阅读 · 7 评论 -
一道快速排序结合二分法查找的算法题(综合易考)
在校招笔试时曾看见一道题目比较综合的关于排序的编程题,从动态分配数组到使用快速排序对数组进行排序再到使用二分法查找给定数字,到最后释放数组内存。感觉全方面考察了创建数组、排序、查找的相关知识点,遂记录下来。原创 2023-10-15 11:56:32 · 113 阅读 · 0 评论 -
【一文吃透】常见通信协议(SPI、IIC、UART、CAN)[面试重点]
主机输入,从机输出(数据来自从机);主机输出,从机输入(数据来自主机);SCLK串行时钟信号,由主机产生发送给从机;SS片选信号,由主机发送,以控制与哪个从机通信,通常是低电平有效信号。其他制造商可能会遵循其他命名规则,但是最终他们指的相同的含义。以下是一些常用术语;MISO也可以是SIMO,DOUT,DO,SDO或SO(在主机端);MOSI也可以是SOMI,DIN,DI,SDI或SI(在主机端);NSS也可以是CE,CS或SSEL;SCLK也可以是SCK;原创 2023-09-27 00:07:25 · 26669 阅读 · 0 评论 -
[超详细]内存分区相关知识,面试重点
静态变量是在程序运行期间始终存在的变量,其内存空间在程序开始时就被分配好了,直到程序结束时才被释放。已初始化且不为零的全局变量是指在定义时已经赋值的全局变量,而不是在程序运行时才赋值的变量。堆空间是向上增长的,也就是说,堆顶的地址是越来越大的。因此,常量段的数据是只读的,不能在程序运行期间修改它们的值。栈空间是由操作系统自动分配和回收的,它的大小通常是固定的,不能随意增加。栈空间是向下增长的,也就是说,栈顶的地址是越来越小的。需要注意的是即使是初始化了,但初始化的是0,还是放在BSS区!原创 2023-08-04 17:22:29 · 409 阅读 · 1 评论 -
9.16长川科技(二面技术面)
自我介绍(balabala)原创 2023-09-16 14:38:45 · 1079 阅读 · 5 评论 -
堆与栈的区别
堆则是C函数库提供的,它的机制很复杂,例如为了分配一块内存,库函数会按照一定的算法(具体的算法可以参考数据结构/操作系统)在堆内存中搜索可用的足够大的空间,如果没有足够大的空间(可能是由于内存碎片太多),就有需要操作系统来重新整理内存空间,这样就有机会分到足够大小的内存,然后返回。栈的分配和释放是由编译器完成的,栈的动态分配由alloca()函数完成,但是栈的动态分配和堆是不同的,他的动态分配是由编译器进行申请和释放的,无需手工实现。栈的增长方向是向下的,即向着内存地址减小的方向。(1)管理方式不同。原创 2023-09-02 10:21:32 · 164 阅读 · 0 评论 -
字符串常量与字符数组的区别
总结:C语言有两种表示字符串的方法,一种是字符数组,另一种是字符串常量,它们在内存中的存储位置不同,使得字符数组可以读取和修改,而字符串常量只能读取不能修改。原文链接:https://blog.youkuaiyun.com/qq_43353179/article/details/109353528。原创 2023-06-08 20:23:25 · 264 阅读 · 1 评论 -
linux嵌入式常见面试问题(持续更新)
DMA(直接内存访问)是一种通过硬件控制器直接访问内存的方式,而不需要CPU的干预。在串口通信中,采用DMA方式可以减少CPU的负担,提高数据传输的效率。为了提高吞吐量,需要对DMA传输的数据进行解析。具体来说,需要对接收到的数据进行缓存,然后在空闲时对缓存中的数据进行解析。可以采用中断机制来触发解析过程,或者使用定时器来定期解析数据。在解析数据时,可以采用多线程或者多任务的方式,将数据分成多个部分进行解析,从而提高解析的速度和效率。原创 2023-06-04 16:25:56 · 1585 阅读 · 1 评论