当前位置:首页 > 嵌入式培训 > 嵌入式招聘 > 嵌入式面试题 > 嵌入式操作系统面试题拿在手,面试通通不惧

嵌入式操作系统面试题拿在手,面试通通不惧 时间:2018-08-09      来源:未知

学习嵌入式一来是为兴趣,二来就是为了工作了,对于嵌入式工作岗来说,去找一份工作最难的就是面试了,像这种技术性的工作,一般是有笔试的,在这里我总结了一些关于嵌入式操作系统方面的面试题,这是我在微软亚洲技术中心面试时做的,还有答案哦,可以收藏来学习。

1.什么是进程,线程?它们之间的区别和联系是什么?

1.进程和线程的差别。

线程是指进程内的一个执行单元,也是进程内的可调度实体.

与进程的区别:

(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位

(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行

(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.

(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。

面试题: 线程与进程的区别和联系? 线程是否具有相同的堆栈? dll是否有独立的堆栈?

进程是死的,只是一些资源的集合,真正的程序执行都是线程来完成的,程序启动的时候操作系统就帮你创建了一个主线程。

每个线程有自己的堆栈。

DLL中有没有独立的堆栈,这个问题不好回答,或者说这个问题本身是否有问题。因为DLL中的代码是被某些线程所执行,只有线程拥有堆栈,如果DLL中的代码是EXE中的线程所调用,那么这个时候是不是说这个DLL没有自己独立的堆栈?如果DLL中的代码是由DLL自己创建的线程所执行,那么是不是说DLL有独立的堆栈?

以上讲的是堆栈,如果对于堆来说,每个DLL有自己的堆,所以如果是从DLL中动态分配的内存,最好是从DLL中删除,如果你从DLL中分配内存,然后在EXE中,或者另外一个DLL中删除,很有可能导致程序崩溃

2.描述实时系统的基本特性

在特定时间内完成特定的任务,实时性与可靠性

3.测试方法

人工测试:个人复查、抽查和会审

机器测试:黑盒测试和白盒测试

4.如果只想让程序有一个实例运行,不能运行两个。像winamp一样,只能开一个窗口,怎样实现?

用内存映射或全局原子(互斥变量)、查找窗口句柄..

FindWindow,互斥,写标志到文件或注册表,共享内存。.

5.如何截取键盘的响应,让所有的‘a’变成‘b’?

键盘钩子SetWindowsHookEx

6.Apartment在COM中有什么用?为什么要引入?

7.存储过程是什么?有什么用?有什么优点?

我的理解就是一堆sql的集合,可以建立非常复杂的查询,编译运行,所以运行一次后,以后再运行速度比单独执行SQL快很多

8.Template有什么特点?什么时候用?

9.Windows下的内存是如何管理的?

10.C/C++编译器中虚表是如何完成的?

11.谈谈COM的线程模型。然后讨论进程内/外组件的差别。

12.谈谈IA32下的分页机制

小页(4K)两级分页模式,大页(4M)一级

13.在IA32中一共有多少种办法从用户态跳到内核态?

通过调用门,从ring3到ring0,中断从ring3到ring0,进入vm86等等

上面都是在面试中最常见的,有些没有答案,需要你自己来思考,找答案哦。

上一篇:50道经典c语言笔试题(精华)

下一篇:嵌入式面试基本问题,各个都经典

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部