海康威视嵌入式与 linux 笔试:

合集下载

嵌入式Linux工程师常见笔试题

嵌入式Linux工程师常见笔试题

这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为带面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。

从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。

这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这个愚蠢的问题吗?如要你答出某个字符的ASCII值。

这些问题着重考察你的系统调用和内存分配策略方面的能力吗?这标志着出题者也许花时间在微机上而不上在嵌入式系统上。

如果上述任何问题的答案是"是"的话,那么我知道我得认真考虑我是否应该去做这份工作。

从面试者的角度来讲,一个测试也许能从多方面揭示应试者的素质:最基本的,你能了解应试者C语言的水平。

不管怎么样,看一下这人如何回答他不会的问题也是满有趣。

应试者是以好的直觉做出明智的选择,还是只是瞎蒙呢?当应试者在某个问题上卡住时是找借口呢,还是表现出对问题的真正的好奇心,把这看成学习的机会呢?我发现这些信息与他们的测试成绩一样有用。

有了这些想法,我决定出一些真正针对嵌入式系统的考题,希望这些令人头痛的考题能给正在找工作的人一点帮住。

这些问题都是我这些年实际碰到的。

其中有些题很难,但它们应该都能给你一点启迪。

这个测试适于不同水平的应试者,大多数初级水平的应试者的成绩会很差,经验丰富的程序员应该有很好的成绩。

为了让你能自己决定某些问题的偏好,每个问题没有分配分数,如果选择这些考题为你所用,请自行按你的意思分配分数。

预处理器(Preprocessor)1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:.; #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等).; 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。

(完整版)嵌入式Linux笔试题库和答案(新)

(完整版)嵌入式Linux笔试题库和答案(新)

嵌入式Linux 笔试题库一.选择题1. Linux 的创始人是谁()A、TurbolinuxB、AT&T Bell LaboratryC、University of Helsinki D 、Linus Torvalds2. 在Linux 中,命令解释器是哪个()A、管道B、分级文件系统C、字符型处理器D、shell3. Linux 安装程序提供了两个引导装载程序()A、GROUP 和LLTOB、DIR 和COIDC、GRUB 和LILOD、以上都不是4. 如果当前目录是/home/sea/china,那么“ china”的父目录是哪个目录()A、/home/seaB、/home/C、/D、/sea5. 在Linux中,要删除abc目录及其全部内容的命令为:()A、rm abcB、rm -r abcC、rmdir abcD、rmdir -r abc6. 假定kernel支持vfat分区,下面哪一个操作是将/dev/hda1分区加载到/win目录?()A、mount -t windows /win /dev/hda1B 、mount -fs=msdos /dev/hda1 /winC、mount -s win /dev/hda1 /winD、mount - vfat /dev/hda1 /win7. 显示用户的主目录的命令是什么()A、echo $HOMEB、echo $USERDIRC、echo $ECHOD、echo $ENV8系统中有用户user1和user2,同属于users组。

在user1用户目录下有一文件file1,它拥有644的权限, 如果user2用户想修改user1用户目录下的file1文件,应拥有()权限。

A、744B、664C、646D、7469.如何查看一个RPM 软件包是否安装()A 、rpm-Vc postfixB 、rpm-q postfixC 、rpm--changelog postfixD 、rpm-q—changelogpostfix10*.在Linux 中,提供TCP/IP 包过滤功能的软件叫什么( C )A、rarpB、routeC、iptablesD、filter11.nfs 服务的配置文件是什么?()/etc/mtab B、/etc/fastboot C、/etc/fstab D、/etc/exports12. 用命令ls -al 显示出文件ff 的描述:-rwxr-xr-- 1 root root 599 Cec 10 17:12 ff 由此可知文件ff 的类型为:()A、普通文件B、硬连接C、目录D符号连接13.Linux 操作系统中的shell 是()A、命令解释器B、程序设计语言C、脚本编辑器D、编译器14.能实现文件系统远程挂载的是()。

嵌入式笔试题目

嵌入式笔试题目

1、在嵌入式系统中,以下哪个组件负责执行程序指令?
A. 内存
B. 中央处理器(CPU)
C. 输入/输出设备
D. 存储设备(答案:B)
2、以下哪种类型的存储器在掉电后会丢失数据?
A. SRAM
B. DRAM
C. Flash ROM
D. EEPROM(答案:B)
3、在嵌入式系统设计中,I2C总线主要用于什么类型的通信?
A. 高速数据传输
B. 低速串行通信
C. 并行数据传输
D. 高频信号处理(答案:B)
4、下列哪个协议是用于网络通信,特别是嵌入式设备与互联网之间的通信?
A. SPI
B. I2C
C. TCP/IP
D. UART(答案:C)
5、在嵌入式Linux系统中,Bootloader的主要作用是?
A. 加载并启动操作系统内核
B. 提供图形用户界面
C. 管理系统文件
D. 执行应用程序(答案:A)
6、以下哪种编程语言常用于嵌入式系统的底层开发?
A. Python
B. Java
C. C/C++
D. JavaScript(答案:C)
7、在嵌入式系统中,中断的作用是什么?
A. 提高系统处理速度
B. 使系统进入低功耗模式
C. 允许CPU在处理其他任务时响应外部事件
D. 增加系统内存(答案:C)
8、下列哪项技术不是用于降低嵌入式系统功耗的?
A. 睡眠模式
B. 动态电压和频率调整(DVFS)
C. 增加处理器核心数量
D. 定时唤醒机制(答案:C)。

海康威视嵌入式与 linux 笔试:

