杰发科技(合肥)2021笔试题

一口Linux 2021-10-22 11:50

岗位:Linux驱动工程师。

题型:选择题8道,填空题10道,编程题4道。

杰发科技主要做汽车电子,由北京四维图新控股,对汽车电子感兴趣的有机会可以应聘试试。

选择题

1、128,4

#include<stdio.h>
unsigned int getstrsize(char *str)
{
   return sizeof(str);
}
int main()
{
   char str[128]={0};
   printf("%d,%d\n",sizeof(str),getstrsize(str));
   return 0;
 } 

sizeof(数组名)等于数组的大小。str是指针,所以sizeof指针就是等于4。

2、autochips

#include<stdio.h>

void print(char **str)
{
   ++str;
   printf("%s\n",*str);
}

int main()
{
   static char *arr[]={"navinfo","autochips","c++"};
   char **ptr;
   ptr=arr;
   print(ptr);
   return 0;
 } 

3、代码编译错误。

#include<stdio.h>

int main()
{
 char *str="Autochips";
 str[0]='\0';
 printf("%s\n",str);
 return 0;
 } 

字符串,在文字常量区,叫.rodata,不可以改变,改变会导致段错误。

4、8,11

#include<stdio.h>

int main()
{
   int a[]={8,2,9,4,1},*p;
   p=a;
   *(p+2)+=2;
   printf("%d,%d",*p,*(p+2));
   return 0;
 } 

5、求输出

#include<stdio.h>

int main()
{
 int x=0xfedcb98;
 int y=0x76543210;
 //printf("%d %d\n",x,y);
 int c;
 c=(y>>8&0xffff)|(x<<4&~0xff);
 printf("%d\n",c);
 return 0;
 } 

6、12

#include<stdio.h>

union package
{
   char head;
   int body;
};
struct message
{

   char id;
   int crc;
   union package pack;
};
int main()
{
   int c;
   c=sizeof(struct message);
   printf("%d\n",c);
   return 0;
 } 

7、一个栈的入栈顺序是a,u,t,o,c,h,i,p,s,则出栈顺序不可能是?

A、ohpisctua
B、uoipshcta
C、otuaspihc
D、tuaihocsp

8、有如下定义enum Autochips{SD1,SD2,SD3,QA=7,SD4,SD5};则常量名SD3和SD5代表的值分别是?

答案:2,9。

考察枚举(从0开始,第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1。如有定义值,后面按定义值增加)

填空题

1、有一个有序表,{1,4,6,10,18,35,42,53,67,71,78,84,92,99},当用二分查找法查找键值为84的节点时,所需要的比较次数为?

2、考察存储速度排序

由快到慢:寄存器、cache、DRAM、本地磁盘。

3、以下C程序的运行结果是?

int main(){
    int a[]={8,2,9,4,1},*p;
    p=a;
    *(p+2)+=2;
    printf("%d, %d",*p,*(p+2));
    
    return 0;
}

4、若栈S和队列Q的初始化状态均为空,元素abcdefghijklmn依次入栈A且每个元素出栈后会立即进入队列Q。若元素出队顺序是bacdeihgflkjmn,则栈S的容量至少是?

5、已知x=0xfedc698和y=0x76543210,则(y>>8&0xffff)|(x<<4&~0xff)值为?

6、

union package
{
    char head;
    int body;
}
struct message
{

    char id;
    int crc;
    union package pack;
}

则sizeof(struct message)为?

7、一台计算机有10个资源,被4个进程竞争,每个进程至少需要___个资源,系统才会有发生死锁的危险。

8、一个16进制数0x45678910存储在起始地址为0x3000的存储空间中,若地址0x3003里的内容是0x10,则此种存储方式被称为?

9、已知二叉树的后序遍历为naviautochips,则前序遍历为?

10、16

#include<stdio.h>
#define f(x) x*(x)*x

int main()
{
   int a=3;
   int s=f(a+1);
   printf("%d\n",s);
   return 0;
 } 

编程题

1、射击训练中,假设有n (n为整数且n<=40)发子弹,小明可以选择次连续打出两发子弹,也可以选择一次只打出一发子弹,请问小明要打完这n发子弹共有多少种方法。

函数原型:

unsigned int calcMethodNum(int n);其中n为子弹数目。

(1)请用文字或流程图简要描述您的思路。

(2)请用C语言编程实现,请考虑执行效率及资源消耗情况。


