当前位置:文档之家› 嵌入式软件工程师考试大纲(中级)

嵌入式软件工程师考试大纲(中级)

嵌入式软件工程师考试大纲(中级)
嵌入式软件工程师考试大纲(中级)

嵌入式软件工程师考试大纲(中级)

考试性质

通过该课程的学习,能够掌握在嵌入式系统平台上,开发智能仪器、仪表,以解决“高性能、低功耗”的实际应用需求。为深入开展嵌入式系统相关项目研究奠定良好的基础。

考试介绍

1.考试形式:理论。2.考试时间:120分钟。3.考核标准:满分100分,合格60分。考试内容

(一)嵌入式系统概述

嵌入式系统的概念,嵌入式系统的硬件和软件特征,嵌入式系统的设计流程,嵌入式系统的应用领域,嵌入式系统的发展趋势

重点和难点:

嵌入式系统的概念、嵌入式系统的硬件和软件特征和嵌入式系统的应用领域。

嵌入式系统的概念:根据IEEE(电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助操作机器和设备运行的装置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

嵌入式系统的硬件/软件特征

嵌入式系统的硬件必须根据具体的应用任务,以功耗、成本、体积、可靠性和处理能力等为指标来选择。嵌入式系统的核心是系统软件和应用软件,由于存储空间有限,因而要求软件代码紧凑、可靠,大多对实时性有严格要求。早期的嵌入式系统设计方法,通常采用"硬件优先"原则。即在只粗略估计软件任务需求的情况下,首先进行硬件设计与实现。然后,在此硬件平台之上,再进行软件设计。因而很难达到充分利用硬件/软件资源,取得最佳性能的效果。同时,一旦在测试时发现问题,需要对设计进行修改时,整个设计流程就要重新进行,对成本和设计周期的影响很大。这种传统的设计方法只能改善硬件/软件各自的性能,在有限的设计空间不可能对系统做出较好的性能综合优化,在很大程度上依赖于设计者的经验和反复实验。

20世纪90年代以来随着电子系统功能的日益强大和微型化,系统设计所涉及的问题越来越多,难度也越来越大。同时硬件和软件也不再是截然分开的两个概念,而是紧密结合、

相互影响的。因而出现了软硬件协同(codesign)设计方法,即使用统一的方法和工具对软件和硬件进行描述、综合和验证。在系统目标要求的指导下,通过综合分析系统软硬件功能及现有资源,协同设计软硬件体系结构,以最大限度地挖掘系统软硬件能力,避免由于独立设计软硬件体系结构而带来的种种弊病,得到高性能低代价的优化设计方案。

应用领域

嵌入式系统技术具有非常广阔的应用前景,其应用领域可以包括:

工业控制

基于嵌入式芯片的工业自动化设备将获得长足的发展,目前已经有大量的8、16、32 位嵌入式微控制器在应用中,网络化是提高生产效率和产品质量、减少人力资源主要途径,如工业过程控制、数字机床、电力系统、电网安全、电网设备监测、石油化工系统。就传统的工业控制产品而言,低端型采用的往往是8位单片机。但是随着技术的发展,32位、64位的处理器逐渐成为工业控制设备的核心,在未来几年内必将获得长足的发展。

交通管理

在车辆导航、流量控制、信息监测与汽车服务方面,嵌入式系统技术已经获得了广泛的应用,内嵌GPS模块,GSM模块的移动定位终端已经在各种运输行业获得了成功的使用。目前GPS设备已经从尖端产品进入了普通百姓的家庭,只需要几千元,就可以随时随地找到你的位置。

信息家电

这将称为嵌入式系统最大的应用领域,冰箱、空调等的网络化、智能化将引领人们的生活步入一个崭新的空间。即使你不在家里,也可以通过电话线、网络进行远程控制。在这些设备中,嵌入式系统将大有用武之地。

家庭智能管理系统

水、电、煤气表的远程自动抄表,安全防火、防盗系统,其中嵌有的专用控制芯片将代替传统的人工检查,并实现更高,更准确和更安全的性能。目前在服务领域,如远程点菜器等已经体现了嵌入式系统的优势。

POS网络及电子商务

公共交通无接触智能卡(Contactless Smartcard, CSC)发行系统,公共电话卡发行系统,自动售货机,各种智能ATM终端将全面走入人们的生活,到时手持一卡就可以行遍天下。

环境工程与自然

水文资料实时监测,防洪体系及水土质量监测、堤坝安全,地震监测网,实时气象信息网,水源和空气污染监测。在很多环境恶劣,地况复杂的地区,嵌入式系统将实现无人监测。

机器人

嵌入式芯片的发展将使机器人在微型化,高智能方面优势更加明显,同时会大幅度降低机器人的价格,使其在工业领域和服务领域获得更广泛的应用。这些应用中,可以着重于在控制方面的应用。就远程家电控制而言,除了开发出支持TCP/IP的嵌入式系统之外,家电产品控制协议也需要制订和统一,这需要家电生产厂家来做。同样的道理,所有基于网络的远程控制器件都需要与嵌入式系统之间实现接口,然后再由嵌入式系统来控制并通过网络实现控制。所以,开发和探讨嵌入式系统有着十分重要的意义。

现状和发展趋势

发展现状

随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间。美国著名未来学家尼葛洛庞帝99年1月访华时预言,4~5年后嵌入式智能(电脑) 工具将是PC 和因特网之后最伟大的发明。我国著名嵌入式系统专家沈绪榜院士98年11月在武汉全国第11次微机学术交流会上发表的《计算机的发展与技术》一文中,对未来10年以嵌入式芯片为基础的计算机工业进行了科学的阐述和展望。1999年世界电子产品产值已超过12000亿美元,2000年达到13000亿美元,预计2005年,销售额将达18000亿美元。进入20世纪90年代,嵌入式技术全面展开,目前已成为通信和消费类产品的共同发展方向。在通信领域,数字技术正在全面取代模拟技术。在广播电视领域,美国已开始由模拟电视向数字电视转变,欧洲的DVB(数字电视广播)技术已在全球大多数国家推广。数字音频广播(DAB)也已进入商品化试播阶段。而软件、集成电路和新型元器件在产业发展中的作用日益重要。所有上述产品中,都离不开嵌入式系统技术。象前途无可计量的维纳斯计划生产机顶盒,核心技术就是采用32位以上芯片级的嵌入式技术。在个人领域中,嵌入式产品将主要是个人商用,作为个人移动的数据处理和通讯软件。由于嵌入式设备具有自然的人机交互界面,GUI屏幕为中心的多媒体界面给人很大的亲和力。手写文字输入、语音拨号上网、收发电子邮件以及彩色图形、图像已取得初步成效。目前一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,日用范围也将日益广阔。对于企业专用解决方案,如物流管理、条码扫描、移动信息采集等,这种小型手持嵌入式系统将发挥巨大的作用。自动控制领域,不仅可以用于A TM机,自动售货机,工业控制等专用设备,和移动通讯设备结合、GPS、娱乐相结合,嵌入式系统同样可以发挥巨大的作用。近期长虹推出的ADSL产品,结合网络,控制,信息,这种智能化,网络化将是家电发展的新趋势。硬件方面,不仅有各大公司的微处理器芯片,还有用于学习和研发的各种配套开发包。目前低层系统和硬件平台经过若干年的研究,已经相对比较成熟,实现各种功能的芯片应有尽有。而且巨大的市场需求给我们提供了学习研发的资金和技术力量。从软件方面讲,也有相当部分的成熟软件系统。国外商品化的嵌入式实时操作系统,已进入我国市场的有WindRiver、Microsoft、QNX 和Nuclear等产品。我国自主开发的嵌入式系统软件产品如科银(CoreTek)公司的嵌入式软件开发平台DeltaSystem,中科院推出的Hopen嵌入式操作系统(虽然还不够完善)。同时由于是研究热点,所以我们可以在网上找到各种各样的免费资源,从各大厂商的开发文档,到各种驱动,程序源代码,甚至很多厂商还提供微处理器的样片。这对于我们从事这方面的研发,无疑是个资源宝库。对于软件设计来说,不管是上手还是进一步开发,都相对来说比较容易。这就使得很多生手能够比较快的进入研究状态,利于发挥大家的积极创造性。今天嵌入式系统带来的工业年产值已超过了1万亿美元,1997年来自美国嵌入式系统大会(Embedded System Conference)的报告指出,未来5年仅基于嵌入式计算机系统的全数字电视产品,就将在美国产生一个每年1500亿美元的新市场。美国汽车大王福特公司的高级经理也曾宣称,“福特出售的…计算能力?已超过了IBM”,由此可以想见嵌入式计算机工业的规模和广度。

1998年11月在美国加州举行的嵌入式系统大会上,基于RTOS的Embedded Internet成为一个技术新热点。在国内,“维纳斯计划”和“女锅计划”一度闹得沸沸扬扬,机顶盒、信息j家电这两年更成了IT热点,而实际上这些都是嵌入式系统在特定环境下的一个特定应用。据调查,目前国际上已有两百多种嵌入式操作系统,而各种各样的开发工具、应用于嵌入式开发的仪器设备更是不可胜数。在国内,虽然嵌入式应用、开发很广,但该领域却几乎还是空白,只有三两家公司和极少数人员在从事这方面工作。由此可见,嵌入式系统技术发展的空间真是无比广大。

发展趋势

信息时代,数字时代使得嵌入式产品获得了巨大的发展契机,为嵌入式市场展现了美好的前景,同时也对嵌入式生产厂商提出了新的挑战,从中我们可以看出未来嵌入式系统的几大发展趋势:1.嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和软件包支持。目前很多厂商已经充分考虑到这一点,在主推系统的同时,将开发环境也作为重点推广。比如三星在推广Arm7,Arm9芯片的同时还提供开发板和版及支持包(BSP),而WindowCE在主推系统时也提供Embedded VC++作为开发工具,还有Vxworks的Tonado开发环境,DeltaOS 的Limda编译环境等等都是这一趋势的典型体现。当然,这也是市场竞争的结果。2.网络化、信息化的要求随着因特网技术的成熟、带宽的提高日益提高,使得以往单一功能的设备如电话、手机、冰箱、微波炉等功能不再单一,结构更加复杂。这就要求芯片设计厂商在芯片上集成更多的功能,为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如32位、64位RISC芯片或信号处理器DSP增强处理能力,同时增加功能接口,如USB,扩展总线类型,如CAN BUS,加强对多媒体、图形等的处理,逐步实施片上系统(SOC)的概念。软件方面采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期。如HP3.网络互联成为必然趋势。未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种网络通信接口。传统的单片机对于网络支持不足,而新一代的嵌入式处理器已经开始内嵌网络接口,除了支持TCP/IP协议,还有的支持IEEE1394、USB、CAN、Bluetooth或IrDA通信接口中的一种或者几种,同时也需要提供相应的通信组网协议软件和物理层驱动软件。软件方面系统系统内核支持网络模块,甚至可以在设备上嵌入Web浏览器,真正实现随时随地用各种设备上网。4.精简系统内核、算法,降低功耗和软硬件成本。未来的嵌入式产品是软硬件紧密结合的设备,为了减低功耗和成本,需要设计者尽量精简系统内核,只保留和系统功能紧密相关的软硬件,利用最低的资源实现最适当的功能,这就要求设计者选用最佳的编程模型和不断改进算法,优化编译器性能。因此,既要软件人员有丰富的硬件知识,又需要发展先进嵌入式软件技术,如Java、Web和W AP等。5.提供友好的多媒体人机界面嵌入式设备能与用户亲密接触,最重要的因素就是它能提供非常友好的用户界面。图像界面,灵活的控制方式,使得人们感觉嵌入式设备就象是一个熟悉的老朋友。这方面的要求使得嵌入式

软件设计者要在图形界面,多媒体技术上痛下苦功。手写文字输入、语音拨号上网、收发电子邮件以及彩色图形、图像都会使使用者获得自由的感受。目前一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,但一般的嵌入式设备距离这个要求还有很长的路要走。

嵌入式系统设计流程

嵌入式计算系统将必须紧密工作的硬件和软件相结合。嵌入式系统设计人员已将擅长的设计方法发展到用软件来体现系统的部分功能。

早期的硬件/软件协同设计领域的研究人员强调同时进行设计的重要性。系统体系结构一旦确定,硬件和软件可以相对独立地进行设计。协同设计的目标是做出恰当的体系结构决策,允许在以后的实现阶段中独立完成。好的体系结构决策需要恰当的分析方法,因为它们必须满足严格的度量标准,例如实时性能和功耗。

图1-15显示了一般的协同设计方法。给定可行的规格说明,大部分方法进行初始系统分析来确定并行设计的可能性,并可能将规格说明分解为过程。硬件/软件划分选取体系结构,其中一些操作直接由硬件完成,而另一些则由运行在可编程平台上的软件完成。硬件/软件划分生成可以独立实现的模块设计。那些模块随后结合,进行性能或功耗测试,并调试以创建最终的系统。

(点击查看大图)图1-15硬件/软件协同设计的设计流

基于平台的设计是片上系统通常采用的方法。平台允许若干用户将相同的基本平台定制成不同的产品。平台对于基于标准的市场尤其有用,在这种市场中,产品必须支持一些基本功能,而其他功能必须进行定制。

如图1-16所示,基于平台的设计是一个两阶段过程。首先,平台的设计必须建立在系统总体需求(例如,某种标准)和平台应如何定制之上。平台一旦设计完,就可用于设计产品。产品利用平台的功能并添加自己的功能。

图1-16基于平台的设计

平台设计需要几个设计阶段:

应用特征分析将系统需求和软件模型变为基于平台硬件体系结构的更明确的需求。

设计空间搜索评估硬件选项。

体系结构模拟帮助评估和优化体系结构的细节。

必须为平台开发基础软件(硬件抽象层、操作系统端口、通讯、应用库、调试)。

平台的使用比较复杂,因为平台需要用户编程环境。程序员已经习惯了标准平台上丰富的开发环境。那些环境以图形用户界面的方式提供了很多工具—编译器、编辑器、调试器、模拟器。然而丰富的编程环境通常只支持单处理器。多处理器编程更困难,而异构多处理器相比同构多处理器更复杂。平台开发人员必须提供工具使得软件开发人员能够使用平台。有此工具来自CPU组件,其他工具必须从头开发。由于调试访问是依赖于硬件的,因而它尤为重要和困难。进程间通讯也很复杂,但它是应用开发人员的重要工具。

(二)嵌入式系统的硬件构成

了解嵌入式系统的组成结构、嵌入式处理器、存储器、输入输出设备、电源转换与管理、接口技术、扩展装置以及总线结构。熟悉嵌入式微控制器、嵌入式DSP处理器、嵌入式微处理器、嵌入式片上系统的特点和应用场合。

重点和难点:

嵌入式系统的组成结构、嵌入式处理器概念及分类。

嵌入式系统的组成

嵌入式系统由硬件和软件组成,两类不同的嵌

入式系统结构模型见图1.1。硬件是整个嵌入式操

作系统和应用程序运行的平台,不同的应用通常有

不同的硬件环境。嵌入式系统的硬件部分包括处理

器/微处理器、存储器、I/O接口及输入输出设备。

嵌入式系统的软件由嵌入式操作系统和应用程序

组成。嵌入式操作系统完成嵌入式应用的任务调度

和控制等核心功能,嵌入式应用程序运行于操作系

统之上(对于一些简单的嵌入式应用系统,应用程

序可以不需要操作系统的支持,直接运行在底层,

见图1.1(a)),利用操作系统提供的机制完成特定

功能的嵌入式应用。

由于嵌入式系统的灵活性和多样性,图1.1中

各个层次之间缺乏统一的标准,几乎每一个独立的

系统都不一样,这样就给上层的软件设计人员开发

应用程序带来了极大的困难。

1.2.1 嵌入式系统的硬件组成

嵌入式系统的硬件组成见图1.2。

1. 嵌入式处理器

嵌入式系统的核心是各种类型的嵌入式处理器,嵌入式处理器的体系结

构经历了从CISC(复杂指令集)到RISC(精简指令集)和Com pact RISC

的转变,位数则由4位、8位、16位、32位逐步发展到64位。现在常用的嵌

入式处理器可分为低端的嵌入式微控制器(m icrocontroller unit,MCU)、

中高端的嵌入式微处理器(em bedded m icroprocessor unit,EMPU)、嵌

入式DSP处理器(em bedded digital signal processor,EDSP)和高度

集成的嵌入式片上系统(system on a chip,SoC)。目前几乎每个半导体

制造商都生产嵌入式处理器,并且越来越多的公司开始拥有自主的处理器设

计部门。……全文

1.2.2 嵌入式系统的软件组成

1. 嵌入式操作系统

嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层

驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。

嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的

系统资源,能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中

解脱出来,能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系

统相比较,嵌入式操作系统在系统的实时高效性、硬件的相关依赖性、软件固

态化以及应用的专用性等方面具有较为突出的特点。……

嵌入式系统的软件组成

1. 嵌入式操作系统

嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源,能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来,能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入式操作系统在系统的实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。

2. 嵌入式应用软件

嵌入式应用软件是针对特定应用领域,基于某一固定的硬件平台,用来达到用户预期目标的计算机软件。由于用户任务可能有时间和精度上的要求,因此有些嵌入式应用软件需要特定嵌入式操作系统的支持。嵌入式应用软件和普通应用软件有一定的区别,它不仅要求其准确性、安全性和稳定性等方面能够满足实际应用的需要,而且还要尽可能地进行优化,以减少对系统资源的消耗,降低硬件成本。

3.硬件抽象层HAL

硬件抽象层HAL(hardware abstraction layer)是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。也就是说,可通过程序来控制所有硬件电路,如CPU、I/O、存储器等的操作。这样就使得系统的设备驱动程序与硬件设备无关,从而大大提高了系统的可移植性。

4.板级支持包BSP

板级支持包BSP(board support pack age)是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统的一部分,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好地运行于硬件主板。

5.设备驱动程序

计算机系统中安装设备后,只有在安装相应的设备驱动程序之后才能使用,驱动程序为上层软件提供设备的操作接口。上层软件只需调用驱动程序提供的接口,而不用理会设备的具体内部操作。6.操作系统的应用程序接口函数API

API(application programm ing interface)是一系列复杂的函数、消息和结构的集合体。嵌入式操作系统下的API和一般操作系统下的API在功能、含义及知识体系上完全一致。

嵌入式应用软件是实现嵌入式系统功能的关键,对嵌入式系统软件和应用软件的要求也和通用计算机有所不同,嵌入式软件主要有以下一些特点。

●软件要求固化存储。为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或嵌入式微处理器本身中,而不是存贮于磁盘等载体中。

●软件代码要求高质量、高可靠性。尽管半导体技术的发展使处理器速度不断提高、片上存储器容量不断增加,但在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。为此,要求程序编写和编译工具的质量要高,以减小程序二进制代码长度、提高执行速度。

●系统软件(OS)的高实时性是基本要求。在多任务嵌入式系统中,对重要性各不相同的任务进行统筹兼顾的合理调度是保证每个任务及时执行的关键,单纯通过提高处理器速度是无法完成和没有效率的,这种任务调度只能由优化编写的系统软件来完成,因此,系统软件的高实时性是基本要求。

●嵌入式系统软件需要实时多任务操作系统开发平台(RTOS)。为满足实时性应用需求、充分利用硬件资源、增强可靠性和便于开发,实时多任务操作系统成为嵌入式软件必须的系统软件。

●在嵌入式系统的软件开发过程中,采用C语言将是最佳的选择。

嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元。范围极其广阔,从最初的4位处理器,目前仍在大规模应用的8位单片机,到最新的受到广泛青睐的32位,64位嵌入式CPU。

嵌入式处理器

目前世界上具有嵌入式功能特点的处理器已经超过1000种,流行体系结构包括MCU,MPU等30多个系列。鉴于嵌入式系统广阔的发展前景,很多半导体制造商都大规模生产嵌入式处理器,并且公司自主设计处理器也已经成为了未来嵌入式领域的一大趋势,其中从单片机、DSP到FPGA有着各式各样的品种,速度越来越快,性能越来越强,价格也越来越低。目前嵌入式处理器的寻址空间可以从64kB到16MB,处理速度最快可以达到2000 MIPS,封装从8个引脚到144个引脚不等。嵌入式微处理器与普通台式计算机的微处理器设计在基本原理上是相似的,但是工作稳定性更高,功耗较小,对环境(如温度、适度、电磁场、振动等)的适应能力强,体积更小,且集成的功能较多。在桌面计算机领域,对处理器进行比较时的主要指标就是计算速度,从33MHz主频的386计算机到现在3GHz主频的Pentium 4处理器,速度的提升是用户最主要关心的变化,但在嵌入式领域,情况则完全不同。嵌入式处理器的选择必须根据设计的需求,在性能、功耗、功能、尺寸和封装形式、SoC程度、成本、商业考虑等等诸多因素之中进行折中,择优选择。

编辑本段分类

根据其现状,嵌入式处理器可以分成下面几类:

嵌入式微处理器

嵌入式微处理器(Micro Processor Unit,MPU)嵌入式微处理器是由通用计算机中的CPU演变而来的。它的特征是具有32位以上的处理器,具有较高的性能,当然其价格也相应较高。但与计算机处理器不同的是,在实际嵌入式应用中,只

嵌入式处理器

保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。目前主要的嵌入式处理器类型有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM/ StrongARM系列等。其中Arm/StrongArm 是专为手持设备开发的嵌入式微处理器,属于中档的价位。

嵌入式微控制器

嵌入式微控制器(Microcontroller Unit, MCU)嵌入式微控制器的典型代表是单片机,从70年代末单片机出现到今天,虽然已经经过了20多年的历史,但这种8位的电子器件目前在嵌入式设备中仍然有着极其广泛的应用。单片机芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能和外设。和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称微控制器。由于MCU低廉的价格,优良的功能,所以拥有的品种和数量最多,比较有代表性的包括8051、MCS-251、MCS-96/196/296、P51XA、C166/167、68K系列以及MCU 8XC930/931、C540、C541,并且有支持I2C、CAN-Bus、LCD及众多专用MCU和兼容系列。目前MCU占嵌入式系统约70%的市场份额。近来Atmel出产的A vr单片机由于其集成了FPGA等器件,所以具有很高的性价比,势必将推动单片机获得更高的发展。

嵌入式DSP处理器

嵌入式DSP处理器(Embedded Digital Signal Processor, EDSP)DSP处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,具有很高的编译效率和指令的执行速度。在数字滤波、FFT、谱分析等各种仪器上DSP获得了大规模的应用。DSP的理论算法在70年代就已经出现,但是由于专门的DSP处理器还未出现,所以这种理论算法只能通过MPU等由分立元件实现。MPU较低的处理速度无法满足DSP 的算法要求,其应用领域仅仅局限于一些尖端的高科技领域。随着大规模集成电路技术发展,1982年世界上诞生了首枚DSP芯片。其运算速度比MPU快了几十倍,在语音合成和编码解码器中得到了广泛应用。至80年代中期,随着CMOS技术的进步与发展,第二代基于CMOS工艺的DSP芯片应运而生,其存储容量和运算速度都得到成倍提高,成为语音处理、图像硬件处理技术的基础。到80年代后期,DSP的运算速度进一步提高,应用领域也从上述范围扩大到了通信和计算机方面。90年代后,DSP发展到了第五代产品,集成度

更高,使用范围也更加广阔。目前最为广泛应用的是TI的TMS320C2000/C5000系列,另外如Intel的MCS-296和Siemens的TriCore也有各自的应用范围。

SoC片上系统

SoC(system on chip)片上系统SoC追求产品系统最大包容的集成器件,是目前嵌入式应用领域的热门话题之一。SOC最大的特点是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块。而且SOC具有极高的综合性,在一个硅片内部运用VHDL等硬件描述语言,实现一个复杂的系统。用户不需要再像传统的系统设计一样,绘制庞大复杂的电路板,一点点的连接焊制,只需要使用精确的语言,综合时序设计直接在器件库中调用各种通用处理器的标准,然后通过仿真之后就可以直接交付芯片厂商进行生产。由于绝大部分系统构件都是在系统内部,整个系统就特别简洁,不仅减小了系统的体积和功耗,而且提高了系统的可靠性,提高了设计生产效率。由于SOC往往是专用的,所以大部分都不为用户所知,比较典型的SOC产品是Philips的Smart XA。少数通用系列如Siemens的TriCore,Motorola的M-Core,某些ARM系列器件,Echelon和Motorola联合研制的Neuron芯片等。预计不久的将来,一些大的芯片公司将通过推出成熟的、能占领多数市场的SOC芯片,一举击退竞争者。SOC芯片也将在声音、图像、影视、网络及系统逻辑等应用领域中发挥重要作用。

编辑本段嵌入式系统

从软件方面划分,主要可以依据操作系统的类型。目前嵌入式系统的软件主要有三种操作系统:多道批量处理操作系统,实时系统和分时系统。其中实时系统又分为两类:硬实时系统和软实时系统。多道批量处理操作系统一般用于计算中心比较大的计算机系统中。由于其硬件设施比较全,价格高,所以此操作系统十分注意CPU及其他设备的充分利用,追求高的吞吐量,不具备实时性。实时嵌入系统是为执行特定功能而设计的,可以严格的按时序执行功能。其最大的特征就是程序的执行具有确定性。在实时系统中,如果系统在指定的时间内未能实现某个确定的任务,会导致系统的全面失败,则系统被称为硬实时系统。而在软实时系统中,虽然响应时间同样重要,但是超时却不会导致致命错误。一个硬实时系统往往在硬件上需要添加专门用于时间和优先级管理的控制芯片,而软实时系统则主要在软件方面通过编程实现时限的管理。比如Windows CE就是一个多任务分时系统,而Ucos-II则是典型的实时操作系统。

(三)流行嵌入式微处理器(如ARM)编程模型与指令系统

嵌入式微处理器的工作状态,嵌入式体系结构的存储格式,嵌入式微处理器指令格式与数据类型,嵌入式微处理器的工作模式,嵌入式微处理器寄存器组织,嵌入式微处理器的异常,嵌入式微处理器的的寻址方式,嵌入式微处理器的指令系统

重点和难点:

嵌入式微处理器的编程模型、寻址方式和指令系统。

(四)嵌入式系统汇编语言程序设计

伪指令,汇编语言程序设计,汇编编译器,汇编语言与C/C++的混合编程

重点和难点:

汇编语言程序设计方法,汇编语言与C/C++的混合编程方法。

(五)嵌入式系统应用设计

嵌入式系统设计概述,嵌入式微处理器引脚描述和特殊功能寄存器,嵌入式典型应用系统的硬件选型和单元电路设计,嵌入式应用系统设计,硬件系统的检测与调试重点和难点:

嵌入式微处理器的引脚和特殊功能寄存器,嵌入式典型应用系统的硬件选型和单元电路设计、检测与调试。

软件工程师面试问题总结归纳及答案

面试中常见的问题 1、请你自我介绍一下你自己, 回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、 工作经验,这些在简历上都有,其实,企业最希望知道的是求职者能 否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最 积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习 无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得 合情合理企业才会相信。企业很重视一个人的礼貌,求职者要尊重考官,在回答每个问题之后都说一句“谢谢”。企业喜欢有礼貌的求职者。 2、你觉得你个性上最大的优点是什么?回答提示:沉着冷静、条理清楚、立场坚定、顽强向上。乐于助人和关心他人、适应能力和幽默感、乐观和友爱。 3、说说你最大的缺点?回答提示:这个问题企业问的概率很大,通常不希望听到直接回答的缺点是什么等,如果求职者说自己小心眼、爱忌妒人、非常懒、脾气大、工作效率低,企业肯定不会录用你。绝对不要自作聪明地回答“我最大的缺点是过于追求完美”,有的人以为这样回答会显得自己比较出色,但事实上,他已经岌芨可危了。企业喜欢求职者从自己的优点说起,中间加一些小缺点,最后再把问题转回到优点上,突出优点的部分。企业喜欢聪明的求职者。 4、你对加班的看法?回答提示:实际上好多公司问这个问题,并不证明一定要

加班。只是想测试你是否愿意为公司奉献。 回答样本:如果是工作需要我会义不容辞加班。我现在单身,没有任何家庭负担,可以全身心的投入工作。但同时,我也会提高工作效率,减少不必要的加班 5、你对薪资的要求? 回答提示:如果你对薪酬的要求太低,那显然贬低自己的能力;如果你对薪酬的要求太高,那又会显得你分量过重,公司受用不起。一些雇主通常都事先对求聘的职位定下开支预算,因而他们第一次提出的价钱往往是他们所能给予的最高价钱。他们问你只不过想证实一下这笔钱是否足以引起你对该工作的兴趣。 回答样本一:“我对工资没有硬性要求。我相信贵公司在处理我的问题上会友善合理。我注重的是找对工作机会,所以只要条件公平,我则不会计较太多回答样本二:我受过系统的软件编程的训练,不需要进行大量的培训。而且我本人也对编程特别感兴趣。因此,我希望公司能根据我的情况和市场标准的水平,给我合理的薪水。 回答样本三:如果你必须自己说出具体数目,请不要说一个宽泛的范围,那样你将只能得到最低限度的数字。最好给出一个具体的数字,这样表明你已经对当今的人才市场作了调查,知道像自己这样学历的雇员有什么样的价值 6、在五年的时间内,你的职业规划? 回答提示:这是每一个应聘者都不希望被问到的问题,但是几乎每个人都会被

软考数据库系统工程师试题及答案

软考数据库系统工程师 试题及答案 TYYGROUP system office room 【TYYUA16H-TYY-TYYYUA8Q8-

2012年软考数据库系统工程师试题及答案 1.单个用户使用的数据视图的描述称为( ) A.外模式 B.概念模式 C.内模式 D.存储模式 2.子模式ddl 用来描述( ) A.数据库的总体逻辑结构 B.数据库的局部逻辑结构 C.数据库的物理存储结构 D.数据库的概念结构 3.在dbs中,dbms和os之间的关系是( ) A.相互调用 调用os 调用dbms D.并发运行 4.数据库物理存储方式的描述称为( ) A.外模式 B.内模式 C.概念模式 D.逻辑模式 5.在下面给出的内容中,不属于dba职责的是( ) A.定义概念模式 B.修改模式结构

C.编写应用程序 D.编写完整性规则 6.在数据库三级模式间引入二级映象的主要作用是( ) A.提高数据与程序的独立性 B.提高数据与程序的安全性 C.保持数据与程序的一致性 D.提高数据与程序的可移植性 、dbms 和dbs 三者之间的关系是( ) 包括dbms和dbs 包括db和dbms 包括db和dbs D.不能相互包括 中“第三级存储器”是指( ) A.磁盘和磁带 B.磁带和光盘 C.光盘和磁盘 D.快闪存和磁盘 9.位于用户和操作系统之间的一层数据管理软件是( ) 10.数据库系统中的数据模型通常由( )三部分组成 A.数据结构、数据操作和完整性约束 B.数据定义、数据操作和安全性约束

C.数据结构、数据管理和数据保护 D.数据定义、数据管理和运行控制 组织提出的dbtg 报告中的数据模型是( )的主要代表 A.层次模型 B.网状模型 C.关系模型 D.实体联系模型 12.数据库技术的三级模式中,数据的全局逻辑结构用( )来描述 A.子模式 B.用户模式 C.模式 D.存储模式 13.用户涉及的逻辑结构用( )描述 A.模式 B.存储模式 C.概念模式 D.子模式 14.数据库的开发控制,完整性检查,安全性检查等是对数据库的( ) A.设计 B.保护 C.操纵 D.维护 15.( )是控制数据整体结构的人,负责三级结构定义和修改 A .专业用户 B .应用程序员

2013年系统集成项目管理工程师考试大纲

二、考试范围 考试科目1:系统集成项目管理知识1. 信息化基础知识要求熟悉 1.1信息化概念 l信息与信息化 l国家信息化体系要素 l信息系统分类 1.2电子政务 l电子政务的概念、内容和技术形式 l电子政务建设的过程模式和技术模式 1.3企业信息化与电子商务 l企业信息化的概念、目的、规划和方法 l企业资源规划(ERP)的结构和功能 l客户关系管理(CRM)在企业的应用 l企业门户 l企业应用集成 l供应链管理(SCM) l商业智能(BI) l电子商务的类型及相关标准 1.4信息资源开发利用及共享 1.5信息化法规政策标准规范 2. 信息系统服务管理 2.1 信息系统服务管理体系 l信息系统服务管理的内容 l信息系统服务管理的推进 2.2 信息系统集成资质管理

l信息系统集成资质管理的必要性和意义 l信息系统集成资质管理办法(原则、管理办法、工作流程) l信息系统集成资质等级条件 l信息系统项目管理专业技术人员资质管理 2.3 信息系统工程监理资质管理 2.3.1信息系统工程监理 l实施信息系统工程监理的意义 l信息系统工程监理的相关概念、工作内容 l信息系统工程监理事业的发展进程与现状 l信息系统工程监理与信息系统集成 2.3.2信息系统工程监理资质管理 l信息系统工程监理资质管理的必要性和意义 l信息系统工程监理资质管理办法 l信息系统工程监理资质等级条件 l信息系统工程监理人员资质管理 3. 信息系统集成专业技术知识 3.1 系统集成 l系统集成技术的概念、作用、类型、发展 3.2 信息系统建设 l信息系统的生命周期,各阶段目标及其主要工作内容 l信息系统开发方法 3.3 软件工程 l软件需求分析与定义 l软件设计、测试与维护 l软件复用 l软件质量保证及质量评价 l软件配置管理

计算机考试软件工程师试题

考号:006姓名:006剩余时间:01:29:40IP:192.168.0.26网络连接:● 2010年(下)全国信息技术水平考试计算机程序设计技术水平证书(JAVA语言) 考试试卷 第一大题:单选题(30 分) 1. (1分) 下列叙述中正确的是( D ) (A) Java程序经编译后会产生machine code (B) Java程序经编译后会产生byte code (C) Java程序经编译后会产生 DLL (D) 以上都不正确 2. (1分) 下列说法中正确的是( C ) (A) 类中的构造方法声明不可省 略 (B) 构造方法必须与类同名,构造方法返回值为 void (C) 构造方法在一个对象被new时执行 (D) 一个类只能定义一个构造方法 3 . (1分) JDBC常用的类和接口都包含在( A )包中。 (A) java.sql (B) java.awt (C) https://www.doczj.com/doc/e116211263.html,ng (D) java.swing 4. (1分) 执行下列程序后,C的值是( C ) public class Test{ public static void main(String arg[]){ int a=0,c=0; do{ --c; a=a-1; }while(a>0); } } (A) 0 (B) 1 (C) -1 (D) 死循环 5. (1 若有int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是( A )

分) (A) public int MAX_LENGTH=100 (B) final int MAX_LENGTH=100 (C) public const int MAX_LENGTH=100 (D) public final int MAX_LENGTH=100 6. (1分) 在程序中import,package,class出现的正确顺序是( ) (A) import package class (B) package import class (C) package class import (D) import class package 7. (1分) 下列方法中可以用来创建一个新线程的是( ) (A) 实现https://www.doczj.com/doc/e116211263.html,ng.Runnable接口并重写start()方法 (B) 实现https://www.doczj.com/doc/e116211263.html,ng.Runnable接口并重写run()方法 (C) 实现https://www.doczj.com/doc/e116211263.html,ng.Thread类并重写sleep()方法 (D) 实现https://www.doczj.com/doc/e116211263.html,ng.Thread类并重写start()方法 8. (1分) 下列程序的输出结果是( ) public class Test{ public static void main(String[] args){ String a=new String("A"); String b=new String("B"); oper(a,b); System.out.println(a+","+b); } static void oper(String c,String d){ c.concat("B"); d=c; } } (A) A,A (B) 编译正确,运行时将产生错