海康威视嵌入式与 linux 笔试:
yaffs yaffs2 cramfs jffs ramdisk ext2 nfs
2、Linux 系统支持驱动模块动态加载的, 请列出驱动模块的入口和出口
module_init 和 module_exit
3、Linux 的基本命令, 列出 root 根目录下的内容, 要求以详细信息列出, 并以时间倒序排序
6、 C 语言中,修饰符 volatile 含义是什么?其应用场合有哪些?
答:搞嵌入式的童鞋们经常同硬件,中断,RTOS 等打交道,所有这些都要求用 到 volatile 变量。 一个定义为 volatile 的变量是说这些变量可能会被意想不到的改变,这样,编 译器就不会去假设这个变量的值了,精确的说,优化器在用到这个变量时必须每 次小心的重新读取这个变量的值,而不是使用保存在寄存器里的备份。几个 volatile 的例子:
9、 C 语言中 static 函数与普通函数的区别是什么?
在 C 语言中,关键字 static 的作用: 1、 函数体内 static 变量的作用范围为该函数体,不同于 auto 变量,该变 量的内存只被分配一次,因此其值在下次调用时仍维持上次的值。 2、 在模块内的 static 全局变量可以被模块内的所有函数访问,但是不能 被模块外的其他函数访问。 3、 在模块内的 static 函数只可被这一模块模块内的其他函数调用,这个 函数的使用范围被限制在声明他的模块内。 4、 在类的 static 成员变量属于整个类所拥有,对类的所有对象只有一份 拷贝。 5、在类的 static 成员函数属于整个类所拥有,这个函数不接受 this 指针, 因而只能访问类的 static 成员变量。 LINUX 方面的: 1、 列出目前 linux 系统能支持的文件系统, 列出常用的 4 个以上。

海康嵌入式笔试题

海康嵌入式笔试题

海康嵌入式笔试题1.请问TCP/IP协议分为哪几层FTP协议属于哪一层答:可以分为物理层,数据链路层,网络层,传输层,应用层应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。

传输层:在此层中,它提供了节点间的数据传送,应用程序之间的通信服务,主要功能是数据格式化、数据确认和丢失重传等。

如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。

互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。

如ARP是地址解析协议,在这一层的时候吧IP地址转换为物理地址网络接口层(主机-网络层):接收IP数据报并进行传输,从网络上接收物理帧,抽取IP数据报转交给下一层,对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。

另外补充一下OSI的七层所对应的协议:应用层(Application):应用程序网关(application gateway)Telnet: 远程登录(在应用层连接两部分应用程序)FTP(File Transfer Protocol):文件传输协议HTTP(Hyper Text Transfer Protocol):超文本传输协议SMTP(Simple Mail Transter Protocol):简单邮件传输协议POP3(Post Office Ptotocol):邮局协议SNMP(Simple Network Mangement Protocol)简单网络管理协议DNS(Domain Name System):域名系统传输层(Transport):传输网关(transport gateway)TCP(Transmission Control Potocol):传输控制协议(在传输层连接两个网络)UDP(User Data Potocol):用户数据协议网络层(Internet):多协议路由器(multiprotocol router)IP(Internet Protocol):网络协议(在异构网络间转发分组)ARP(Address Resolution Protocol):地址解析协议RARP(Reverse Address Resolution Protocol) :逆地址解析协议ICMP(Internet Control Message Protocol):因特网控制消息协议IGMP(Internet Group Manage Protocol):因特网组管理协议BOOTP (Bootstrap):可选安全启动协议数据链路层(Data Link):网桥(bridge)交换机(switcher)HDLC(High Data Link Control):高级数据链路控制(在LAN之间存储-转发数据链路针)SLIP(Serial Line IP):串行线路IPPPP(Point-to-Point Protocol):点到点协议等物理层(Physical):中继器(repeater)集线器(hub)(放大或再生弱的信号,在两个电缆段之间复制每一个比特)再回过头来看,ftp是用tcp写的一个文件传输协议,明显就是在应用层了========================================================== ==========2.在网络应用中,函数htons,htonl,ntohs,n tohl的作用htons:把短整型的主机字节顺序转变为网络字节顺序其它依次类推htons一般用来转变端口,htonl一般用来转IP网络字节顺序是先高位字节,再低位字节;主机字节顺序则视cpu而定干脆扩展一点#include<>#include<>#include<>#include<>#include<netinet/>#include<sys/>#include<sys/>int main(){char str[]=;in_addr_t r1,r2,r3;struct in_addr inp;r1=inet_addr(str);if(r1==-1){printf();}else{printf("inet_addr:ip=%lu\n",ntohl(r1)); }r2=inet_network(str);if(r2==-1){printf();}else{printf("inet_network:ip=%lu\n",r2);}r3=inet_aton(str,&inp);if(r3==0){printf();}else{printf("inet_aton:ip=%lu\n",ntohl);}return 0;}========================================================== ==========3.在c语言中,static函数与普通函数有什么区别1. 全局静态变量在全局变量之前加上关键字static,全局变量就被定义成为一个全局静态变量。

嵌入式考试题目及答案

嵌入式考试题目及答案

嵌入式考试题目及答案一、单选题(每题2分,共20分)1. 嵌入式系统是指()。

