嵌入式系统开发工程师认证考试试题
嵌入式系统是用来控制或者监视机器、装置、工厂等大规模设备的系统。下面是小编整理的关于嵌入式系统开发工程师认证考试试题,欢迎大家参考!
1.什么是平衡二叉树?编写一个删除平衡二叉树的程序?
2.写一个程序,求有向有权图两点之间的最小权?
3.根据你的理解,写出Cstring类的构造函数和析构函数?
4.使用C语言实现对ini文件的访问,使程序可以对int,double,字符串类进行读写。
5.n×n个方格(n为任意整数),定义若两个格有公共边则称两个格相邻。现将 个格中的'N个格子图黑,使每个格子都与黑格子相邻。试编程,使N最小。
ic变量和static 函数各有什么特点?
3.描述一下嵌入式基于ROM的运行方式基于ram的运行方式有什么区别。
有几种状态?
有几种通讯方式?
6.C函数允许重入吗?
7.嵌入式操作系统和通用操作系统有什么差别?
一面,技术面
(1)VxWorks、uc/OS、Palm嵌入式系统操作系统的区别?
(2)做嵌入式软件开发和普通桌面软件开发有什么区别?
(3)c语言问题,union和struct 的区别?
(4)sizeof(一大堆变量),如果用这个函数分配内存的大小一定与定义相同吗?
(5)解释什么是优先级反转。
Can structures be passed to the functions by value?
Why cannot arrays be passed by values to functions?
Advantages and disadvantages of using macro and inline functions?
What happens when recursion functions are declared inline?
Scope of static variables?
Difference between object oriented and object based languages?
Multiple inheritance – objects contain howmany multiply inherited ancestor?
What are the 4 different types of inheritance relationship?
How would you find out the no of instance of a class?
Is java a pure object oriented language? Why?
Order of constructor and destructor call in case of multiple inheritance?
Can u have inline virtual functions in a class?
When you inherit a class using private keyword which members of base class are visible to the derived class?
What is the output of printf(“nabbcdref”); -> ef
#define cat(x,y) x##y concatenates x to y. But cat(cat(1,2),3) does not expand but gives preprocessor warning. Why?
Can you have constant volatile variable? Yes, you can have a volatile pointer?
++*ip increments what? it increments what ip points to
Operations involving unsigned and signed – unsigned will be converted to signed
a+++b -> (a++)+b
malloc(sizeof(0)) will return – valid pointer
main() {fork();fork();fork();printf(“hello world”); } – will print 8 times.
Array of pts to functions – void (*fptr[10])()
Which way of writing infinite loops is more efficient than others? there are 3ways.
# error – what it does?
How is function itoa() written?
Who to know wether systemuses big endian or little endian format and how to convert among them?
What is interrupt latency?
What is forward reference w.r.t. pointers in c?
How is generic list manipulation function written which accepts elements of any kind?
What is the difference between hard real-time and soft real-time OS?
What is interrupt latency? How can you recuce it?
What is the differnce between embedded systems and the system in which rtos is running?
How can you define a structure with bit field members?
What are the features different in pSOS and vxWorks?
How do you write a function which takes 2 arguments – a byte and a field in the byte and returns the value of the field in that byte?
What are the different storage classes in C?
What are the different qualifiers in C?
What are the different BSD and SVR4 communication mechanisms
一位资深的嵌入式项目经理曾这样对我说:搞嵌入式要往下走,要搞底层要搞算法,因为它们比较有前途。
Embedded firmware interview questions
e function in C that gets array of chars, and search for the longest sequence of repeatedly 1 bits. It returns the the first bit place in the sequence and the number of 1 bits in the sequence. – (a) loop of 2^0, 2^1, … , 2^7 is done with 1<
have 16bit register that increment itself and loops about every second. When the register reach 0xffff it will issue an interupt and will run the function update_time(). There is a function unsigned long get_time() that returns the time. You need to implement the two functions. – (a) You need to count every interrupt in order to save the number of seconds. (b) The counter will be the 16bit MSB, and the actual register will be 16bit LSB. (c) If the register will be at ~0xfff0, you will return MSB that is not correct, because you will read the counter, then interrupt will accure and increment by one. Now you have counter that is not correct. (d) You need to check for the (c) problem, and if you catch the problem, you need to read once again the register and the counter before you return them. You depend on the fact the you have about another second until the register will loop.
对嵌入式初学者有必要解释一下什么是firmware,中文为固件,一般跑在DSP上,是比较底层的东西,也是目前比较热门和有挑战性的嵌入式工种。从下面的一则招聘信息中我们也可以知道Firmware大概干些什么。
招聘职位: Firmware engineer/Senior Firmware engineer
职位描述: Firmware Engineer
Responsibility:
Developing or adapting hardware device driver
Developing or adapting embedded application software for Video Codec
Implementing software on system-on-chip solution using a combination of C
and assembly programming languages. Tuning software for performance
Requirements:
d skills developing in C and assembly languages ,
Experience developing and debugging embedded systems
(ARC, ARM, MIPS, SPARC, …)
liar with peripherals and protocols, such as I2C,
UART,USB,LCD,Ethernet,IDE,SD,TCP/IP,RTP…,Knowledge
of Video CODEC standard and principle,
eg: MPEG-1/2/4, H.264 is preferred
at English, team player, positive personality,
and able to work under pressure to meet deadlines.
BS in Electrical Engineering, Computer Science,
Ability to learn and apply new knowledge quickly
职位要求: Senior Firmware
Engineer Responsibility:
Development of embedded software systems for video processing,
involve in all phases of the embedded software development cycle including research, design, implementation, system debug, and -level system firmware integration;
System performance trimming and improvement;
Requirements:
Experience developing and debugging embedded systems
(ARC, ARM, MIPS, SPARC, …),especially in a RTOS
environment(ThreadX,uclinux,MQX)
liar with peripherals and protocols,
such as I2C,UART,USB,LCD,Ethernet,IDE,SD,TCP/IP,RTP…
knowledge of Video CODEC standard and principle,
(eg: MPEG-1/2/4, H.264), hands-on
rience on video encode/decode as well
as video applications(HDTV, streaming media,
HD-DVD, PVR/VOD, networked camera, digital
camcorder/camera, video conferencing,
and/or record-able media) is desirable.
at English, team player, positive personality,
and able to work under pressure to meet deadlines.
-
嵌入式系统特点
嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。因此可以这样理解上述三个面向的含义,即嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的裁减利用。嵌入式系统是将先进的计算...
-
Java用于嵌入式系统的局限
java语言的诸多优点在某些情况下恰恰可能成为其不利于在嵌入式系统中得以广泛应用的绊脚石。yjbys小编下面为你整理了关于Java用于嵌入式系统的局限,希望对你有所帮助。局限1:性能较低由于解释Java字节码比相当的C或C++写的程序运行起来要慢5到10倍,对一些并非受...
-
2016嵌入式开发驱动程序设计的5个窍门
在嵌入式系统的开发中,驱动程序的设计和实施是一个关键组成部分,是满足系统实时性需求的关键。yjbys小编为大家总结了设计驱动程序开发者应该掌握的五个技巧。希望对大家有所帮助!每一个嵌入式应用软件都会在某些时候访问最底层的固件和进行一些硬件控制。驱动的...
-
嵌入式系统接口技术
实际上,嵌入式系统本身是一个外延极广的名词,凡是与产品结合在一起的具有嵌入式特点的控制系统都可以叫嵌入式系统,而且有时很难以给它下一个准确的定义。下面是YJBSY小编整理的嵌入式系统接口技术,希望对你有帮助!1.Flash存储器(1)Flash存储器是一种非易失性存储...