2、某种图片文件的数据结构布局如下:

此图片文件具有以下特征:

  1. Magic字段16 bit,固定为0xFEFE

  2. Version字段16 bit,高6 bit是主板本号,低10 bit是次版本号,最大有效版本号是"6.10"

  3. Type字段为8 bit,固定是0x1

  4. Size字段为24 bit,表示Data字段的有效长度(单位: Byte)

  5. 为保证End字段起始地址是在4 Byte对齐的位置,Data字段尾部可能会填充几个无效的0x00

  6. End字段是OxABABABAB

在32位大端系统中加载一个文件到内存中, 请根据以上信息编写函数来判断该文件是否为这种图片文件。

函数原型为:

bool verifyImage( const char* const image, unsigned int length);

// image参数为文件加载到内存中的地址,在4 Byte对齐位置; length代表文 件的大小。验证通过返回true,反之返回false.

要求:

(1)请用文字或流程图简要描述您的思路。

(2)请用C语言编程实现,注意时间和空间效率。


3、己知单向链表 L 的节点的结构体Node如下所示,节点个数不小于2,请编写函数实现将链表L平均截为2段L1和L2,它们的段内节点顺序保持不变,节点个数相差不超过1.

typedef struct Node {
    int data;
    struct NodepNext;
} Node_ T;

typedef Node* PL inkHead;

函数原型为:

void SplitLink( Node *PL inkHead, Node *pLinklhead, Node *pLink2head)

(1)请用文字或流程图简要描述您的思路(5分)。

(2)请用C语言编程实现,请考虑执行效率及资源消耗( 10分)。


4、IPv6 地址由8组16进制的数字来表示,每组表示16比特。这些组数字通过(":")分割。比如,2001:0db8:85a3:0000:0000:8a2e:0370:7334是一个有效的地址。而且,我们可以加入一些以0开头的数字,字母可以使用大写,也可以是小写。所以,2001:db8:85a3:0:0:8A2E:0370:7334也是一个有效的IPv6 address地址(即,忽略0开头,忽略大小写)。

然而,我们不能因为某个组的值为0,而使用一个空的组,以至于出现(::)的情况。比如,2001:0db8:85a3::8A2E:0370:7334是无效的IPv6地址。

同时,在IPv6地址中,多余的0也是不被允许的。比如,

02001:0db8:85a3:0000:0000:8a2e:0370:7334是无效的。

要求:

编写一个函数来验证输入的字符串是否是有效的IPv6地址。函数原型为:

bool validIPV6Address(char * IP)

1).简单描述你的思路(5分)

2).请实现函数来验证是否为有效IPv6地址,如果是,返回true,否则返回false,请注意代码格式(10分)

·················· END ··················

点击关注公众号,免费领学习资料

欢迎大家关注我的微信公众号,定期给大家分享C语言、单片机、嵌入式Linux、硬件设计、代码人生相关文章。公众号内回复【电子书】即可获得嵌入式全套500本全套电子书。回复【入群】即可加入嵌入式技术交流群。


我创建了知识星球,欢迎大家扫码加入。在知识星球中有问必答。提供全套的嵌入式学习规划、嵌入式学习资料、简历指导、嵌入式求职规划、嵌入式笔试面试指导、公司推荐等。

推荐阅读

我的2021秋招记录

嵌入式笔试面试题目系列(汇总)

嵌入式书籍推荐

为什么要阅读Linux内核源码以及如何阅读Linux内核源码

什么算是嵌入式全栈?

点“赞”和“在看”哦