A. 嵌入到其他系统中的专用计算机系统B. 嵌入到其他系统中的通用计算机系统C. 嵌入到其他系统中的操作系统D. 嵌入到其他系统中的硬件系统答案:A2. 以下哪个不是嵌入式系统的典型应用领域?()A. 消费电子B. 工业控制C. 航空航天D. 个人电脑答案:D3. 在嵌入式系统中,以下哪个不是常用的处理器类型?()A. 微控制器(MCU)B. 数字信号处理器(DSP)C. 微处理器(MPU)D. 网络处理器(NP)答案:D4. 以下哪个不是嵌入式系统的开发工具?()A. 编译器B. 调试器C. 仿真器D. 打印机答案:D5. 在嵌入式系统中,以下哪个不是操作系统的功能?()A. 任务调度B. 内存管理C. 文件系统D. 网络通信答案:D6. 以下哪个不是嵌入式系统的硬件组成?()A. 处理器B. 存储器C. 输入/输出设备D. 显示器答案:D7. 在嵌入式系统中,以下哪个不是软件组成?()A. 操作系统B. 应用程序C. 驱动程序D. 打印机驱动答案:D8. 以下哪个不是嵌入式系统的开发流程?()A. 需求分析B. 系统设计C. 编码D. 测试答案:D9. 在嵌入式系统中,以下哪个不是调试技术?()A. 断点B. 单步执行C. 代码覆盖率分析D. 性能优化答案:D10. 以下哪个不是嵌入式系统的可靠性要求?()A. 容错性B. 可预测性C. 可维护性D. 可扩展性答案:D二、多选题(每题3分,共15分)11. 嵌入式系统的特点是()。

A. 实时性B. 专用性C. 可扩展性D. 低功耗答案:ABD12. 嵌入式系统的开发工具包括()。

A. 编译器B. 调试器C. 仿真器D. 打印机答案:ABC13. 嵌入式系统的硬件组成包括()。

A. 处理器B. 存储器C. 输入/输出设备D. 显示器答案:ABC14. 嵌入式系统的软件组成包括()。

2013年海康威视校园招聘嵌入式开发笔试题

2013年海康威视校园招聘嵌入式开发笔试题

2013年海康威视校园招聘嵌入式开发笔试题A卷1.“栈 stack”和“堆 heap”有什么区别,写两个函数分别在栈上和堆上分配内存,在堆上分配内存应注意哪些问题?2. 信号量是什么?有什么区别?使用信号量进行任务间通信有何优缺点?3.TCP/IP通信建立的过程怎样,端口有什么作用?4.进程间的通信方法,比较其优缺点5.什么是MTU,如何检测整个通信链路上的MTU值?6.请指出下面程序的错误unsigned char i = 10;char b = 100;char* p;void f(void){While(--i>=0){*(p++) = b;}}7.在socket编程过程中,对端A向应用程序B(应用程序B负责多个模块)发送数据,如果对端A shutdown,而应用程序B要忽略此信号,为什么?8.(附加题,可选做)编程实现:快速创建一个1G的文件,逆序读取文件。

B卷1.什么事随机存储中的大小端模式?写一段用来判别编译器内存存储方式是大端模式还是小端模式的代码2.找出下面一段ISR问题__interrupt double compute_area (double radius){double area = PI * radius * radius;printf("\nArea = %f", area);return area;}3.关键字const是什么含义?指出下列声明的意义。

1)const int* p;2)int const* p;3)int*const p;4)const int*const p;4.请写出OSI网络模型。

常见网络连接设备:集线器,交换机,路由器,网关分别对应哪一层。

并简单介绍交换机、集线器和路由器的区别?5.请描述进程,线程,轻量级进程的概念。

Linux中线程是何如实现的?6.写出socket通信的基本过程。

7.编写一个函数,实现任意两段内存之间的快速拷贝函数接口:int my_memcpy(void* dst,void* src,int size)要求:实现任意两端内存之间的正确拷贝;注重效率,拷贝速度越快越好;(使用对齐4字节拷贝代替单字节拷贝)。

嵌入式linux笔试题

嵌入式linux笔试题

嵌入式linux笔试题
嵌入式Linux是一种在嵌入式系统中运行的Linux操作系统。

嵌入式Linux的笔试题可能涉及到Linux内核、设备驱动、嵌入式系统架构、嵌入式软件开发等方面的知识。

以下是一些可能涉及到的笔试题:
1. 请解释嵌入式系统和通用计算机系统之间的区别,并举例说明。

2. 什么是Linux内核?它在嵌入式系统中扮演着怎样的角色?
3. 请解释Linux设备树(Device Tree)的作用和原理。

4. 什么是交叉编译?在嵌入式Linux开发中,为什么需要使用交叉编译工具链?
5. 请简要介绍Linux设备驱动的开发流程和关键步骤。

6. 什么是裁剪(Trimming)Linux内核?在嵌入式系统中为什么需要对内核进行裁剪?
7. 请解释Linux文件系统在嵌入式系统中的作用和选择原则。

8. 什么是嵌入式系统的启动顺序?请描述嵌入式Linux系统的
启动流程。

9. 介绍一下嵌入式Linux系统中常用的调试工具和方法。

10. 在嵌入式Linux开发中,如何实现对外围设备的控制和通信?
以上问题涉及到了嵌入式Linux系统的各个方面,从内核到驱动,再到系统启动和调试,涵盖了嵌入式Linux开发的关键知识点。

希望这些问题的回答能够帮助你更好地理解嵌入式Linux系统的相
关知识。

嵌入式软件开发岗位招聘笔试题及解答(某大型央企)2025年

嵌入式软件开发岗位招聘笔试题及解答(某大型央企)2025年