2019年数据库系统工程师考试大纲共24页

数据库系统工程师考试大纲 一、考试说明 1.考试要求 (1)掌握计算机体系结构以及各主要部件的性能和基本工作原理; (2)掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识; (3)熟练掌握常用数据结构和常用算法; (4)熟悉软件工程和软件开发项目管理的基础知识; (5)熟悉计算机网络的原理和技术; (6)掌握数据库原理及基本理论; (7)掌握常用的大型数据库管理系统的应用技术; (8)掌握数据库应用系统的设计方法和开发过程; (9)熟悉数据库系统的管理和维护方法,了解相关的安全技术; (10)了解数据库发展趋势与新技术; (11)掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识; (12)了解信息化、计算机应用的基础知识; (13)正确阅读和理解计算机领域的英文资料。 2. 通过本考试的合格人员能参与应用信息系统的规划、设计、构建、运行和管理,能按照用户需求,设计、建立、运行、维护高质量的数据库和数据仓库;作为数据管理员管理信息系统中的数据资源,作为数据库管

理员建立和维护核心数据库;担任数据库系统有关的技术支持,同时具备一定的网络结构设计及组网能力;具有工程师的实际工作能力和业务水平,能指导计算机技术与软件专业助理工程师(或技术员)工作。 3. 本考试设置的科目包括 (1)信息系统知识,考试时间为150分钟,笔试; (2)数据库系统设计与管理,考试时间为150分钟,笔试。 二、考试范围 考试科目1:信息系统知识 1. 计算机系统知识 1.1 硬件知识 1.1.1 计算机体系结构和主要部件的基本工作原理 ?CPU和存储器的组成、性能、基本工作原理 ?常用I/O设备、通信设备的性能,以及基本工作原理 ?I/O接口的功能、类型和特点 ?CISC/RISC,流水线操作,多处理机,并行处理 1.1.2 存储系统 ?虚拟存储器基本工作原理,多级存储体系 ?RAID类型和特性

