我们在找嵌入式方面的工作时,让我们头疼的恐怕就是技术类的面试题了,因为我们摸不到企业的命题规律,也不知道该怎样去准备,今天华清远见的高级嵌入式讲师将各大企业的面试题进行汇总,分享给大家,希望可以帮到各位小伙伴。下方附有答案哦!
一、选择题(8~10为多选题)
1、下面这段代码的输出结果为:
#include
void change(int*a, int&b, int c)
{
c=*a;
b=30;
*a=20;
}
int main ( )
{
int a=10, b=20, c=30;
change(&a,b,c);
printf(“%d,%d,%d,”,a,b,c);
return 0;
}
A 20,30,30
B 10,20,30
C 20,30,10
D 10,30,30
2、FTP服务和SMTP服务的端口默认分别是()
A 20与25
B 21与25
C 20,21与25
D 20与21
3、线性表(a1,a2,…,an)以链接方式存储时,访问第i位置元素的时间复杂性为()
A O(i)
B O(1)
C O(n)
D O(i-1)
4、有一个如下的结构体:
struct A{
long a1;
short a2;
int a3;
int *a4;
};
请问在64位编译器下用sizeof(struct A)计算出的大小是多少?
A 24
B 28
C 16
D 18
5、对一个含有20个元素的有序数组做二分查找,数组起始下标为1,则查找A[2]的比较序列的下标为()
A 9,5,4,2
B 10,5,3,2
C 9,6,2
D 20,10,5,3,2
6、在一个10阶的B-树上,每个树根结点中所含的关键字数目多允许为( )个,少允许为( )个。
A 10,5
B 9,4
C 8,3
D 7,6
7、操作系统采用缓冲技术,通过减少对CPU的()次数,提高资源的利用率。
A 中断
B 访问
C 控制
D 依赖
【多选题】
8、关于红黑树和AVL树,以下哪种说法正确?
A 两者都属于自平衡二叉树
B 两者查找,插入,删除的时间复杂度相同
C 包含n个内部节点的红黑树的高度是O(log(n))
D JDK的TreeMap是一个AVL的实现
9、Servlet的生命周期可以分为初始化阶段,运行阶段和销毁阶段三个阶段,以下过程属于初始化阶段是()。
A 加载Servlet类及.class对应的数据
B 创建serletRequest和servletResponse对象
C 创建ServletConfig对象
D 创建Servlet对象
10、Linux执行ls,会引起哪些系统调用()
A nmap
B read
C execve
D fork
二、简答题
1、简述嵌入式系统的定义、应用和特点?
答:嵌入式系统定义:以应用为中心,以计算机技术为基础,其软硬件可裁剪配置,对功能、可靠性、成本、体积、功耗有严格约束的一种专用计算机系统。
嵌入式系统应用:应用于军事设备、信息终端、汽车电子、制造工业、航天航空等领域。
嵌入式系统特点:专用性、可裁性、实时性好、可靠性高、功耗低。
2、关键字static的作用是什么?
答:在C语言中,关键字static有三个明显的作用:
1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。
大多数应试者能正确回答第一部分,一部分能正确回答第二部分,同是很少的人能懂得第三部分。这是一个应试者的严重的缺点,因为他显然不懂得本地化数据和代码范围的好处和重要性。
参考答案:1~5:ACCAB 6~10:BA ABC ACD BC