2025年招聘嵌入式软件开发岗位笔试题及解答(某大型央企)(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、嵌入式系统中最常用的操作系统是_____ 。

A. LinuxB. Windows CEC. VxWorksD. Android2、在嵌入式系统中,中断是指当系统内部或者外部发生特定的触发事件时,处理器自动暂停当前正在运行的程序,转去处理这个事件,处理完毕后再返回原程序继续执行。

中断的目的是 _____ 。

A. 提高CPU的运行效率B. 减少程序的代码量C. 防止程序死锁D. 响应及时的外部事件3.在嵌入式系统中,以下哪个描述不属于RTOS(实时操作系统)的特点?A. 提供实时的响应性能B. 提供图形界面支持用户操作体验提升C. 可应用于多种嵌入式硬件平台D. 任务调度具有优先级特性4.在嵌入式软件开发中,关于ARM架构的处理器,以下哪个说法是错误的?A. ARM架构处理器功耗较低,适合嵌入式应用。

B. ARM架构处理器不支持浮点运算,需要额外硬件支持。

C. ARM架构处理器有丰富多样的处理器系列,满足不同应用场景需求。

D. ARM架构处理器的指令集采用RISC(精简指令集)设计。

5、数字、嵌入式系统中CPU的初始化过程包括哪些步骤?()A. 中断系统初始化B. 系统总线初始化C. 内存管理单元初始化D. 时钟管理初始化6、数字、在嵌入式系统中,以下哪个指令可以被中断打断?()A. 读写内存的指令B. 浮点运算指令C. 输入输出指令D. 时钟选择指令7、嵌入式系统中,以下哪个高性能FPGA最适合用于高性能数据处理和信号处理任务?A. Xilinx SpartanB. Xilinx Virtex-7C. Altera iCE40D. Altera Stratix V8、在嵌入式Linux系统中,当PCB上向外发送脉冲信号时,推荐使用的硬件层模块是?A. gpioB. timerC. serialD. pwm9.在嵌入式系统中,通常使用哪种类型的处理器?A. 大型通用处理器B. 嵌入式微控制器C. 图形处理器D. 数字信号处理器 10.在嵌入式软件开发中,哪种编程语言是最常用的?A. C++B. JavaC. PythonD. JavaScript二、多项选择题(本大题有10小题,每小题4分,共40分)1、以下关于嵌入式软件开发的叙述哪些是正确的?(多选)A. 嵌入式软件通常需要在限定的资源环境下运行。

(A)杭州海康威视笔试

(A)杭州海康威视笔试

(A)杭州海康威视笔试2008(A)杭州海康威视笔试2008(A)卷杭州海康威视Linux开发工程师1. 请列举主流linux的发布版本(四个以上)。

2. makefile的基本写法,完成将test.c文件编译成可执行文件demo 的makefile文件。

3. linux的基本命令有什么?在控制台root根目录下,查找包含字符”hikvision”的文件名,要求使用管道命令而且包含子目录查找。

4. 当前linux最主流的两大桌面环境是什么,两者区别是什么?5. linux系统下主要三类设备文件类型是什么?嵌入式软件工程师1. C语言中,修饰符volatile含义是什么?其应用场合有哪些?2. 请问TCP/IP协议分为哪几层?FTP协议在哪一层?3. 在网络应用中,函数htons,htonl,ntohs,ntohl的作用是什么?4. C语言中static函数与普通函数的区别是什么?5. 请实现内存复制函数void memcpy(void *dst const void *src,int size)网络开发工程师1.请写出OSI模型,TCP/IP模型。

2.以太网的MTU是多大?3.IP地址,地址范围4.ARP协议作用5.编写一个简单的ECHO服务器DSP软件开发工程师1. 什么是DSP?请简述DSP与通用DSP的差别。

2. 什么是中断?如果要防止中断嵌套,可以采用什么方法?3. 静态局部变量与普通局部变量的区别是什么?4. 用C语言实现将一个字符串逆序的函数其节点如下:struct Node{int data;Node* next;}5. 描述你最熟悉的一种DSP,以及做过基于DSP的开发工作。

CODEC/图像处理与模式识别开发工程师1.写出三种线性变换特征提取方法。

2.下面是5 7的数字“1”图像,样本向左错了一列,计算样本与标准模板之间的欧氏距离,绝对值偏差,偏差的夹角3.背景减除是运动目标检测的常用方法,写出三种背景建模方法4.视频编码器基本框图,写出压缩作用最大的三个环节,描述压缩的效果5.哈夫曼编码,acbaadacacba,概率为字母出现的次数,写出其编码2008(A)杭州海康威视笔试6.head1,head2指向两个有序数列,对其排序硬件开发工程师1. 信号的输出端一般挂接一个电阻,特别是时钟信号,这个电阻是什么作用?2. 数字逻辑电路有哪几种?各有什么功能特点?3. FPGA是什么意思?FPGA和CPLD的区别是什么?4. 在一个快速CPU(如ARM)系统中,有外部设备,sdram,flash 等,问程序是运行在SDRAM中还是flash中好?为什么?5. 简述一个CPU的最小系统应该包括什么?PCB layout工程师1. 布线设计有哪几种基本方法?2. 解释什么是模拟电路,模拟信号?3. 说出以下的中文名称:BGA,QFP,SIP,SOP。

海康威视技术支持笔试题

海康威视技术支持笔试题

(一)填空题1.在windons server 2003下若选择安全登录,则首先需要按Ctrl+Alt+Del 组合键2.按网络的覆盖范围划分,网络可分为局域网(LAN)、广域网(WAN)和城域网(MAN)。

3.计算机中的数据都是以二进制码码的形式发送的。

(存储,传输,加工处理的数据或指令)4.ARP请求帧在物理网络中是以广播方式发送的。

5.FTP和HTTP协议在TCP/IP参考模型中属于应用层。

TCP/IP参考模型在网络层定义了IP协议,在传输层定义了传输控制协议TCP和用户数据报UDP,在传输层之上是应用层,它包括了所有的高层协议,并且总是不断有新的协议加入。

应用层的协议主要有:网络终端协议Telnet、文件传输协议FTP、电子邮件协议SMTP、路由协议RIP、网络文件系统NFS和HTTP协。

6.带有奇偶校验的RAID的类型是RAID是“Redundant Array of Independent Disk”的缩写,中文意思是独立冗余磁盘阵列。

RAID 0:无差错控制的带区组 RAID 1:镜象结构RAID2:带海明码校验 RAID3:带奇偶校验码的并行传送RAID4:带奇偶校验码的独立磁盘结构RAID5:分布式奇偶校验的独立磁盘结构7.SQL语言的SELECT命令中,表示条件表达式用WHERE子句,分组用 GROUP BY 子句,排序用 ORDERBY 子句。

8.下列FTTX组网方案中,光纤覆盖面最广的是 FTTHFTTN (光纤到节点) FTTC (光纤到路边)FTTH (光纤到户) FTTZ (光纤到小区)FTTH将光纤直接铺到千家万户,覆盖面是最广的9.HIKVISION 的权限描述为:drwxrw-r~~则该文件类型为:r代表4 w代表2 x代表1 所有者权限是rw,为6所属组权限是r,为4 其他人权限是r,为410.存储器一般分成高速缓冲器、__内存 __和__外存__三个层次,其中___高速缓冲器__是造价最高、存取速度最快。

海康嵌入式笔试题

海康嵌入式笔试题

海康嵌入式笔试题海康嵌入式笔试题1.请问TCP/IP协议分为哪几层FTP协议属于哪一层答:可以分为物理层,数据链路层,网络层,传输层,应用层应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。

传输层:在此层中,它提供了节点间的数据传送,应用程序之间的通信服务,主要功能是数据格式化、数据确认和丢失重传等。

如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。

互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。

如ARP是地址解析协议,在这一层的时候吧IP地址转换为物理地址网络接口层(主机-网络层):接收IP数据报并进行传输,从网络上接收物理帧,抽取IP数据报转交给下一层,对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、SerialLine等)来传送数据。