java高级软件工程师面试题

java高级软件工程师面试题 招聘java高级工程师,职位描述如下,有兴趣的加394504340交流,打扰了,谢谢! 职位名称:java高级开发工程师(急) 职位描述:互联网产品的开发和维护。 职位要求:1. 熟悉JAVA、J2EE体系结构,熟练掌握Spring、Struts、Hibernate、ibatis 的开发技术。 2. 熟悉MySql等数据库开发,熟练掌握SQL语句,有较好的数据库设计能力。 3. 熟练掌握HTML、javascript、ajax等web开发技术,熟悉http协议。 4. 熟悉SVN、Maven、Junit等工具。 5. 具有良好的学习能力、沟通能力,乐于承担工作压力。 6. 有大型门户或社区网站开发经验者优先。 职位所在城市:杭州 职位所在行业:高科技 -------------------------========================================================= 1.说一下struts中常用的对象 2.怎样整合apatche和tomcat 3.说一下在linx系统中搭建服务器 4.简述一下sql server 建模 5.请写一个程序,把一个10进制转换成16进制 6.表student 列id name age WA(本科以上,大专,高中,初中以下) 毕业学校ID,学校信息表 问:统计出文化学历本科以上,大专,高中,初中以下,每个年龄各有多少人(一条SQL语句) 7.有两位少年从隧道的一端向另一端行走.当他们走过隧道的五分之二时,发现隧道外面迎来一辆火车.火车很快就要进入隧道.两位少年向来时隧道跑去.两位少年都是每小时10公里.两位在千钧一发跑出了隧道.假设火车速度恒定,并且两位少年都在瞬间达到最大速度,请问火车的速度 8.请写出常用的oracle语句及说明,存储过程的语句及说明 ---------------------------------------------------------------------------------------------------------------------------------

