成都纵横自动化有限公司(嵌入式软件开发工程师)面试题
C语言部分:
1.请写出[8768]的二进制表示,以及101 1101的十进制?
2.Byte,sbyte int uint在内存中的大小,以及负数在内存中是怎么表示的?
3.说明ISO的七层参考模型,以及TCP/ip的四层参考模型,并且说明TCP与UDP的区别?
4.int i= 10,j=10,k=3;k*=i+j;k最后的值?
5.一数列的规则如下:1,1,2,3,5,8,13,21,34…………..求第三十位是多少,用递归算法实现,可以写伪代码?
6.操作系统中,什么是临界区,什么是临界资源,举例说明?
7.求数组中的最大数和最小数?
8.字符串的逆序?
9.Linux中的线程,进程以及ucos或者rtos中的任务有什么区别?
10.同步串口与异步串口的区别;有关TTL,RS232,RS422,RS485,这些接口有什么异同?
11.关于cpu的性能,有关“一核一线程”,“一核双线程”,及“四核八线程”有什么差?在本文中“N核N线程”中的“线程“与操作系统的线程,这两则有什么区别?
12.计算机中互联网络与网络互联是什么?
C++语言部分:
1.面向对象的特征是什么,并举例描述?
2.C++中的结构体与C语言的结构有什么区别?
3.C++中的一个类的大小是如何确定大小的?
4.C++中的指针与引用的区别?
5.嵌入式系统中经常用到无线循环,怎么用C语言实现无线循环?
6.请写出BOOL flag 与零值比较的if语句,请写出float x与零比较的if语句,请写出char *p与零值比较的if语句?
7.在C++程序中调用C编译器编译后的函数,为什么要加extern “C” ?
8.C++中什么数据分配在栈和堆区中,New分配数据是近堆还是远堆中?new与malloc有什么区别,及其工作机制?
9.int类型的空间大小,如何让一个char类型的变量占用的内存空间和一个int类型变量占用的空间一致?