另外补充一下OSI的七层所对应的协议:应用层(Application):应用程序网关(applicationgateway)Telnet:远程登录(在应用层连接两部分应用程序)FTP(FileTransferProtocol):文件传输协议HTTP(HyperTextTransferProtocol):超文本传输协议SMTP(SimpleMailTransterProtocol):简单邮件传输协议Document number:NOCG-YUNOO-BUYTT-UU986-1986UTPOP3(PostOfficePtotocol):邮局协议SNMP(SimpleNetworkMangementProtocol)简单网络管理协议DNS(DomainNameSystem):域名系统传输层(Transport):传输网关(transportgateway)TCP(TransmissionControlPotocol):传输控制协议(在传输层连接两个网络)UDP(UserDataPotocol):用户数据协议网络层(Internet):多协议路由器(multiprotocolrouter)IP(InternetProtocol):网络协议(在异构网络间转发分组)ARP(AddressResolutionProtocol):地址解析协议RARP(ReverseAddressResolutionProtocol):逆地址解析协议ICMP(InternetControlMessageProtocol):因特网控制消息协议IGMP(InternetGroupManageProtocol):因特网组管理协议BOOTP(Bootstrap):可选安全启动协议数据链路层(DataLink):网桥(bridge)交换机(switcher)HDLC(HighDataLinkControl):高级数据链路控制(在LAN之间存储-转发数据链路针)SLIP(SerialLineIP):串行线路IPPPP(Point-to-PointProtocol):点到点协议等物理层(Physical):中继器(repeater)集线器(hub)(放大或再生弱的信号,在两个电缆段之间复制每一个比特)再回过头来看,ftp是用tcp写的一个文件传输协议,明显就是在应用层了==================================================================== 2.在网络应用中,函数htons,htonl,nt ohs,ntohl的作用htons:把短整型的主机字节顺序转变为网络字节顺序其它依次类推htons一般用来转变端口,htonl一般用来转IP网络字节顺序是先高位字节,再低位字节;主机字节顺序则视cpu而定干脆扩展一点#include<>#include<>#include<>#include<>#include<netinet/>#include<sys/>#include<sys/>intmain(){charstr[]=;in_addr_tr1,r2,r3;structin_addrinp;r1=inet_addr(str);if(r1==-1){printf("inet_addrreturn-1when);}else{printf("inet_addr:ip=%lu\n",ntohl(r1));}r2=inet_network(str);if(r2==-1){printf("inet_networkreturn-1when);}else{printf("inet_network:ip=%lu\n",r2);}r3=inet_aton(str,&inp);if(r3==0){printf("inet_atonreturn-1when);}else{printf("inet_aton:ip=%lu\n",ntohl);}return0;}==================================================================== 3.在c语言中,static函数与普通函数有什么区别1.全局静态变量在全局变量之前加上关键字static,全局变量就被定义成为一个全局静态变量。

海康威视嵌入式软件工程师笔试题分享(含解答)

海康威视嵌入式软件工程师笔试题分享(含解答)

海康威视嵌入式软件工程师笔试题分享(含解答)海康威视嵌入式驱动工程师的题目只包含选择题和简答题,没有编程题。