2017年数据库系统工程师试题下午及答案

2017年上半年数据库系统工程师考试下午真题 (参考答案) ●阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。 【说明】 某医疗器械公司作为复杂医疗产品的集成商,必须保持高质量部件的及时供应。为了实现这一目标,该公司欲开发一采购系统。系统的主要功能如下: 1.检查库存水平。采购部门每天检查部件库存量,当特定部件的库存量降至其订货店时,返回低存量部件及库存量。 2.下达采购订单。采购部门针对低存量部件及库存量提交采购请求,向其供应商(通过供应商文件访问供应商数据)下达采购订单,并存储于采购订单文件中。 3.交运部件。当供应商提交提单并交运部件时,运输和接收(S/R)部门通过执行以下三步过程接收货物: (1)验证装运部件。通过访问采购订单并将其与提单进行比较来验证装运的部件,并将提单信息发给S/R职员。如果收货部件项目出现在采购订单和提单上,则己验证的提单和收货部件项目将被送去检验。否则S/R职员提交的装运错误信息生成装运错误通知发送给供应商。(2)检验部件质量。通过访问质量标准来检查装运部件的质量,并将己验证的提单发给检验员。如果部件满足所有质量标准,则将其添加到接受的部件列表用于更新部件库存。如果部件未通过检查,则将检验员创建的缺陷装运信息生成缺陷装运通知发送给供应商。 (3)更新部件库存。库管员根据收到的接受的部件列表添加本次采购数量,与原有库存量累加来更新库存部件中的库存量。标记订单采购完成。 现采用结构化方法对该采购系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。