一口Linux 写点代码,写点人生!
评论 (0)
  • 贞光科技代理的品牌-光颉科技高精密薄膜电阻凭借0.01%的超高精度,在AI服务器电源模块中实现了精确电压分配、优化功率因数和减少热损耗,显著提升系统能效和可靠性。在当今的数字时代,人工智能(AI)服务器已成为数据中心的核心。随着AI应用的激增,服务器的性能和能效需求也在不断提高。电源模块作为服务器的关键组件,其性能直接影响整个系统的效率和可靠性。本文将探讨光颉科技高精密薄膜电阻,特别是其0.01%的精度,如何在AI服务器电源模块中提升能效。电源模块在AI服务器中的重要性电源模块负责将输入电源转换
    贞光科技 2025-03-20 16:55 110浏览
  • 如同任何对我们工作方式的改变,新的工作方式必然会遇到许多必须面对的挑战。如果不解决组织在实施精益六西格玛过程中面临的障碍以及如何克服它们的问题,那么关于精益六西格玛的讨论就不算完整。以下列举了组织在成功实施精益六西格玛时常见的几个障碍,以及克服它们的方法:1)对精益六西格玛方法论缺乏理解。抵触情绪通常源于对精益六西格玛方法论的不了解,以及不相信它能真正发挥作用。这种情况在所有层级的人员中都会出现,包括管理层。虽然教育培训可以帮助改善这一问题,但成功的项目往往是打消疑虑的最佳方式。归根结底,这是一
    优思学院 2025-03-20 12:35 78浏览
  • 故障现象 一辆2024款路虎发现运动版车,搭载2.0 L发动机,累计行驶里程约为5 000 km。车主反映,使用遥控器无法解锁车门,随后使用机械钥匙打开车门,踩下制动踏板,按压起动按钮,仪表盘提示“将智能钥匙放在图示位置,然后按下起动按钮”(图1)。 图1 故障车的仪表盘提示采用上述应急起动方法,发动机能够起动着机。上述故障现象已出现过多次,过一段时间又会恢复正常,这次故障出现要求将车辆拖入店内进行彻底检修。 故障诊断 车辆进店后进行试车,车辆一切功能又恢复正常。经过反复测试
    虹科Pico汽车示波器 2025-03-20 10:17 57浏览
  • 本文内容来自微信公众号【工程师进阶笔记】,以工程师的第一视角分析了飞凌嵌入式OK3506J-S开发板的产品优势,感谢原作者温老师的专业分享。前两周,有一位老朋友联系我,他想找人开发一款数据采集器,用来采集工业现场的设备数据,并且可以根据不同的业务场景,通过不同的接口把这些数据分发出去。我把他提的需求总结了一下,这款产品方案大概有以下功能接口,妥妥地一款工业网关,在网上也能找到很多类似的产品方案,为啥他不直接买来用?再跟朋友深入地聊了一下,他之所以联系我,是因为看到我在公众号介绍过一款由飞凌嵌入式
    飞凌嵌入式 2025-03-20 11:51 99浏览
  • 为有效降低人为疏失导致交通事故发生的发生率,各大汽车制造厂及系统厂近年来持续开发「先进驾驶辅助系统」ADAS, Advanced Driver Assistance Systems。在众多车辆安全辅助系统之中,「紧急刹车辅助系统」功能(AEB, Autonomous Emergency Braking)对于行车安全性的提升便有着相当大的帮助。AEB透过镜头影像模块与毫米波雷达感测前方目标,可在发生碰撞前警示或自动刹车以降低车辆损伤以及乘员伤害。面临的挑战以本次分享的客户个案为例,该车厂客户预计在
    百佳泰测试实验室 2025-03-20 15:07 71浏览
  • 4月8-11日,第91届中国国际医疗器械博览会(CMEF)将在国家会展中心(上海)举办。这场全球瞩目的医疗科技盛宴以“创新科技,智领未来”为主题,旨在全方位展示医疗科技的最新成果,与来自全球的行业同仁一道,为全球医疗健康领域带来一场科技与商贸交融的产业“盛宴”。飞凌嵌入式作为专业的嵌入式技术解决方案提供商,一直致力于为医疗器械行业提供丰富的、高可靠性的嵌入式硬件主控解决方案。届时,飞凌嵌入式将为来自全球的观众带来适用于IVD、医疗影像、生命体征监测等医疗设备的嵌入式板卡、显控一体屏产品以及多款动
    飞凌嵌入式 2025-03-20 11:46 33浏览
  • 流感季急诊室外彻夜排起的长队,手机屏幕里不断闪烁的重症数据,深夜此起彼伏的剧烈咳嗽声——当病毒以更狡猾的姿态席卷全球,守护健康的战争早已从医院前移到每个人的身上。在医学界公认的「72小时黄金预警期」里,可穿戴设备闪烁的光芒正穿透皮肤组织,持续捕捉血氧浓度、心率变异性和体温波动数据。这不是科幻电影的末日警报,而是光电传感器发出的生命预警,当体温监测精度精确到±0.0℃,当动态血氧检测突破运动伪影干扰……科技正在重新定义健康监护的时空边界。从智能手表到耳机,再到智能戒指和智能衣物,这些小巧的设备通过
    艾迈斯欧司朗 2025-03-20 15:45 129浏览
  • 在电子制造领域,PCB(印刷电路板)的使用寿命直接决定了产品的长期稳定性和可靠性。捷多邦作为全球领先的PCB制造商,始终将质量放在首位,致力于为客户提供高可靠性、高性能的PCB解决方案。以下是捷多邦如何确保PCB使用寿命超过20年的核心技术与优势。 1. ​高品质原材料:从源头保障耐用性捷多邦采用国际认证的优质基材,如FR4、高频材料和高TG板材,确保PCB在高温、高湿等极端环境下的稳定性。通过严格的原材料筛选和入库检验,捷多邦从源头控制质量,避免因材料缺陷导致的失效问题。 
    捷多邦 2025-03-20 11:22 92浏览
  • 近日,保定飞凌嵌入式技术有限公司(以下简称“飞凌嵌入式”)携手瑞芯微电子股份有限公司(以下简称“瑞芯微”)正式加入2025年全国大学生嵌入式芯片与系统设计竞赛(以下简称“嵌入式大赛”),并在应用赛道中设立专属赛题。本次嵌入式大赛,双方选用基于瑞芯微RK3588芯片设计的ELF 2开发板作为参赛平台,旨在通过此次合作,促进产教融合,共同推动嵌入式系统创新人才的培养。全国大学生嵌入式芯片与系统设计竞赛是一项A类电子设计竞赛,同时也是被教育部列入白名单的赛事,由中国电子学会主办,是学生保研、求职的公认
    飞凌嵌入式 2025-03-20 11:53 62浏览
  • 全球领先的光学解决方案供应商艾迈斯欧司朗(SIX:AMS)近日宣布,凭借AS1163独立智能驱动器(SAID)成为中国领先的智能集成系统产品汽车制造商宁波福尔达智能科技股份有限公司(“福尔达”)环境动态照明应用的关键供应商。此次合作标志着汽车技术发展的一个重要时刻,充分展现了AS1163在优化动态照明应用系统成本方面的多功能性和先进性能。该产品支持传感器集成,拥有专为车顶照明设计的超薄外形,并能提升车内照明系统的性能。AS1163是一款先进的智能LED驱动器,能够与开放系统协议(OSP)网络无缝
    艾迈斯欧司朗 2025-03-20 14:26 72浏览
  •         在当今电子设备高度集成的时代,电路保护显得尤为重要。TVS管(瞬态电压抑制二极管)和压敏电阻作为一种高效的电路保护器件,被广泛应用于各种电子设备中,用以吸收突波,抑制瞬态过电压,从而保护后续电路免受损坏。而箝位电压,作为TVS管和压敏电阻的核心参数之一,直接关系到其保护性能的优劣。箝位电压的定义        箝位电压指瞬态保护器件(如TVS二极管、压敏电阻)在遭遇过压时,将电路电压限制在安全范围内的
    广电计量 2025-03-20 14:05 71浏览
  • PCIe 5.0应用环境逐步成形,潜在风险却蠢蠢欲动?随着人工智能、云端运算蓬勃发展,系统对于高速数据传输的需求不断上升,PCI Express(PCIe)成为服务器应用最广的传输技术,尤其在高效能运算HPC(High Performance Computing)及AI服务器几乎皆导入了最新的PCIe 5.0规格,使得数据传输的双向吞吐量达到了128GB/s,让这两类的服务器能够发挥最大的效能。不过随着PCIe 5.0的频率达到16GHz,PCB板因为高频而导致讯号衰减加剧的特性,使得厂商面临很
    百佳泰测试实验室 2025-03-20 13:47 69浏览
  • 家电“以旧换新”政策的覆盖范围已从传统的八大类家电(冰箱、洗衣机、电视、空调、电脑、热水器、家用灶具、吸油烟机)扩展至各地根据本地特色和需求定制的“8+N”新品类。这一政策的补贴再叠加各大电商平台的优惠,家电销售规模显著增长,消费潜力得到进一步释放。晶尊微方案为升级换代的智能家电提供了高效且稳定的触摸感应和水位检测功能,使得操作更加便捷和可靠!主要体现在:水位检测1健康家电:养生壶、温奶器、加湿器的缺水保护安全2清洁电器:洗地机、扫地机器人的低液位和溢液提醒3宠物家电:宠物饮水机的缺水提醒/满水
    ICMAN 2025-03-20 15:23 103浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