毫无疑问,C语言基础题依然是最多的(c可是嵌入式的笔尖),又因为是驱动方向,所以关于Linux操作系统和底层方面的题会比较多一点,但是就题目的总体难度而言,其实并不是特别难。

但如果对Linux和驱动方面不是很了解的话,会比较吃亏。

选择题1、若有8个待排序元素,采用冒泡排序和插入排序最大时间复杂度分别是()A.64、24B.64、64C.16、64D.16、16答案:B解答:9大内部排序的时间复杂度和空间复杂度如下表所示:2、下面程序中b的值是()int a[15] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 };int *p = &a[5];int b = p[7];A.14B.13C.11D.12答案:B3、下面哪个命令用来卸载一个内核模块?A.modprobeB.delmodC.unmodD.rmmod答案:D4、使用快速排序对n个数进行排序,其在最佳情况、平均情况、最差情况下的时间复杂度分别是()A.n、nlogn、nlognB.nlogn、nlogn、n^2C.nlogn、nlogn、nlognD.n、nlogn、n^2答案:B5、关于互斥锁的如下表述错误的是()。

A.互斥锁的加锁和解锁必须由同一线程分别对应使用B.互斥锁只能为0/1C.互斥锁的解锁过程不需要关心顺序,只需要成对使用即可D.互斥锁用于线程的互斥答案:C解答:互斥量和信号量的区别:互斥量用于线程的互斥,信号量用于线程的同步。

这是互斥量和信号量的根本区别,也就是互斥和同步之间的区别;互斥量值只能为0/1,信号量值可以为非负整数。

也就是说,一个互斥量只能用于一个资源的互斥访问,它不能实现多个资源的多线程互斥问题。

信号量可以实现多个同类资源的多线程互斥和同步。

当信号量为单值信号量是,也可以完成一个资源的互斥访问;互斥量的加锁和解锁必须由同一线程分别对应使用,信号量可以由一个线程释放,另一个线程得到。

嵌入式笔试题

嵌入式笔试题

嵌入式笔试题嵌入式笔试题第一部分:选择题(每题2分,共10题)1. 以下哪个不是嵌入式系统常用的操作系统?a) Windowsb) Linuxc) FreeRTOSd) VxWorks2. 嵌入式系统中常用的接口类型是?a) Ethernetb) USBc) GSMd) I2C3. 以下选项中,哪个不是嵌入式系统的特点?a) 多任务处理b) 实时处理c) 大内存容量d) 低功耗4. 嵌入式系统的开发过程中,通常使用的编程语言是:a) C/C++b) Javac) Pythond) HTML5. 下列选项中,哪种存储器类型适合用于嵌入式系统?a) 硬盘b) 四层堆栈存储器c) U盘d) 光盘6. 下面哪个选项不是典型的嵌入式系统应用场景?a) 智能手机b) 电视机c) 电饭煲d) 卫星导航系统7. 嵌入式系统中常用的传感器类型是?a) 加速度传感器b) 摄像头c) 雷达d) 扬声器8. 嵌入式系统的调试和测试通常使用的工具是:a) 逻辑分析仪b) 电池测试仪c) 声卡测试仪d) 滤波器9. 嵌入式系统的时钟频率通常是多少?a) 1GHzb) 10MHzc) 100KHzd) 1KHz10. 以下选项中,哪个不是嵌入式系统的开发平台?a) Arduinob) Raspberry Pic) Androidd) STM32第二部分:填空题(每题5分,共5题)1. 嵌入式系统最常用的通信总线是____________。

2. 嵌入式系统中的内存分为____________和____________两类。

3. ____________是一种常用的实时操作系统。

4. I2C总线是一种____________传输协议。

5. 嵌入式系统的主频表示____________。

第三部分:问答题1. 什么是嵌入式系统?请简要描述其特点和应用场景。

嵌入式系统是一种特殊的计算机系统,它被嵌入在其他设备或系统中,用于控制和操作设备的具体功能,而不是提供通用计算能力。

2011年海康威视嵌入式笔试

2011年海康威视嵌入式笔试

2011年海康威视嵌入式笔试题:1、写出你所知道的C 关键字答:答:ANSI C 一共只有32个关键字个关键字: :auto break case char const continue default do double else enum extern float float for for goto if int long register return short signed static sizeof struct switch typedef union unsigned void volatile while2、IPV4分为A B C D E 五类地址,写出B 类地址与C 类知道的范围与子网掩码。

D 类地址的作用。

答:答:B B 类IP 地址范围:地址范围:128.0.0.0128.0.0.0到191.255.255.255默认的子网掩码:默认的子网掩码:255.255.0.0 255.255.0.0C 类IP 地址的范围:地址的范围:192.0.0.0192.0.0.0到223.255.255.255默认的子网掩码:默认的子网掩码:255.255.255.0 255.255.255.0D 类地址用于多点广播(类地址用于多点广播(Multicast Multicast Multicast))。

3、Linux 下多线程编程与多进程编程的区别4、列出目前linux 系统能支持的文件系统,列出常用的4个以上答:答:yaffs yaffs2 cramfs jffs ramdisk ext2 yaffs yaffs2 cramfs jffs ramdisk ext2 nfs5、定义一个标准的宏MIN ,输出两个数中较小的一个。