米圣经答案:E1:供应商E2:采购部E3:检验员E4:库管员E5:S/R 职员

软件工程师考试大纲

一、考试说明 1.考试要求: (1) 掌握数据表示、算术和逻辑运算; (2) 掌握相关的应用数学、离散数学的基础知识; (3) 掌握计算机体系结构以及各主要部件的性能和基本工作原理; (4) 掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识; (5) 熟练掌握常用数据结构和常用算法; (6) 熟悉数据库、网络和多媒体的基础知识; (7) 掌握C程序设计语言,以及C++、Java、Visual、Basic、Visual C++中的一种程序设计语言; (8) 熟悉软件工程、软件过程改进和软件开发项目管理的基础知识; (9) 熟悉掌握软件设计的方法和技术; (10) 掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识; (11) 了解信息化、计算机应用的基础知识; (12) 正确阅读和理解计算机领域的英文资料。 2.通过本考试的合格人员能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档,组织和指导程序员编写、调试程序,并对软件进行优化和集成测试,开发出符合系统总体设计要求的高质量软件;具有工程的实际工作能力和业务水平。 3.本考试设置的科目包括: (1) 计算机与软件工程知识,考试时间为150分钟,笔试; (2) 软件设计,考试时间为150分钟,笔试。 二、考试范围 1.计算机科学基础 1.1 数制及其转换 ?二进制、十进制和十六进制等常用制数制及其相互转换 1.2 数据的表示 ?数的表示(原码、反码、补码、移码表示,整数和实数的机内表示,精度和溢出) ?非数值表示(字符和汉字表示、声音表示、图像表示) ?校验方法和校验码(奇偶校验码、海明校验码、循环冗余校验码) 1.3 算术运算和逻辑运算 ?计算机中的二进制数运算方法 ?逻辑代数的基本运算和逻辑表达式的化简 1.4 数学基础知识 ?命题逻辑、谓词逻辑、形式逻辑的基础知识 ?常用数值计算(误差、矩阵和行列式、近似求解方程、插值、数值积分) ?排列组合、概率论应用、应用统计(数据的统计分析) ?运算基本方法(预测与决策、线性规划、网络图、模拟) 1.5 常用数据结构 ?数组(静态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树、平衡树、线索树、线索树、堆)、图等的定义、存储和操作 ?Hash(存储地址计算,冲突处理) 1.6 常用算法 ?排序算法、查找算法、数值计算方法、字符串处理方法、数据压缩算法、递归算法、图的相关算法 ?算法与数据结构的关系、算法效率、算法设计、算法描述(流程图、伪代码、决策表)、算法的复杂性

