
嵌入式软件工程师笔试面试题
黑面秃头
这个作者很懒,什么都没留下…
展开
-
嵌入式软件工程师笔试面试题分类汇总——C语言链表之增删改查等等(超详细)
C语言链表1. 基础知识1.1 什么是链表 ?1.2 链表的优点&缺点1.3 复杂度2. 基本操作2.1 链表的结构类型2.2 创建一个节点并初始化2.3 链表的头插法&尾插法2.3.1 尾插法2.3.2 头插法2.4 查找2.4.1 按序号查找节点值2.4.2 按值查找链表节点2.5 按给定序号插入2.6 删除2.6.1 按序号删除节点2.6.2 按值删除节点 由于本人表较懒,加之你如果理解了单链表,那么双链表、循环链表我觉得都不是太大问题,所以本篇博文仅针对单链表进行详细讲解。整理匆原创 2020-10-09 21:42:24 · 1227 阅读 · 0 评论 -
嵌入式软件工程师笔试面试题分类汇总——ucosII知识点(1)
可剥夺型内核?答:根据优先级可占用当前CPU的使用权一个应用程序为什么一定要使用空闲任务?答:为了让CPU在没有用户任务可执行时有事可做从存储结构上看,任务是如何组成的?答:从存储结构上看,任务由任务控制块、任务堆栈、任务代码三个部分组成。系统通过任务控制块感知和控制任务;任务堆栈主要用于保护断点和恢复断点;任务代码是一个超循环结构,描述了任务的执行过程。在创建一个任务时,函数OSTaskCreate()或OSTaskCreateExt()负责给任务分配任务控制块和任务堆栈,并对他们进行初始化,.原创 2020-08-19 16:42:46 · 3141 阅读 · 0 评论 -
嵌入式软件工程师笔试面试题分类汇总——内存分布之用户空间(图解)
内存分布1. 知识点补充说明这期的主题是内存分布。不多说,no pic you say j8!1. 知识点补充说明xu’ni原创 2020-08-15 23:06:01 · 346 阅读 · 0 评论 -
嵌入式软件工程师笔试面试题分类汇总——字节序(大小端)& 比特序(LSB、MSB)
大小端1.介绍2.图示3.比特序(位序)1.介绍大端(Big-Endian): 数据高字节——>低位地址,数据低字节——>高位地址;小端(Little-Endian): 数据高字节——>高位地址,数据低字节——>高位地址;防止记混了可以只记住小端是高对高,其他的自己可以推出来;或者你可以记住大端模式符合我们的阅读习惯(至于怎么符合,看下图);插一句,小端模式其实是符合我们的逻辑思维,低字节放在低地址,高字节放在高地址(emmm…怕记混了当我没说>_<原创 2020-08-06 00:23:31 · 1265 阅读 · 0 评论 -
嵌入式软件工程师笔试面试题分类汇总——反转(位反转、字符串反转、整数反转、链表反转)[图解!!!]
反转1.位反转2.字符串反转3.整数反转4.链表反转想要我的财宝吗?想要的话可以全部给你,去找吧!我把所有反转都放在了那里!(本文档仅涉及最基本的反转,如有需要比如从第几位到第几位进行反转的,抱歉,出门左拐>_<)1.位反转题目如图:不多bb,直接上代码方法一:(该方法适合任意个数bit的反转)unsigned char bit_reverse(unsigned char c){ unsigned char buf = 0; int bit = 8; while(bit)原创 2020-08-03 22:03:49 · 510 阅读 · 0 评论 -
嵌入式软件工程师笔试面试题分类汇总——sizeof()、strlen()代码举例
sizeof()sizeof()求的是占据内存的大小(此处我们假设在64位系统上)strlen()strlen()求的是实际长度#include <stdio.h>int main(){ char str[] = ''hello"; char *p = "hello"; printf(“”%d\n%d\n%d\n , sizeof(str) , sizeof(p) , strlen(str));}...原创 2020-05-29 13:33:34 · 458 阅读 · 0 评论 -
嵌入式软件工程师笔试面试题分类汇总——中断服务函数
中断服务函数(ISR)1.中断服务函数4大注意点2.中断和调用子程序的那点破事2.1联系2.2区别3.常见题型 今天来学习记录下中断服务函数(ISR)。关于中断,其实大家或多或少都会了解过,那么,在笔试&面试中,关于中断服务子函数,我们又需要知道那些知识点?1.中断服务函数4大注意点1. 中断服务函数不能有返回值;2. 中断服务函数不能传入参数;3. 中断服务函数要短小精悍;4. 中断服务函数中不能使用printf等glibc函数,会带来重入性和性能问题;解析:首先,中断源连接到硬原创 2020-07-17 12:09:13 · 2613 阅读 · 0 评论 -
嵌入式软件工程师笔试面试题分类汇总——volatile
vloatile超详细!!!单纯的C程序员肯能会很少用到volatile关键字,但是如果说想从事嵌入式的工作,如果不懂得使用volatile,那就基本和offer说拜拜了。本讲内容将详细讲述volatile,为什么要用,什么时候用,有什么注意点…安排!答应我,硬着头皮也要看完!真的很详细!!!问题引入int obj = 10;int a = 0;int b = 0;a = obj;sleep(100);b = obj;//在上述程序中,编译器在编译时发现obj没有被当成左值使用,//原创 2020-07-08 21:20:47 · 539 阅读 · 0 评论 -
嵌入式软件工程师笔试面试题分类汇总——static
static- 作用:修饰普通变量,修改变量的存储区域和生命周期,使变量存储在静态区,在main函数运行前就分配了空间,如果有初值就用初值初始化它,如果没有初始值系统用,默认值初始化它;修饰普通函数,仅在定义该函数的文件内才能使用。在多人开发项目时,为了防止与他人命名的函数重名,可以将函数定位为static;修饰成员变量,修饰成员变量使所有的对象只保存一个该变量,而且不需要生成对象就可以访问该成员;修饰成员函数,修饰成员变量使得不需要生成对象就可以访问该函数,但是在static函数内不可以访问非原创 2020-07-06 15:12:23 · 319 阅读 · 0 评论 -
嵌入式软件工程师笔试面试题分类汇总——const
const一、作用1. 修饰变量,表示该变量不可改变2. 修饰指针,分为指针常量和指向常量的指针 1)指针常量(常指针):char a[] = "hello";char* const p1 = a;*p1 = 'w'; //OKp1 = NULL; //Error p1不能做左值p1 = "world"; //Errorconst与指针变量相邻,修饰的是指针p1,所以指针指向的地址(p1)不能修改[一定要在定义的时候给定初值,指向一个确定存在的地方],但地址中的值(即指针指原创 2020-07-04 11:08:45 · 399 阅读 · 0 评论 -
嵌入式软件工程师笔试面试题分类汇总——strcmp函数
strcmp函数- 简介:用法:#include <string.h>原型:extern int strcmp(const char *s1,const char * s2);功能:比较两个字符串s1和s2的大小描述:当s1<s2时,返回值<0;当s1>s2时,返回值>0;当s1=s2时,返回值=0;规则:1.两个字符串自左向右 逐个字符比较(按ASCII码的值相比较),知道出现不同的字符或遇到‘\0’为止;2.当两个字符串不相等原创 2020-07-03 13:00:12 · 331 阅读 · 0 评论 -
嵌入式软件工程师笔试面试题分类汇总——转义字符
转义字符- 题型1char c[] = "\\\"A100\"\\";printf("%d\t %d\t %s\n",sizeof(c),strlen(c),c);//输出 :9 8 \"A100"\考点:1.strlen函数的结果不包含\0,sizeof的结果包含\0;2.注意哪些是转义字符,以及转义字符所占的字节数;- 题型2char a = '\82';char c = 'xyz';printf("%c\n %c\n", a,c);//输出:2 z有一个‘原创 2020-07-03 09:58:28 · 449 阅读 · 0 评论 -
嵌入式软件工程师笔试面试题分类汇总——宏、inline
宏宏定义可以实现类似于函数的功能,但它并不是函数。宏定义中括号中的“参数”也不是真正的参数,在宏展开时对“参数”进行的是一对一的替换预处理指令不是语句,行尾不要加分号- 题型1写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。#define MIN(X,Y) ((X)>(Y)?(Y):(X))//一般将参数加括号,避免带入后展开破坏原有结构已知一个数组table,用一个宏定义,求出数组的元素个数#define NTBL (sizeof(table)/sizeof原创 2020-07-02 13:19:39 · 384 阅读 · 0 评论