答:答:#define MIN((A),(B)) ((A)<(B)?(A):(B)) #define MIN((A),(B)) ((A)<(B)?(A):(B))6、什么是MMU ,MMU 的作用答:答:MMU MMU 是Memory Management Unit 的缩写的缩写. . . 针对各种针对各种CPU, MMU 是个可选的配件个可选的配件. MMU . MMU 负责的是虚拟地址负责的是虚拟地址 &O1663;&O1664; &O1663;&O1664; &O1663;&O1664; 物理地址的物理地址的转换转换. . . 提供硬件机制的内存访问授权提供硬件机制的内存访问授权提供硬件机制的内存访问授权. .现 代的多用户多进程操作系统代的多用户多进程操作系统, , , 需要需要MMU, MMU, 才能达到每个用户进程才能达到每个用户进程都拥有自己的独立的地址空间的目标都拥有自己的独立的地址空间的目标. . . 使用使用MMU,OS 划分出一段地址区域区域, , , 在这块地址区域中在这块地址区域中在这块地址区域中, , , 每个进程看到的内容都不一定一样每个进程看到的内容都不一定一样每个进程看到的内容都不一定一样. . . 例例如MICROSOFT WINDOWS 操作系统操作系统, , , 地址地址4M-2G 处划分为用户地址空间处划分为用户地址空间. . 进程A 在地址在地址 0X400000 0X400000映射了可执行文件映射了可执行文件. . . 进程进程B 同样在地址同样在地址 0X400000映射了可执行文件映射了可执行文件. . . 如果如果A 进程读地址0X400000, 0X400000, 读到的读到的是A 的可执行文件映射到RAM 的内容的内容. . . 而进程而进程B 读取地址0X400000时则读到的是B 的可执行文件映射到RAM 的内容的内容. .这就是MMU 在当中进行地址转换所起的作用在当中进行地址转换所起的作用. .7、 C 语言中,修饰符 volatile 含义是什么?其应用场合有哪些? 答:搞嵌入式的童鞋们经常同硬件,中断,答:搞嵌入式的童鞋们经常同硬件,中断,RTOS RTOS RTOS 等打交道,所有这等打交道,所有这些都要求用到volatile volatile 变量。

2012海康威视嵌入式软件、DSP开发笔试题

2012海康威视嵌入式软件、DSP开发笔试题

海康威视2012年校园招聘
嵌入式软件/DSP开发工程师专业知识笔试题(A卷)
1、请写出你所知道的C语言关键字。

2、IPv4把所有的IP地址分为A、B、C、D、E五类。

请写出B类地址和C类地址的范围和掩码,D类地址的用途是什么?
3、请简述在linux中多进程程序和多线程程序的区别。

4、列出目前linux系统能支持的文件系统,列举常用的四个以上。

5、写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个?
6、什么是MMU,MMU的作用?
7、关键字volatile有什么含义,并给出几个应用场合。

8、双向链表操作题:
/*节点定义*/
typedef srruct node
{
struct node *next;
struct node *previous;
}NODE;
/*链表定义*/
typedef struct
{
NODE node;
int count;
} LIST;
#define HEAD node.next
#define TALL node.previous
/*初始化一个链表*/
void lstInit (LIST *pList)
{
pPlist->HEAD=NULL;
pPlist->TALL=NULL;
pPlist->count=0;
}
请编写函数把一个节点(pNode)插入链表pList中某个节点(pPrev)之后。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ls -lt /root
4、linux 下图形用户接口(GUI)编程技术最常用到的库有哪些?(三个以上)
OPENGUI GTK QT
5、用户进程是通过设备文件同硬件打交道的,列出常用的用户进程操作设备 文件的一些系统调用,要求 3 个以上!
open close ioctl map
6、 请列举主流 linux 的发布版本(四个以上)。 Redhat Debian Fedora Centos Ubuntu
htons() 简述: 将主机的无符号短整形数转换成网络字节顺序。//将无符号短整型主机字节
序转换为网络字节序
#include <winsock.h> u_short PASCAL FAR htons( u_short hostshort); hostshort:主机字节顺序表达的 16 位数。 注释: 本函数将一个 16 位数从主机字节顺序转换成网络字节顺序。 返回值: htons()返回一个网络字节顺序的值。 简单地说,htons()就是将一个数的高低位互换 (如:12 34 --> 34 12) VB 表示: MsgBox Hex(htons(&H1234)) 显示值为 3412
1、 并行设备的硬件寄存器(如状态寄存器)。 2、 一个中断服务子程序中会访问到的非自动变量。 3、 多线程应用中被几个任务共享的变量。
7、 请问 TCP/IP 协议分为哪几层?FTP 协议在哪一层?
应用层 主机到主机层(TCP)(又称传输层) 网络层(IP) 网络接口层(又称链路层)
FTP 协议属于应用层。
0xab
0x00000003
0xcd
2、ISO 的七层模型是什么? tcp/udp 属于哪一层?
ISO 七层模型:
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层

