【面试】盛航电子-面试笔试心得

笔试题目

这次面试主要考察的是C/C++的基础
手写strcpy函数

char *strcpy(char *strDes, const char *string)
{
	if (string == NULL&&strDes == NULL)
		return NULL;
	char* address = strDes;
	while (*string != '\0')
		*(strDes++) = *(string++);
	*strDes = '\0';//一定注意最后结束时一定要加一个\0结尾;
	return address;//返回保存的strDes首地址;
}

求一数组中第二大的数

int find_second(int arr[],int len){
	int first = arr[0];
	int second = 0;
	for(int i = 0; i < len; i++) {
	     if(arr[i] > first) {
	     	second = first;  
	        first = arr[i];
	     }else if(arr[i] > second ){
	        second = arr[i]; 
	     }
	}
	return second;
}

指针
这部分填空选择基本上全错,概念基本上都预习,应用不够活没任何作用


面试部分

UC/OS II 系统 关于内存

  1. 简介:是一个可移植、可固化的、可裁剪的、占先式多任务实时内核,它适用于多种微处理器,微控制器和数字处理芯片。
  2. μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的, 绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点, 最小内核可编译至 2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。
  3. 严格地说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全可以由用户自己根据需要分别实现。

大端格式、小端格式

  1. 什么是大端,什么是小端:
    大端模式:是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;
    小端模式:是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。
  2. 字节序是针对CPU寻址而言的。不同的cpu处理内存数据的方式不同,以及cpu和网络处理数据的方式也可能不同,所以要指明大端还是小端。 尤其是在做跨平台的项目的时候
  3. 为什么会有大小端模式之分呢?这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。但是在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体的编译器),另外,对于位数大于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然存在着一个如果将多个字节安排的问题。因此就导致了大端存储模式和小端存储模式。例如一个16bit的short型x,在内存中的地址为0x0010,x的值为0x1122,那么0x11为高字节,0x22为低字节。对于大端模式,就将0x11放在低地址中,即0x0010中,0x22放在高地址中,即0x0011中。小端模式,刚好相反。我们常用的X86结构是小端模式,而KEIL C51则为大端模式。很多的ARM,DSP都为小端模式。有些ARM处理器还可以由硬件来选择是大端模式还是小端模式。

CAN总线

  1. 通俗的讲:CAN总线就是一种总线形式,通信用的,比如咱们用的网线,就是一种总线形式,网线就是以太网总线,用来连接各个电脑和服务器组成网络。CAN总线就是用来连接各个节点,组成CAN总线网络。不同的总线有各自的特点,原有的一些通信方式不能满足需求,这样才出现了各种总线。

  2. CAN总线在组网和通信功能上的优点以及它的高性能价格比决定了它在许多领域都有广阔的应用前景和发展潜力。大型仪器设备系统复杂,对多种信息进行采集、处理、控制、输出等操作。如医疗器械CT断层扫描仪,为保证其可靠工作,在数据通信上要求功能块间可随意进行数据交换、通信能以广播方式进行、简单经济的硬件接口、通信线尽量少、抗干扰能力强、可靠性高并能自动进行故障识别和自动恢复。

  3. CAN总线协议 CAN 总线是一个广播类型的总线,所以任何在总线上的节点都可以监听总线上传输的数据。也就是说总线上的传输不是点到点的,而是一点对多点的传输,这里多点的意思是总线上所有的节点。但是总线上的节点如何知道那些数据是传送给自己的呢?CAN总线的硬件芯片提供了一种叫做本地过滤的功能,通过这种本地过滤的功能可以过滤掉一些和自己无关的数据,而保留一些和自己有关的信息。

职业生涯的规划

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dy6667188

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值