笔试—联发科(MTK)-嵌入式软件笔试

公号:嵌入式未来

《嵌入式软件开发笔试与面试手册》https://blog.nowcoder.net/zhuanlan/jvN8gj

《嵌入式软件笔试-2023年真题汇总》https://blog.nowcoder.net/zhuanlan/0oDWVm

请用C语言程序完成此题。

Typedef struct node

{

int data;

struct node *next;

}pnode;

由上述结构体构成的链表list,请将list反转过来,如A->B->C->D变为D->C->B->A,并返回链表头。pnode reverse list(pnode list);

 

(3)[不定项选择题]如下说法正确的是 ()

A根据文件数据的组织形式差异可以把文件分成文本文件跟进制文件

B带缓冲的文件系统有更优的性熊,但突然掉电时会丢失还未写入磁盘的缓冲区数据

C.读取文件时,可用feof断是否已到达文件结尾

D可以手动调用fflush函数将缓冲区数据写入文件

 

下列程序执行后的输出结果是()

int main(int argc,char* argv[])
	int A=100;
	int i=0,sum=0;
	do{
		if(i ==(i/ 2)*2)
			continue;
		sum += i;
	}while(++i<A);
	printf("%d\n",sum);
	return 0;
}

int i=0,n=0的初始条件下,下面哪段代码执行完成后n=10 ()

A while(i++ < 10)n++;

B. do (n++;) while (i++ < 10):

C. for (;i< 10 ; i++) n++;

D.for(;i++ < 10; n++):

 

下列程序执行结果描述正确的是()

int main()

{

int a[5]= {1,2,3,4,5};

int *p=(int*)(&a+1);

*p=0;

return 0;

}

A.a[0]的值被修改为0

B.a[1]的值被修改为0

C.数组a的值没有变化

D.访问非法地址

 

声明一个指向含有10个元素的数组的指针,其中每个元素是一个函数指针,该函数的返回值是int,参数是int,正确的是 ()

A. (int *p[10))(int*)

B. int (*(*p)[10])(int *)

C. int [10]*p(int *)

D. int ((int *)[10])*p

 

考虑以下C程序,它尝试使用二分法在数组Y中搜索元素X

f(int Y[l0],int x){
	int i,j,k;
	i=0;
	j=9;
	do{
		k=(i+j)/2;
		if(Y[k]<x) i=k;
		else j= k;
	}while (Y[k]!=x&& i<j);
	if(Y[k] == x) printf(x is in the array ");
	else printf(" x is not in the array ");
}

以下YX在哪种情况下,程序无法退出?

A. Y= [2 4 6 8 10 12 14 16 18 20] ,2 <x< 20(x为偶数)

B.Y=[1 3 5 7 9 11 13 15

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

本专栏主要是介绍嵌入式软件开发岗位的相关知识和学习攻略,为大家提供一份笔试与面试手册。包括有嵌入式软件开发岗位介绍与学习攻略;校园招聘和offer疑惑问题的介绍;在笔试方面,如何刷题为笔试作准备,提供往年笔试真题;在面试方面,提供相关知识的复习重点,提供面试真题。包括有:华为、蔚来、文远、大疆、三一、深信服、亚马逊、Intel、百度、科大讯飞、OPPO、京东、中兴、比特大陆|算能、美团等等

全部评论
m
点赞 回复 分享
发布于 2023-07-19 09:31 四川
m
点赞 回复 分享
发布于 2023-08-13 11:30 广东
不定项ABCD 输出2450 A D B D BC G C 0.064us 0 1+mystrlen(str+1) 基类 成员对象类 派生类 template <class t=""> a>b?a:b</class>
点赞 回复 分享
发布于 2023-08-14 19:22 广东
输出4858113
点赞 回复 分享
发布于 2023-08-14 20:06 广东

相关推荐

嵌入式软件工程师则主要负责嵌入式设备上的软件开发工作,与传统软件工程师不同。传统的软件工程师通常开发PC或服务器上运行的应用程序,所依赖的操作系统大多是Windows、Linux等,而嵌入式软件工程师的工作环境则是诸如Wince、VxWorks、Linux等嵌入式操作系统。一、嵌入式软件工程师的工作通常包括:1.&nbsp;应用程序开发:根据客户需求开发嵌入式设备上的应用程序,如智能家居设备、医疗仪器的用户界面等。2.&nbsp;嵌入式开发工具的使用:使用专门的开发工具,如Wince下的EVC(Embedded&nbsp;Visual&nbsp;C++)或Linux下的QT等。3.&nbsp;底层软件设计:尽管嵌入式软件工程师的主要工作在上层软件,但有时也需要参与到底层驱动的设计和调试中,确保上层应用与硬件的协调。二、嵌入式硬件工程师与嵌入式软件工程师的区别1.&nbsp;工作性质的区别嵌入式硬件工程师主要负责设计和搭建硬件平台,为软件工程师提供开发环境。硬件工程师的工作更像建筑师,设计并构建产品的硬件基础;而嵌入式软件工程师则像室内设计师,为产品增添功能和美感。硬件工程师的工作重点在于确保电路的正常工作以及各种外设和芯片的兼容性,他们在设计时需要考虑以下几个关键问题:-&nbsp;功耗:控制电路设计的功耗,特别是在便携式设备中,这一因素尤为重要。-&nbsp;电磁干扰(EMI):确保电路不会干扰其他设备,也不容易受到外部干扰的影响。-&nbsp;生产可行性:电路设计不仅要满足功能需求,还需考虑生产的便捷性和成本。-&nbsp;可靠性:设计要能经受住长时间的使用和环境考验。而软件工程师则专注于通过编写代码实现产品的功能,他们的主要职责包括应用程序开发、操作系统移植、以及优化软件性能等。2.&nbsp;项目依赖的差异硬件的设计在整个项目中尤为关键。没有硬件,软件无法运行;但是在某些嵌入式系统中,硬件产品可以独立工作,比如简单的单片机应用无需操作系统支持。这种情况下,硬件工程师往往需要负责从硬件设计到功能实现的所有工作。而软件工程师在某些项目中可以缺席,特别是在没有复杂操作系统或用户交互界面的系统中。3.&nbsp;就业形式的差异国内嵌入式软件工程师的就业市场较为广泛,培训资源也多,因此入门较为简单。硬件工程师由于门槛较高,需要深入的电路设计知识和实践经验,因此市场需求相对较少,但核心硬件开发人员的需求始终存在。一旦硬件产品定型,软件的升级和维护成本较低,因此在后期,企业会更依赖软件开发来提高产品的功能和竞争力,这也导致嵌入式软件工程师在企业中的需求量较大。我面试看的是大佬的面经,链接放下边了https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
评论
9
37
分享

创作者周榜

更多
牛客网
牛客企业服务