CC++软件工程师笔试题...

、估计一下广州有多少理发师,如果允许,你还需要那些调研工作并给出你的推导过程。你认为你的估算结果可信吗? 2、看过那些软件方面的书籍 3、什么是软件,软件开发包括那些步骤,并说出你对这些步骤的理解 4、OSI网络结构的七层模型分别是什么,并说出你认为划分为7层的理由。 5、软件过程中了解、使用过版本控制或建模工具吗对你工作有什么帮助? 6、软件过程中你都写过什么文档分别是什么目的及其对你的帮助? 7、我们知道,C++将内存划分为三个逻辑区域:堆、栈和静态存储,请说出它们的区别及你的理解。 8、字符串A是由n个小写英文字母(a ~ z)构成的,定义为char A[n]。你能用更少的空间表示这个字符串吗请写出从char A[n]到你的新的储存格式的转换函数。(请用C/C++编程,不允许上机操作) 12、对现在的Stack(栈)数据结构进行改进,加一个min()功能,使之能在常数,即O(1),时间内给出栈中的最小值。可对push()和pop()函数进行修改,但要求其时间复杂度都只能是O(1)。 9、C++构造函数为什么不能是虚函数? 10、C++中virtual与inline的含义分别是什么虚函数的特点;内联函数的特点;一个函数能否即是虚函数又是内联函数? 12、请列出实现C++代码你认为需要注意的一些问题。 11、你在原来的项目中有没有遇到什么困难,又是如何解决的? 1 dll,lib处理实现.lib文件中包含什么dll在内存中被多个函数共享,有几个拷贝? 2 template,template等编译的时候作为几个类 3 struct ,class的区别,联系 4 MAcro,inline区别,实现.编译运行时 5 进程与线程区别 6 hdc-cdc区别联系 7 model dialog,modeless dialog,从创建到销毁全过程具体描述 8 各个线程new的内存,别的线程是否可以使用? 9 RUNTIME_CLASS, is what】

高级软件工程师月考试试题A卷带答案

高级软件工程师考试试题(A卷)1、下哪种命名空间中的类型用于创建Windows GUI应用程序。(选择1项) D、 2、判断这PL/SQL 代码块:(选择1项) BEGIN FOR i IN 1..6 LOOP IF i = 2 OR i = 3 THEN null; ELSE INSERT INTO example(one) VALUES (i); END IF; ROLLBACK; END LOOP; COMMIT; END; 有多少行被插入到表 EXAMPLE ? A、0 B、1 C、2 D、3 3、链表具有的特点是:(选择3项) A、不必事先估计存储空间 B、可随机访问任一元素 C、插入删除不需要移动元素 D、所需空间与线性表长度成正比 4、序列图描述对象是如何交互的并且将重点放在消息序列上。(选择1项) A、正确 B、不正确

5、一个XML必须有DTD或Schemas。(选择1项) A、正确 B、不正确 6、动态网站需要的技术为。(选择3项) A、CGI B、HTTP C、ASP D、PHP 7、Linux 文件名的长度不得超过( )个字符?(选择1项)。 A、64 B、128 C、256 D、512 8、在Struts中实现页面跳转主要通过什么方法来实现?(选择1项) A、 B、 C、 D、 9、EJB的优点有哪些?(选择2项) A、技术领先 B、价格低廉 C、性能优越 D、强大的容器支持 10、在使用匿名登录ftp时,用户名为( )? (选择1项) A、login users B、anonymous C、root D、guest 11、你判断下面语句,有什么作用?(选择1项)

软件工程师常见面试题及答案.doc

软件工程师常见面试题及答案 需求调查: 全面了解您的系统概况、应用领域、软件开发周期、软件开发环境、开发组织、时间安排、功能需求、性能需求、质量需求及测试要求等根据系统概况进行项目所需的人员、时间和工作量估计及项目报价。 制定初步的项目计划: 在与您充分共同和协商的基础上制定我们的测试计划。 测试准备: 组织测试团队、培训、建立测试和管理环境等。 测试设计: 按照测试要求进行每个测试项的测试设计,包括测试用例的设计及测试脚本的开发等。 测试实施: 按照测试计划进行实施测试。 测试评估: 根据测试的结果,出具测试评估报告。 2、根据你的经验说说你对软件测试/质量保证的理解? 软件质量保证与测试是根据软件开发阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据和预期的输出结果),并利用这些测试用例去运行程序,以发现错误的过程。它是对应用程序的各个方面进行测试以检查其功能、语言有效性及外观排布.。 3、(1) 你对SQA的职责和工作活动(如软件度量)的理解: SQA就是独立于软件开发的项目组,通过对软件开发过程的监控,来保证软件的开发流程按照指定的CMM规程(如果有相应的CMM规程),对于不符合项及时提出建议和改进方案,必要是可以要高层经理汇报以求问题的解决。通过这样的途径来预防缺陷的引入,从而减少后期软件的维护成本。SQA主要的工作活动包括制定SQA工作计划,参与阶段产物的评审,进行过程质量、功能配置及物理配置的审计等;对项目开发过程中产生的数据进行度量等等;

(2) 说说你对软件配置管理的理解: 项目在开发的过程中要用相应的配置管理工具对配置项(包括各个阶段的产物)进行变更控制,配置管理的使用取决于项目规模和复杂性能及风险的水平。软件的规模越大,配置管理就显得越重要。还有在配置管理中,有一个很重要的概念,那就是基线,是在一定阶段各个配置项的组合,一个基线就提供了一个正式的标准,随后的工作便基于此标准,并且只有经过授权后才能变更这个标准。配置管理工具主要有CC,VSS,CVS等,偶只用过CVS,对其它的不熟悉 (3) 怎样写测试计划和测试用例: 简单点,测试计划里应有详细的测试策略(测试方法等),合理详尽的资源安排等,至于测试用例,那是依赖于需求(包括功能与非功能需求)是否细化到功能点,是否可测试等。 (4) 说说主流的软件工程思想(如CMM,CMMI,RUP,XP,PSP,TSP等)的大致情况以及对它们的理解: CMM:SW Capability Maturity Model 软件能力成熟度模型,其作用是用于软件过程的改进、评估及软件能力的评鉴CMMI:Capability Maturity Model Integration 能力成熟度模型集成CMMI融入了大部分最新的软件管理实践,同时弥补了SW-CMM模型中的缺陷 RUP:rational unified process 是软件工程化过程。 XP:extreme program,即极限编程的意思,适用于小型团队的软件开发,想上面第三个问题就可以结合原型法采用这样的开发流程。要明白测试对于xp开发的重要性,强调测试(重点是单元测试)先行的理念。编程可以明显提高代码的质量,持续集成对于快速定位问题很有好处。 PSP ,TSP 分别是个体软件过程(Personal Software Process),群组软件过程(Team Software Process)大家都知道,CMM只是告诉你怎么做但并没有告诉你如何做,所以PSP/TSP就是告诉你企

经典软件工程师面试题