TCP/UDP 属于传输层
3、下面是一个中断服务程序的代码,请指出哪些问题?
_interrupt double compute_area(double radius)
现今主流的桌面环境有 KDE,gnome,Xfce,LXDE 等,除此之外还有 Ambient,EDE,IRIX Interactive Desktop,Mezzo,Sugar,CDE 等。
KDE KDE(Kool Desktop Environment)项目始建于 1996 年 10 月,相对于 GNOME 还要早一些。KDE 项目是由图形 Lyx 的开发者、一位名为 Matthias Ettrich 的德国人发起的,目的是为满足普通用户也能够通过简单易用的桌 面来管理 Unix 工作站上的各种应用软件以及完成各种任务。 GNOME GNOME 即 GNU 网络对象模型环境 (The GNU Network Object Model Environment),GNU 计划的一部分,开放源码运动的一个重要组成部分。 是 一种让使用者容易操作和设定电脑环境的工具。 目标是基于自由软件,为 Unix 或者类 Unix 操作系统构造一个功能完 善、操作简单以及界面友好的桌面环境,他是 GNU 计划的正式桌面。 10、linux 系统下主要三类设备文件类型是什么? 字符设备 块设备 网络设备
htons(), ntohl(), ntohs(). 在 Linux 系统下: #include <arpa/inet.h>
uint32_t htonl(uint32_t hostlong); 相关函数: uint16_t htons(uint16_t hostshort); uint32_t ntohl(uint32_t netlong); uint16_t ntohs(uint16_t netshort);
8、 在网络应用中,函数 htons,htonl,ntohs,ntohl 的作用是什么?
答:ntohs() network to host short
简述: 将一个无符号短整形数从网络字节顺序转换为主机字节顺序。 #include <winsock.h> u_short PASCAL FAR ntohs( u_short netshort); netshort:一个以网络字节顺序表达的 16 位数。 注释:
此外,ISR 应该是短而有效率的,在 ISR 中做浮点运算是不明智的。
4、 在多任务系统中, 常见的任务通讯机制有哪些?
答:管道通信 信号通信 共享内存 消息队列 信号量
5、 请实现内存复制函数 void memcpy(void *dst, const void *src, int size)
答:由 src 指向地址为起始地址的连续 size 个字节的数据复制到以 dst
6、 C 语言中,修饰符 volatile 含义是什么?其应用场合有哪些?
答:搞嵌入式的童鞋们经常同硬件,中断,RTOS 等打交道,所有这些都要求用 到 volatile 变量。 一个定义为 volatile 的变量是说这些变量可能会被意想不到的改变,这样,编 译器就不会去假设这个变量的值了,精确的说,优化器在用到这个变量时必须每 次小心的重新读取这个变量的值,而不是使用保存在寄存器里的备份。几个 volatile 的例子:
htonl() 简述: 将主机的无符号长整形数转换成网络字节顺序。//将无符号长整型网络字节
序转换为主机字节序
#include <winsock.h> u_long PASCAL FAR htonl( u_long hostlong); hostlong:主机字节顺序表达的 32 位数。 注释: 本函数将一个 32 位数从主机字节顺序转换成网络字节顺序。 返回值: htonl()返回一个网络字节顺序的值。 参见:
9、 C 语言中 static 函数与普通函数的区别是什么?
在 C 语言中,关键字 static 的作用: 1、 函数体内 static 变量的作用范围为该函数体,不同于 auto 变量,该变 量的内存只被分配一次,因此其值在下次调用时仍维持上次的值。 2、 在模块内的 static 全局变量可以被模块内的所有函数访问,但是不能 被模块外的其他函数访问。 3、 在模块内的 static 函数只可被这一模块模块内的其他函数调用,这个 函数的使用范围被限制在声明他的模块内。 4、 在类的 static 成员变量属于整个类所拥有,对类的所有对象只有一份 拷贝。 5、在类的 static 成员函数属于整个类所拥有,这个函数不接受 this 指针, 因而只能访问类的 static 成员变量。 LINUX 方面的: 1、 列出目前 linux 系统能支持的文件系统, 列出常用的 4 个以上。
海康威视嵌入式与 linux 笔试:
嵌入式笔试:
1、在 32 位机器上,假设一个 32 位的整数 0X1234abcd 保存在从地址 0x00000000 开始的内
存中,那么在 little endian 和 big endian 的机器上, 按字节该整数在内存在的存放顺序
是怎样的?
32 位宽的数 0x1234abcd 在 little-endian 模式 CPU 内存中存放方式为:
指向地址为起始地址的空间内。
void* memcpy( void* dst, const void* src, int size ) {
if (size<0) {printf("Invalid count number !.\n"); return (void*)0;} if(src==NULL||dst==NULL) return (void*)0 ; if ((unsigned int)dst==(unsigned int)src) {printf("The source is equal with the destanation!.\n"); return dst;} char* d = (char*)dst; const char* s = (const char*)src; while(size--) *d++ = *s++; return dst; }
内存地址
存放内容
0x00000000
0xcd
0x00000001
0xab
0x00000002
0x34
0x00000003
0x12
32 位宽的数 0x1234abcd 在 big-endian 模式 CPU 内存中存放方式为:
内存地址
存放内容
0x00000000
0x12
0x00000001
0x34
0x00000002
7、 makefile 的基本写法,完成将 test.c 文件编译成可执行文件 demo 的 makefile 文件。
8、 linux 的基本命令有什么?在控制台 root 根目录下,查找包含字符” hikvision”的文件名,要求使用管道命令而且包含子目录查找。
ls –l | grep hikvision 9、 当前 linux 最主流的两大桌面环境是什么,两者区别是什么?
本函数将一个 16 位数由网络字节顺序转换为主机字节顺序。 返回值:ntohs()返回一个以主机字节顺序表达的数。
ntohl() 简述: 将一个无符号长整形数从网络字节顺序转换为主机字节顺序。 #include <winsock.h> u_long PASCAL FAR ntohl( u_long netlong); netlong:一个以网络字节顺序表达的 32 位数。 注释: 本函数将一个 32 位数由网络字节顺序转换为主机字节顺序。 返回值: ntohl()返回一个以主机字节顺序表达的数。
yaffs yaffs2 cramfs jffs ramdisk ext2 nfs
2、Linux 系统支持驱动模块动态加载的, 请列出驱动模块的入口和出口
相关文档
最新文档