嵌入式系統開發工程師認證考試試題

嵌入式系統是用來控制或者監視機器、裝置、工廠等大規模設備的系統。下面是小編整理的關於嵌入式系統開發工程師認證考試試題,歡迎大家參考!

嵌入式系統開發工程師認證考試試題

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.