请参加如下测试,此题是由数十家知名IT企业的人力资源管理部进行 综合分析总结出的测试题,请大家认真完成。 一共 30 道题 ,每题 1 分 ,满分 30 分 1. 如果 A=1,FAT=27,那么 FAITH=? A、44 B、42 C、41 D、40 2. 7/2 × 14/3 + 26/5=() A、1304/15 B、1274/15 C、901/15 D、1261/15 E、以上都不对 3. 如果‘CONTRIBUTE’被写作‘ETBUIRNTOC’,用这种方式写‘POPULARISE’时从左 边数第六个字母是什么? A、R B、I C、A D、L 4. 160的( )%=80的80% A、60 B、30 C、50 D、40 E、以上都不正确 5. 如果用某一编码可以把 ‘STOVE’ 表示成 ‘FNBLK’,那么用此编码可 以把 ‘VOTES’ 表示成如下哪一种? A、LBNKF B、LNBKF

C、LKNBF D、FLKBN 6. 在下列数字系列中有一个数字是错的,请找出来 40 42 49 57 74 100 137 A、100 B、74 C、57 D、49 E、42 7. Rs.6500按照多少的比率才能在5年之后达到Rs.1787.5的利息是 A、4.5 B、6.5 C、7.5 D、3.5 E、以上都不正确 8. 把医生、发烧、药物、药店按照一定的顺序排列: A、药店、药物、发烧、医生 B、发烧、医生、药店、药物 C、医生、药店、药物、发烧 D、药物、医生、药店、发烧 9. 下列5项选择中有4个可以根据一定规律组成一组,哪一个不属于他们? A、重 B、短 C、长 D、轻 E、固体 10. 下列的数字系列中在6之后并且在8之前有多少个3? 3 6 6 8 3 6 6 8 3 6 8 3 6 3 8 3 6 3 8 3 3 8 3 3 9 A、1个 B、2个 C、3个

最新全国计算机软考数据库系统工程师考试大纲汇总

2012全国计算机软考数据库系统工程师考 试大纲

2011全国计算机软考数据库系统工程师考试大纲 一、考试说明 1.考试要求 (1)掌握计算机体系结构以及各主要部件的性能和基本工作原理; (2)掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识; (3)熟练掌握常用数据结构和常用算法; (4)熟悉软件工程和软件开发项目管理的基础知识; (5)熟悉计算机网络的原理和技术; (6)掌握数据库原理及基本理论; (7)掌握常用的大型数据库管理系统的应用技术; (8)掌握数据库应用系统的设计方法和开发过程; (9)熟悉数据库系统的管理和维护方法,了解相关的安全技术; (10)了解数据库发展趋势与新技术; (11)掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识; (12)了解信息化、计算机应用的基础知识; (13)正确阅读和理解计算机领域的英文资料。 2. 通过本考试的合格人员能参与应用信息系统的规划、设计、构建、运行和管理,能按照用户需求,设计、建立、运行、维护高质量的数据库和数据仓库;作为数据管理员管理信息系统中的数据资源,作为数据库管理员建立和维护核心数据库;担任数据库系统有关的技术支持,同时具备一定的网络结构设计及组网能力;具有工程师的实际工作能力和业务水平,能指导计算机技术与软件专业助理工程师(或技术员)工作。

3. 本考试设置的科目包括 (1)信息系统知识,考试时间为150分钟,笔试; (2)数据库系统设计与管理,考试时间为150分钟,笔试。 二、考试范围 考试科目1:信息系统知识 1. 计算机系统知识 1.1 硬件知识 1.1.1 计算机体系结构和主要部件的基本工作原理 ·CPU和存储器的组成、性能、基本工作原理 ·常用I/O设备、通信设备的性能,以及基本工作原理 ·I/O接口的功能、类型和特点 ·CISC/RISC,流水线操作,多处理机,并行处理 1.1.2 存储系统 ·虚拟存储器基本工作原理,多级存储体系 ·RAID类型和特性 1.1.3 安全性、可靠性与系统性能评测基础知识 ·诊断与容错 ·系统可靠性分析评价 ·计算机系统性能评测方法 1.2 数据结构与算法 1.2.1 常用数据结构 ·数组(静态数组、动态数组)

软件工程师面试问题总结归纳及答案

面试中常见的问题 1、请您自我介绍一下您自己, 回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有,其实,企业最希望知道的就是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以与学习无关,也可以与学习有关,但要突出积极的个性与做事的能力,说得合情合理企业才会相信。企业很重视一个人的礼貌,求职者要尊重考官,在回答每个问题之后都说一句“谢谢”。企业喜欢有礼貌的求职者。 2、您觉得您个性上最大的优点就是什么? 回答提示:沉着冷静、条理清楚、立场坚定、顽强向上。 乐于助人与关心她人、适应能力与幽默感、乐观与友爱。 3、说说您最大的缺点? 回答提示:这个问题企业问的概率很大,通常不希望听到直接回答的缺点就是什么等,如果求职者说自己小心眼、爱忌妒人、非常懒、脾气大、工作效率低,企业肯定不会录用您。绝对不要自作聪明地回答“我最大的缺点就是过于追求完美”,有的人以为这样回答会显得自己比较出色,但事实上,她已经岌芨可危了。企业喜欢求职者从自己的优点说起,中间加一些小缺点,最后再把问题转回到优点上,突出优点的部分。企业喜欢聪明的求职者。 4、您对加班的瞧法? 回答提示:实际上好多公司问这个问题,并不证明一定要加班。只就是想测试您就是

否愿意为公司奉献。 回答样本:如果就是工作需要我会义不容辞加班。我现在单身,没有任何家庭负担,可以全身心的投入工作。但同时,我也会提高工作效率,减少不必要的加班 5、您对薪资的要求? 回答提示:如果您对薪酬的要求太低,那显然贬低自己的能力;如果您对薪酬的要求 太高,那又会显得您分量过重,公司受用不起。一些雇主通常都事先对求聘的职位定下开支预算,因而她们第一次提出的价钱往往就是她们所能给予的最高价钱。她们问您只不过想证实一下这笔钱就是否足以引起您对该工作的兴趣。 回答样本一:“我对工资没有硬性要求。我相信贵公司在处理我的问题上会友善合理。我注重的就是找对工作机会,所以只要条件公平,我则不会计较太多 回答样本二:我受过系统的软件编程的训练,不需要进行大量的培训。而且我本人也对编程特别感兴趣。因此,我希望公司能根据我的情况与市场标准的水平,给我合理的薪水。 回答样本三:如果您必须自己说出具体数目,请不要说一个宽泛的范围,那样您将只能得到最低限度的数字。最好给出一个具体的数字,这样表明您已经对当今的人才市场作了调查,知道像自己这样学历的雇员有什么样的价值 6、在五年的时间内,您的职业规划? 回答提示:这就是每一个应聘者都不希望被问到的问题,但就是几乎每个人都会被问到。比较多的答案就是“管理者”。但就是近几年来,许多公司都已经建立了专门的技术途径。这些工作地位往往被称作“顾问”、“参议技师”或“高级软件工程师”等等。当然,说出其她一些您感兴趣的职位也就是可以的,比如产品销售部经理,生产部经理等一些与您的专业有相关背景的工作。要知道,考官总就是喜欢有进取心的应聘者,此时

2018年软考上半年数据库系统工程师考试真题(下午题)

2018 年上半年数据库系统工程师考试真题(下午题) 试题一(共15 分) 阅读下列说明和图,回答问题 1 至问题4,将解答填入答题纸的对应栏内。 【说明】 某医疗护理机构为老人或有护理需求者提供专业护理,现欲开发一基于Web的医疗管理系统,以改善医疗护理 效率。该系统的主要功能如下: (1)通用信息查询。客户提交通用信息查询请求,查询通用信息表,返回查询结果。 (2)医生聘用。医生提出应聘/ 辞职申请,交由主管进行聘用/ 解聘审批,更新医生表,并给医生反馈聘用/ 解聘结果;删除解聘医生出诊安排。 (3)预约处理。医生安排出诊时间,存入医生出诊时间表;根据客户提交的预约查询请求,查询在职医生及 其出诊时间等预约所需数据并返回;创建预约,提交预约请求,在预约表中新增预约记录,更新所约医生出诊时间 并给医生发送预约通知;给客户反馈预约结果。 (4)药品管理。医生提交处方,根据药品名称从药品数据中查询相关药品库存信息,开出药品,更新对应药 品的库存以及预约表中的治疗信息;给医生发送“药品已开出”反馈。 (5)报告创建。根据主管提交的报表查询(报表类型和时间段),从预约数据、通用信息、药品库存数据、医 生以及医生出诊时间中进行查询,生产报表返回给主管。 现采用结构化方法对医疗管理系统进行分析与设计,获得如图1-1 所示的上下文数据流图和图1-2 所示的0 层数据流图。

