分类: LINUX
2008-09-10 17:15:30
1、将一个字符串逆序
2、将一个链表逆序
3、计算一个字节里(byte)里面有多少bit被置1
4、搜索给定的字节(byte)
5、在一个字符串中找到可能的最长的子字符串
6、字符串转换为整数
7、整数转换为字符串
威盛
1.什么是平衡二叉树?编写一个删除平衡二叉树的程序?
2.写一个程序,求有向有权图两点之间的最小权?
3.根据你的理解,写出Cstring类的构造函数和析构函数?
4.使用C语言实现对ini文件的访问,使程序可以对int,double,字符串类进行读写。
5.n×n个方格(n为任意整数),定义若两个格有公共边则称两个格相邻。现将 个格中的N个格子图黑,使每个格子都与黑格子相邻。试编程,使N最小。
1.static变量和static 函数各有什么特点?
3.描述一下嵌入式基于ROM的运行方式基于ram的运行方式有什么区别。
4.task 有几种状态?
5.task 有几种通讯方式?
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("\nab\bcd\ref"); -> 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
1.Write 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< 2.You 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 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:
.Solid skills developing in C and assembly languages ,
Experience developing and debugging embedded systems
(ARC, ARM, MIPS, SPARC, ...)
.familiar 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
.good 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 documentation.Top-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)
.familiar with peripherals and protocols,
such as I2C,UART,USB,LCD,Ethernet,IDE,SD,TCP/IP,RTP…
.Good knowledge of Video CODEC standard and principle,
(eg: MPEG-1/2/4, H.264), hands-on
.experience 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.
.Good at English, team player, positive personality,
and able to work under pressure to meet deadlines.