【问题1】(3 分) 使用说明中的词语,给出图1-1 中的实体E1~E3 的名称。 【问题2】(5 分) 使用说明中的词语,给出图1-2 中的数据存储D1~D5的名称。 【问题3】(4 分) 使用说明和图中的术语,补充图1-2 中缺失的数据流及其起点和终点。 【问题4】(3 分) 使用说明中的词语,说明“预约处理”可以分解为哪些子加工?并说明建模图1-1 和图1-2 如何保持数据流图平衡?

软件开发工程师招聘试题

专业技术资料 附录一 附录一【软件开发工程师招聘试题一】 考试时间:60分钟姓名:______成绩:______ 一、单选题(共9题,每题2分) 1.对象b 最早在以下哪个选项前被垃圾回收?() public class Test5 { static String f(){ String a="hello"; String b="bye"; String c=b+"!"; //lineA String d=b; b=a; //lineB d=a; //lineC return c; //lineD } public static void main(String[] args) { String msg=f(); System.out.println(msg); } } A.lineA B.lineB C.lineC D.lineD 2.2.运行下列代码,结果如何?() class Example { int milesPerGallon; int index; Example(){} Example(int mpg){ milesPerGallon=mpg;

index=0; } public static void main(String[] args) { int index; Example e = new Example(25); if(args.length>0){ if(args[index].equals("Hiway")){ https://www.doczj.com/doc/e116211263.html,esPerGallon=2; } System.out.println("mpg:"+https://www.doczj.com/doc/e116211263.html,esPerGallon); } } } 这段代码通过编译,并且如果命令行输入”Hiway”则显示”mpg:50” ,如果输入不是”Hiway”则显示”mpg:25”; 这段代码通过编译,并且如果命令行输入”Hiway”则显示”mpg:50” ,如果输入不是”Hiway”则抛出ArrayIndexOutputBoundsException异常。 这段代码不能通过编译,因为自动变量index没有被初始化。 这段代码不能通过编译,因为milesPerGallon没有被初始化。 见例子Example.java 3.3.当编译如下代码时,会显示什么?() int i=1; switch(i){ case 0: System.out.println("zero"); case 1: System.out.println("one"); case 2: System.out.println("two"); default: System.out.println("default"); } One B. one,default C. one,two,default D.default 见例子:Test3.java 4.4.当编译运行如下代码时会发生什么现象?() public class MyClass { public static void main(String arguments[] ) { amethod(arguments); } public void amethod(String []arguments){

全国信息化工程师岗位技能证书认证考试考试大纲

全国信息化工程师岗位技能证书认证考试考试大纲 -----计算机操作与应用(信息化办公) 岗位技能描述:该证书获得者掌握操作系统(Windows)、文档处理(Word)、电子表格(Excel)、演示文稿(PPT)、互联网(IE)与电子邮件信息管理(Outlook)等技能,可从事信息化办公操作等工作。 考试大纲(考试内容与要求): 一、操作系统(Windows) (一)Windows的基本知识 (二)Windows基本操作 (三)Windows资源管理器 (四)Windows系统环境设置

(五)Windows附件常用工具 二、文档处理(Word) (一)、Word的基本知识 (二)Word的文件操作和文本编辑 (三)Word的格式与版面 (四)Word的模板与样式

(五)Word表格的建立与编辑 (六)Word图形的制作与编辑 (七)Word对象的插入 (八)Word文档的打印 三、电子表格(Excel)(一)Excel的基本知识 (二)工作表的建立与编辑

(三)公式与函数的使用 (四)数据处理 (五)图表的使用 四、演示文稿(PPT) (一)Powerpoint的基本知识 (二)Powerpoint的基本操作

(三)Powerpoint的格式操作 (四)Powerpoint自定义动画操作 五、计算机网络基础 (一)计算机网络基本知识 (二)Internet基本知识

(三)网络连接 六、Internet应用 (一)IE浏览器的使用 (二)电子邮件的使用 -----计算机操作与应用(Office办公软件) 岗位技能描述:该证书获得者掌握微型计算机系统基本知识。具备操作使用中文Window XP、Word XP、Excel XP、PowerPoint XP、常用工具软件等技能。可从事网络办公应用、网页浏览等工作。考试大纲(考试内容与要求): 一、计算机系统基本知识 (一)计算机的基本概念

java软件开发工程师笔试题(答案)剖析()

Java工程师笔试题 一、填空题(本大题10小题,每空1分,共20分)。 1.Java语言的三大特性即是: 继承、封装、多态。 2.在Java中,char 型采用____unicode_______编码方案,这样,无论是中文字符还是英文字符,都是占用__2___个字节的内存空间。 3. 形式参数指的是方法被__定义____ 时的参数行,实际参数是方法被__调用___ 时所传递进去的变量或值。 4.JSP内置对象中, application对象是代表应用程序上下文,它允许JSP 页面与包括在同一应用程序中的任何Web组件共享信息,而 session 对象则是每个客户专用的。 5.如果想把一个对象写入一个流,那么这个类就必须实现 Seralizable 接口?。 6.程序中实现多线程的方法有两种:继承Thread类和实现___Runable _ 接口。 7.多线程中,可以通过调用相应的 setPriority() 方法来修改一个线程的相对优先级。? 8.面向对象编程的五大设计原则,分别是单一职责、开放封闭、 里氏替换、依赖倒置、接口分离 9.通过Ajax,客户端获取的数据主要有两种类型:文本型和 xml 10.Socket通常也称为套接字,用于描述__ ip 和_ _接口 二、选择题(本大题 20 小题,每小题2分.共40分)。 1.在JAVA中,如果父类中某些方法不包含任何逻辑,并且需要由子类重写.应该使用( )关键字来声明父类的这些方法: A) final B) static C) abstract D) void 2.在JAVA中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是()。 A) interface A extend B,C B) interface A implements B,C C) class A implements B,C D) class A implements B, implements C 3.在JAVA接口中可以定义( )。

软件工程师考试题

软件工程试题 一、单项选择题(每题1分,共10分): 1.()计算机系统就是: A)主机,显示器,硬盘,软驱,打印机等。 B)CPU,存储器,控制器,I/O接口及设备。 C)计算机硬件系统和软件系统。 D)计算机及其应用系统。 2.()产生软件危机的原因主要与两个方面的问题有关: A)软件在计算机中很难识别,存在磁盘中也看不到。 B)软件设计对人的智商要求很高,也要求很高的资金投入。 C)软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的 方法不正确。 D)软件很难理解,硬件也很复杂。 3.()软件开发瀑布模型中的软件定义时期各个阶段依次是: A)可行性研究,问题定义,需求分析。 B)问题定义,可行性研究,需求分析。 C)可行性研究,需求分析,问题定义。 D)以上顺序都不对。 4.()软件维护的四类维护活动是: A)改正性维护,适应性维护,完善性维护和预防性维护。 B)适应性维护,完善性维护,抢救性维护和辅助性维护。 C)改正性维护,适应性维护,完善性维护和辅助性维护。

D)适应性维护,完善性维护,抢救性维护和预防性维护。 5.()可行性研究主要从以下几个方面进行研究: A)技术可行性,经济可行性,操作可行性。 B)技术可行性,经济可行性,系统可行性。 C)经济可行性,系统可行性,操作可行性。 D)经济可行性,系统可行性,时间可行性。 6.()系统逻辑模型主要由以下内容: A)数据流程图,数据字典,简要的算法描述。 B)程序流程图,Jackson图,IPO图。 C)数据流程图,数据字典,ER图。 D)Jackson图,ER图,IPO图。 7.()耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下: A)内容耦合,控制耦合,数据耦合,公共环境耦合。 B)内容耦合,控制耦合,公共环境耦合,数据耦合。 C)内容耦合,公共环境耦合,控制耦合,数据耦合。 D)控制耦合,内容耦合,数据耦合,公共环境耦合。 8.()在详细设计阶段所使用到的设计工具是: A)程序流程图,PAD图,N-S图,HIPO图,判定表,判定树. B)数据流程图,Yourdon图,程序流程图,PAD图,N-S图,HIPO图。 C)判定表,判定树,数据流程图,系统流程图,程序流程图,PAD图,N-S图。 D)判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。 9.()按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:

相关主题
文本预览
相关文档 最新文档