硬件、嵌入式工程师笔面试
- 格式:docx
- 大小:253.44 KB
- 文档页数:8
1、请用方框图描述一个你熟悉的实用数字信号处理系统,并做简要的分析;如果没有,也可以自己设计一个简单的数字信号处理系统,并描述其功能及用途。
(仕兰微面试题目)2、数字滤波器的分类和结构特点。
(仕兰微面试题目)3、IIR,FIR滤波器的异同。
(新太硬件面题)4、拉氏变换与Z变换公式等类似东西,随便翻翻书把如.h(n)=-a*h(n-1)+b*δ(n) a.求h (n)的z变换;b.问该系统是否为稳定系统;c.写出FIR数字滤波器的差分方程;(未知)5、DSP和通用处理器在结构上有什么不同,请简要画出你熟悉的一种DSP结构图。
(信威dsp软件面试题)6、说说定点DSP和浮点DSP的定义(或者说出他们的区别)(信威dsp软件面试题)7、说说你对循环寻址和位反序寻址的理解.(信威dsp软件面试题)8、请写出【-8,7】的二进制补码,和二进制偏置码。
用Q15表示出0.5和-0.5.(信威dsp软件面试题)9、DSP的结构(哈佛结构);(未知)10、嵌入式处理器类型(如ARM),操作系统种类(Vxworks,ucos,winCE,linux),操作系统方面偏CS方向了,在CS篇里面讲了;(未知)11、有一个LDO芯片将用于对手机供电,需要你对他进行评估,你将如何设计你的测试项目?12、某程序在一个嵌入式系统(200M CPU,50M SDRAM)中已经最优化了,换到零一个系统(300M CPU,50M SDRAM)中是否还需要优化?(Intel)13、请简要描述HUFFMAN编码的基本原理及其基本的实现方法。
(仕兰微面试题目)14、说出OSI七层网络协议中的四层(任意四层)。
(仕兰微面试题目)15、A)(仕兰微面试题目)#i ncludevoid testf(int*p){*p+=1;}main(){int *n,m[2];n=m;m[0]=1;m[1]=8;testf(n);printf("Data value is %d ",*n);}------------------------------B)#i ncludevoid testf(int**p){*p+=1;}main(){int *n,m[2];n=m;m[0]=1;m[1]=8;testf(&n);printf(Data value is %d",*n);}下面的结果是程序A还是程序B的?Data value is 8那么另一段程序的结果是什么?16、那种排序方法最快? (华为面试题)17、写出两个排序算法,问哪个好?(威盛)18、编一个简单的求n!的程序。
求职:嵌入式程C语言笔试面试题求职:嵌入式程C语言笔试(面试)题C语言测试是招聘嵌入式系统程序员以及电子控制类专业求职过程中必须面临的。
从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。
这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这是个愚蠢的问题吗?如要你答出某个字符的ASCII值。
这些问题着重考察你的系统调用和内存分配策略方面的能力吗?这标志着出题者也许花时间在微机上而不是在嵌入式系统上。
如果上述任何问题的答案是"是"的话,那么我知道我得认真考虑我是否应该去做这份工作。
从面试者的角度来讲,一个测试也许能从多方面揭示应试者的素质:最基本的,你能了解应试者C语言的水平。
不管怎么样,看一下这人如何回答他不会的问题也是满有趣。
应试者是以好的直觉做出明智的选择,还是只是瞎蒙呢?当应试者在某个问题上卡住时是找借口呢,还是表现出对问题的真正的好奇心,把这看成学习的机会呢?我发现这些信息与他们的测试成绩一样有用。
下面这些令人头痛的考题能给正在找工作的人一点帮助。
其中有些题很难,但它们应该都能给你一点启迪。
这个测试适于不同水平的应试者,大多数初级水平的应试者的成绩会很差,经验丰富的程序员应该有很好的成绩。
为了让你能自己决定某些问题的偏好,每个问题没有分配分数,如果选择这些考题为你所用,请自行按你的意思分配分数。
预处理器(preprocessor)1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_pER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,2)懂得预处理器将为你计算常数表达式的'值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。
3) 意识到这个表达式将使一个16位机的整型数溢出-因此要用到长整型符号L,告诉编译器这个常数是的长整型数。
嵌入式系统工程师常见面试题在嵌入式系统工程领域,面试是企业筛选合适人才的重要环节。
以下是一些常见的嵌入式系统工程师面试题,涵盖了硬件、软件、操作系统等多个方面。
一、硬件相关1、请简述一下电阻、电容、电感的基本特性及其在电路中的作用。
电阻主要用于限制电流、分压和产生热量。
电容可以存储电荷,用于滤波、耦合和定时等电路。
电感则能储存磁场能量,常用于滤波、谐振和变压器等。
2、解释一下什么是 PCB(印刷电路板)布线的阻抗控制,以及为什么它很重要?PCB 布线的阻抗控制是确保信号在传输过程中保持稳定和减少反射的关键。
不同的信号速率和频率对阻抗有特定要求。
如果阻抗不匹配,会导致信号失真、噪声增加和传输错误,影响系统的性能和可靠性。
3、谈谈你对ADC(模数转换器)和DAC(数模转换器)的理解,包括它们的工作原理和主要性能指标。
ADC 将模拟信号转换为数字信号,工作原理有逐次逼近型、积分型等。
主要性能指标包括分辨率、转换精度、转换速度等。
DAC 则相反,将数字信号转换为模拟信号。
其性能指标类似 ADC,但还包括建立时间等。
4、如何降低系统的功耗,特别是在嵌入式设备中?可以从多个方面入手,如选择低功耗的芯片和器件,优化电路设计,合理设置电源管理模式,采用动态电压频率调整技术,以及在软件中控制硬件模块的电源开关等。
二、软件相关1、解释一下什么是中断,以及在嵌入式系统中如何处理中断?中断是指 CPU 在执行正常程序时,由于外部事件或内部异常而暂停当前程序,转而去执行相应的中断服务程序。
在嵌入式系统中,需要设置中断向量表,配置中断优先级,编写中断服务程序,并确保中断处理的及时性和准确性。
2、描述一下你对实时操作系统(RTOS)的理解,以及它与普通操作系统的区别。
实时操作系统强调任务的确定性和及时性,能在规定的时间内完成关键任务。
与普通操作系统相比,它具有更短的中断响应时间、更严格的任务调度策略和更高的可靠性。
3、谈谈你对 C 和 C++在嵌入式系统开发中的应用和优缺点。
笔面试题1、技术类(1)描述一下你的项目(2)单片机I/O 口需要注意的问题驱动能力不强,高电平驱动时需要加上拉电阻;电平匹配,xx 或分组。
51单片机的P0 口常用作数据线和低8位地址线、P2常用作高8 位地址线。
3)单片机不能启动的原因1 )晶振没有振荡,测量晶振是否起振;2)一直在复位状态,检查复位电路;3)程序飞了,检查程序;4)程序编制错误,检查程序;5)单片机坏了,更换单片机芯片;6)硬件电路错误。
4)单片机最小系统1)复位电路:当引脚9出现2个机器周期以上高电平时,单片 机复位,程序从头开始运行。
VCCYC C^22uFt - IKr GND+ CRESET R11KGND(a)上电复位电路VCCS1IE22Q F RESET R10K T GND外部复伎电路2)时钟电路:有振荡器电路产生频率等于晶振频率, 这时用的是外界晶振也可以又外部单独输入,此时XTAL2脚接地,时钟信号由XTAL1 输入。
3)电源电路:VCC J口GND弓I脚。
4)程序下载电路。
(并不严格包含)(5)xx 结构和xxxx 结构哈佛结构:是一种将程序指令储存和数据储存分开的存储器结构。
首先到程序指令储存器中读取程序指令内容,解码后得到数据地址,再到相应的数据储存器中读取数据,并进行下一步的操作(通常是执行)。
程序指令储存和数据储存分开,数据和指令的储存可以同时进行,可以使指令和数据有不同的数据宽度,与xx. 诺曼结构处理器比较,哈佛结构处理器有两个明显的特点:1 、使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;2、使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,而这两条总线之间毫无xx。
改进的哈佛结构,其结构特点为:1 、使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存,以便实现并行处理;2、具有一条独立的地址总线和一条独立的数据总线,利用公用地址总线访问两个存储模块(程序存储模块和数据存储模块),公用数据总线则被用来完成程序存储模块或数据存储模块与CPU之间的数据传输;哈佛结构的微处理器通常具有较高的执行效率。
嵌入式系统工程师面试题在当今科技迅速发展的时代,嵌入式系统工程师的需求日益增长。
对于招聘企业来说,如何筛选出合适的嵌入式系统工程师至关重要。
以下是一些常见的嵌入式系统工程师面试题,希望能帮助企业找到理想的人才。
一、基础知识1、请简要介绍一下嵌入式系统的概念和特点。
嵌入式系统是一种以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。
其特点包括专用性强、实时性高、资源受限、可靠性高、软件固化等。
2、谈谈你对微控制器(MCU)和微处理器(MPU)的理解,以及它们在嵌入式系统中的应用场景。
微控制器通常集成了处理器核心、存储器、I/O 接口等,具有体积小、成本低、功耗低的特点,适用于控制简单、成本敏感的应用,如家电控制、小型仪器仪表等。
微处理器则具有更强大的计算能力和更丰富的接口,常用于复杂的计算任务和高性能的嵌入式系统,如智能手机、平板电脑等。
3、解释一下什么是实时操作系统(RTOS),并列举几种常见的RTOS。
实时操作系统是指能够在规定的时间内完成特定任务的操作系统。
它具有响应迅速、确定性高的特点。
常见的 RTOS 有 FreeRTOS、RTX、uC/OS 等。
4、简述嵌入式系统中常见的存储设备类型,如 Flash、EEPROM、SRAM 等,并说明它们的特点和应用场景。
Flash 具有非易失性、大容量、成本低的特点,常用于存储程序和数据。
EEPROM 可以按字节擦写,适用于存储少量需要频繁修改的数据。
SRAM 速度快,但成本高、容量小,常用于高速缓存。
二、编程语言和开发工具1、您在嵌入式系统开发中常用的编程语言是什么?请分享一些使用该语言的经验和技巧。
C 和C++是嵌入式系统开发中常用的编程语言。
在使用C 语言时,要注意指针的正确使用,避免内存泄漏和越界访问。
C++中的面向对象特性可以提高代码的可维护性和可扩展性,但要注意资源的管理。
2、谈谈你对嵌入式系统开发中交叉编译的理解,以及如何进行交叉编译。
硬件工程师笔试及面试题硬件工程师是现代科技领域中非常重要的职业之一。
作为硬件工程师,他们负责设计、开发、测试和维护各种电子、计算机和通信设备。
他们需要掌握电子学、计算机科学、物理学以及相关工程知识,并且具备解决问题和创新的能力。
在笔试和面试中,考官通常会通过提问来评估候选人的知识水平和技能。
以下是一些可能出现在硬件工程师笔试和面试中的问题,供大家参考:1. 请介绍一下你的学术背景和工作经验。
2. 你能解释一下硬件和软件之间的关系吗?3. 你了解什么是集成电路吗?它在硬件工程中的应用是什么?4. 什么是逻辑门?请举例说明。
5. 你熟悉哪些编程语言?你最擅长的编程语言是哪个?6. 请描述一下你设计和开发过的硬件项目。
7. 在硬件设计中,你是如何处理电路噪声和干扰的?8. 你有使用过EDA软件吗?请举例说明你使用过的软件和其功能。
9. 在设计数字电路时,你会使用哪些方法来提高性能和减少功耗?10. 你了解什么是嵌入式系统吗?你有经验在嵌入式系统设计中吗?11. 在硬件测试中,你会使用什么方法来确认电路设计的正确性和稳定性?12. 请描述一下你在解决复杂问题时的思考和解决方法。
13. 你有参与过多人合作的项目吗?你在团队合作中扮演的角色是什么?这些问题只是硬件工程师面试中的一部分,面试官还可能会询问一些专业细节或者要求候选人解决实际问题。
因此,作为一名准备参加硬件工程师面试的候选人,除了对基础知识进行充分准备外,还需要注重解决问题的能力和实际项目经验的阐述。
此外,除了面试问题,面试官还可能要求候选人在面试过程中进行一些实际操作或者解决某个特定问题的思考过程。
在这种情况下,候选人需要有一定的实操能力,并能利用所学知识解决实际问题。
总结起来,硬件工程师的笔试和面试主要考察候选人的专业知识、实际操作能力和解决问题的能力。
通过准备这些常见问题的答案,并结合实际操作经验,候选人可以在面试中展示自己的能力,从而获得这一职位。
嵌入式软件工程师笔试面试指南
作为一名嵌入式软件工程师,最重要的是掌握嵌入式系统开发涉及的技术和工具。
下面是一些笔试面试指南,希望能对你有所帮助:
1. 电脑组成部件和结构:理解微处理器、微控制器和单片机的概念,掌握计算机体系结构和原理,了解芯片、电路板、输入输出接口等硬件结构和性能指标。
2. 嵌入式系统架构:包括选择硬件平台和操作系统等方面的决策,确保系统以最优的计算、存储和网络能力为用户提供高效和高质量的服务。
3. C/C++语言编程和开发工具:掌握C/C++编程技术,熟练掌握C/C++的语法和常用算法。
了解C/C++开发工具(如Keil、IAR等)等。
4. 嵌入式系统调试和维护:了解调试、优化和维护嵌入式系统的方法和工具,了解使用调试器、示波器、测试台、仿真器等工具的方法。
5. 嵌入式通信协议和网络技术:了解各种嵌入式通信协议和网络技术(如SPI、I2C、CAN、以太网、Wi-Fi等),掌握网络协议的实现和应用。
6. 实时操作系统(RTOS):了解实时操作系统的特点和工作原理,掌握调度器的编写、管理和优化,熟悉常用的RTOS系统(如FreeRTOS、uC/OS等)。
7. 嵌入式应用开发:了解嵌入式应用开发的方法和流程,包括软件需求分析、设计、编码、测试和上线等。
希望上述指南对您有所帮助,在应聘时,除了掌握以上基本技能外,也要充分表现出解决问题的能力和团队协作能力。
祝您面试成功!。
嵌入式系统工程师常见面试题嵌入式系统工程师是一个需要具备深厚技术功底和实践经验的职业。
在面试过程中,面试官通常会提出一系列问题来考察应聘者的专业知识、技能和解决问题的能力。
以下是一些常见的面试题:1、请简要介绍一下嵌入式系统的概念和特点。
嵌入式系统是一种以应用为中心,以计算机技术为基础,软硬件可裁剪,适应对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
其特点包括:专用性强,通常针对特定的应用场景进行设计和优化;实时性要求高,需要在规定的时间内完成特定的任务;资源受限,如处理器性能、内存容量、存储空间等相对有限;功耗低,以满足在电池供电或能源有限的环境中长时间运行的需求;可靠性高,能够在恶劣的环境下稳定工作。
2、谈谈你对嵌入式操作系统的了解,列举几种常见的嵌入式操作系统。
嵌入式操作系统是运行在嵌入式硬件平台上的操作系统,它负责管理系统资源、提供任务调度、内存管理、设备驱动等功能。
常见的嵌入式操作系统有:μC/OSII,具有小巧、开源、可裁剪的特点,适用于小型嵌入式系统;FreeRTOS,免费开源,具有良好的可移植性和扩展性;Linux 嵌入式版本,如 Embedded Linux,功能强大,资源丰富,适用于复杂的嵌入式应用;VxWorks,具有高实时性和可靠性,常用于航空航天、军事等领域。
3、什么是中断?在嵌入式系统中如何处理中断?中断是指计算机在执行程序的过程中,由于外部事件或内部异常等原因,需要暂停当前程序的执行,转而执行相应的中断处理程序。
在嵌入式系统中,处理中断通常包括以下步骤:首先,硬件产生中断信号;然后,处理器响应中断,保存当前程序的上下文(如寄存器的值);接着,根据中断向量表跳转到相应的中断处理程序;在中断处理程序中完成对中断事件的处理;最后,恢复之前保存的上下文,继续执行被中断的程序。
4、请描述一下嵌入式系统中的存储设备,如 Flash 和 SRAM 的特点和用途。
Flash 存储器具有非易失性,即掉电后数据不会丢失。
嵌入式系统工程师面试题及答案一、基础知识1、什么是嵌入式系统?答:嵌入式系统是一种以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。
它通常嵌入在其他设备或产品中,用于控制、监测或执行特定的任务。
2、嵌入式系统的特点有哪些?答:嵌入式系统具有以下特点:专用性强:针对特定应用需求进行定制开发。
实时性要求高:需要在规定的时间内完成任务响应。
资源受限:处理器性能、内存容量、存储等资源相对有限。
功耗低:通常要求在电池供电或低功耗环境下长时间运行。
可靠性高:在恶劣环境下稳定工作,故障率低。
3、列举几种常见的嵌入式处理器架构。
答:常见的嵌入式处理器架构有:ARM、MIPS、PowerPC、X86 等。
4、什么是中断?中断处理的过程是怎样的?答:中断是指计算机在执行程序过程中,遇到需要紧急处理的事件时,暂停当前程序的执行,转而去执行相应的中断服务程序。
中断处理的过程通常包括:中断请求、中断响应、中断处理、中断返回。
二、操作系统1、列举几种常见的嵌入式操作系统。
答:常见的嵌入式操作系统有:Linux、μC/OSII、FreeRTOS、VxWorks 等。
2、实时操作系统和非实时操作系统的区别是什么?答:实时操作系统对任务的响应时间有严格的要求,必须在规定的时间内完成任务处理,否则可能导致系统故障或错误。
非实时操作系统则对任务响应时间没有严格限制,更注重系统的资源利用率和功能完整性。
3、简述嵌入式操作系统的任务调度算法。
答:常见的任务调度算法有:优先级调度:根据任务的优先级来决定任务的执行顺序,优先级高的任务先执行。
时间片轮转调度:将 CPU 时间分成固定的时间片,每个任务轮流获得时间片执行。
混合调度:结合优先级和时间片轮转的调度方式。
三、编程语言1、嵌入式系统中常用的编程语言有哪些?答:C 语言和C++语言是嵌入式系统中最常用的编程语言。
此外,还有汇编语言、Python 等在特定场景下也会使用。
第1篇一、基础知识1. 问题:简述嵌入式系统的定义和特点。
答案:嵌入式系统是指将计算机技术应用于特定领域,将硬件和软件结合在一起,形成具有特定功能的独立系统。
其特点包括:实时性、可靠性、低功耗、小体积、低成本等。
2. 问题:嵌入式系统与通用计算机系统的区别有哪些?答案:嵌入式系统与通用计算机系统的区别主要有以下几点:(1)设计目标不同:嵌入式系统面向特定应用,通用计算机系统面向通用应用;(2)硬件资源不同:嵌入式系统硬件资源有限,通用计算机系统硬件资源丰富;(3)软件系统不同:嵌入式系统软件系统相对简单,通用计算机系统软件系统复杂;(4)实时性要求不同:嵌入式系统对实时性要求较高,通用计算机系统实时性要求较低。
3. 问题:嵌入式系统中的CPU有哪些特点?答案:嵌入式系统中的CPU具有以下特点:(1)低功耗:为了满足嵌入式系统对功耗的要求,CPU需要具备低功耗的特性;(2)高性能:为了提高嵌入式系统的处理速度,CPU需要具备高性能的特性;(3)可扩展性:为了适应不同的应用需求,CPU需要具备可扩展性;(4)集成度:为了减小嵌入式系统的体积,CPU需要具备高集成度。
4. 问题:什么是嵌入式系统中的裸机?答案:嵌入式系统中的裸机是指没有操作系统和应用程序的CPU。
裸机主要用于学习和实验,也可以用于一些对实时性要求较高的应用。
5. 问题:什么是嵌入式系统中的实时操作系统(RTOS)?答案:实时操作系统(RTOS)是一种专门为实时应用设计的操作系统。
它具有以下特点:(1)实时性:RTOS能够满足实时应用对时间的要求;(2)可靠性:RTOS具有较高的可靠性,能够保证系统稳定运行;(3)可预测性:RTOS的性能可预测,便于应用开发。
二、硬件知识1. 问题:简述嵌入式系统中常用的存储器类型及其特点。
答案:嵌入式系统中常用的存储器类型及其特点如下:(1)RAM(随机存储器):用于存储临时数据,断电后数据会丢失;(2)ROM(只读存储器):用于存储程序代码,断电后数据不会丢失;(3)Flash(闪存):具有RAM和ROM的特点,既可读写,又可断电保存数据;(4)EEPROM(电可擦可编程只读存储器):可擦写,断电后数据不会丢失。
硬件工程师岗位面试题及答案1.请介绍一下您在控制系统硬件设计方面的经验和项目经历。
答:在上一家公司,我负责设计并成功实施了一套复杂的工业控制系统,涵盖了电路设计、传感器集成以及通信协议的开发。
该系统在提高生产效率的同时,降低了能耗,取得了显著的成果。
2.对于硬件设计中的EMC问题,您有哪些经验和解决方法?答:在之前的项目中,我经常面对电磁兼容性问题。
通过使用滤波器、地线设计的优化以及合理的电路布局,我成功地降低了电磁辐射水平,确保系统符合相关标准。
3.在设计控制系统时,如何平衡成本和性能?能否分享一些实际案例?答:我通常采用模块化设计,选择成本效益最高的元器件,并在性能需求与成本之间找到最佳平衡点。
在上一次项目中,通过巧妙的设计,我们在不影响性能的前提下,成功地降低了硬件成本。
4.您对现代通信协议(如CAN、Ethernet等)有何了解?请分享在控制系统中应用的经验。
答:我在先前的项目中广泛应用了CAN总线和Ethernet通信协议。
通过合理的网络拓扑结构和协议选择,确保了实时性和稳定性,提高了系统的可靠性。
5.如何处理硬件故障排查,您有哪些实际经验和方法?答:我在项目中遇到过各种硬件故障,我会采用逐步排查的方法,结合测试仪器进行测量和分析。
通过分析故障日志和使用仿真工具,我能够快速定位问题并提出有效的解决方案。
6.在团队协作中,您如何与软件工程师合作以确保控制系统的协调性?答:我会定期与软件团队进行沟通,确保硬件和软件之间的接口定义清晰,并共同制定测试计划以验证系统的完整性。
我们通常采用迭代开发方法,及时解决硬件与软件集成中出现的问题。
7.对于嵌入式系统的设计,您有哪些关键考虑因素?答:嵌入式系统设计中,我注重功耗优化、系统稳定性和对实时性的要求。
在一个航空电子系统的项目中,我成功设计了一个低功耗、高可靠性的嵌入式硬件系统,确保其在各种环境下都能稳定运行。
8.在工程项目中,您是如何管理时间和资源的?答:我通常使用项目管理工具,确保任务按时完成。
嵌入式软件工程师笔试面试指南嵌入式软件工程师是负责开发嵌入式系统的专业人员。
他们需要具备深厚的软件开发技术和嵌入式系统的知识,以便能够设计、开发和调试嵌入式软件。
在面试嵌入式软件工程师时,面试官通常会针对软件开发能力、嵌入式系统知识、问题解决能力等方面进行考察。
以下是针对嵌入式软件工程师面试的参考内容。
1. 基础知识考察:- 通信协议:要求候选人熟悉常见的嵌入式系统通信协议,如UART、SPI、I2C、CAN等,并能解释其工作原理和应用场景。
- 操作系统:考察候选人对于不同嵌入式操作系统的了解程度,例如RTOS、Linux、Android等,并询问其优缺点和适用情况。
- 编程语言:了解候选人在C、C++、Python等编程语言上的熟练程度,包括语法、特性、嵌入式开发相关的库函数等。
- 硬件基础:考察候选人对于嵌入式系统硬件架构的了解,如微处理器、单片机、外设等,以及算法和数据结构的知识。
2. 设计能力考察:- 代码设计:询问候选人对于面向对象设计的理解和运用,能否合理划分模块、考虑代码复用和维护性,使用UML等工具进行程序设计。
- 系统设计:考察候选人对于整个嵌入式系统的设计能力,包括软硬件结合、各个模块的数据流程、任务划分和资源管理等。
- 驱动设计:询问候选人是否有开发硬件驱动程序的经验,并了解其对于硬件和软件协同工作的理解和解决问题的能力。
3. 调试和问题解决:- 面试者需要证明他们具有解决问题和调试故障的能力。
这可以通过提供一些案例或实际问题,让他们描述他们遇到的问题以及解决这些问题时采取的步骤。
- 面试者应展示他们在调试和问题解决方面的创造性和灵活性。
重点是他们的思考方式和他们在解决问题时采取的方法。
4. 项目经验考察:- 根据候选人的简历,了解他们在嵌入式系统开发方面的项目经验。
并对其在项目中扮演的角色、面对的挑战、解决的问题以及取得的成就进行详细询问。
- 通过项目经验的考察,可以了解候选人的实际工作能力和他们在实际项目中所面临的挑战及应对策略。
嵌入式系统工程师面试题嵌入式系统工程师是一个在技术领域中具有重要地位的职业,他们负责设计、开发和维护嵌入在各种设备中的计算机系统。
在招聘嵌入式系统工程师时,面试题的设计至关重要,既要考察候选人的基础知识,又要评估其解决实际问题的能力和创新思维。
以下是一些常见的嵌入式系统工程师面试题及相关的解析。
一、基础知识类1、请简述嵌入式系统的定义和特点。
嵌入式系统是指以应用为中心,以计算机技术为基础,软硬件可裁剪,适应对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。
其特点包括:专用性强、实时性要求高、软硬件一体化、低功耗、小型化等。
2、解释一下什么是中断,以及中断在嵌入式系统中的作用。
中断是指计算机在执行程序的过程中,当出现某些需要立即处理的异常情况或外部事件时,暂停当前程序的执行,转而执行相应的中断处理程序,处理完毕后再返回原来的程序继续执行。
在嵌入式系统中,中断用于实现实时响应外部事件,提高系统的效率和可靠性。
3、谈谈你对嵌入式操作系统的理解,列举几种常见的嵌入式操作系统。
嵌入式操作系统是运行在嵌入式硬件平台上的操作系统,它负责管理系统资源、提供任务调度、内存管理、设备驱动等功能。
常见的嵌入式操作系统有:μC/OSII、FreeRTOS、VxWorks、Linux 等。
4、简述一下 C 语言在嵌入式系统开发中的优势。
C 语言具有简洁高效、可移植性好、能直接操作硬件等优点。
在嵌入式系统中,C 语言能够高效地利用有限的资源,并且与底层硬件的交互方便,因此成为嵌入式开发的主要编程语言。
二、硬件相关类1、解释一下什么是微控制器(MCU)和微处理器(MPU),它们的区别是什么?微控制器是将 CPU、存储器、I/O 接口等集成在一块芯片上的小型计算机系统,具有成本低、功耗低、体积小等特点,常用于简单的控制任务。
微处理器则是功能更强大的 CPU,需要外部的存储器和 I/O 接口等组成完整的计算机系统,适用于复杂的计算和处理任务。
嵌入式硬件工程师面试自我评价大家好,首先感谢你们给我这次机会,让我能坐下来跟大家聊聊自己。
其实说实话,一开始我也有点紧张,毕竟要面对这么多优秀的面试官,心里还是有点小小的忐忑。
不过说白了,大家都是人嘛,面试也就是互相了解的过程,我希望能通过这次自我评价,让你们更清楚我这个人到底是个什么样子。
其实我觉得自己有点像“能打能跑”的那种人——既能独立做事,又能跟团队一起搞事情,自己有些缺点,大家也不必担心,我会尽力改正。
从事嵌入式硬件工程师这行,已经有几年时间了,我对这份工作也算得心应手了。
回想起刚开始入行的日子,真的是一头雾水。
那时候接触到各种各样的电路、芯片、固件,感觉整个人就像是一个“外行看热闹”的小白。
不过慢慢地,随着时间的推移,很多东西都变得清晰了。
我像是走在一条逐渐亮起的道路上,前面虽然偶尔会有点小坑,但总体而言,我的步伐还是挺稳的。
说白了,现在做这个工作,脑袋里好多事情都能快速理清楚——像调试电路、优化代码、硬件和软件的协同工作,这些事儿对我来说,已经是“家常便饭”了。
我记得有一次,项目中需要做一个非常复杂的硬件设计,方案的初期设计难度超出我的预期,项目成员们一开始都觉得“完了,搞不定”。
但是我心里有点不服气,总觉得既然是嵌入式硬件设计,肯定有解决的办法,问题不过就是一个个的“小难点”。
那段时间,我几乎整天泡在实验室里,不断调整电路板,修改代码,搞了很多测试。
说实话,起初效果真的不好,甚至有些失败的尝试让我有点丧气。
不过就在那时,我却体会到了一种“失败是成功之母”的道理。
每一次失败,背后都有它的原因,找到问题所在后,再去改进,最终做出来的效果,那种成就感,真是无与伦比。
所以我学会了,遇到困难不急躁,慢慢分析,踏实动手,绝对不能抛弃自己的信念。
还有一个我觉得特别重要的事,就是与团队合作。
虽然我这个人平时做事有点“独立”——有些时候喜欢一个人钻研技术、分析问题,但是我知道,任何项目如果没有团队的支持,那是很难成功的。
嵌入式系统工程师面试题及答案在当今科技迅速发展的时代,嵌入式系统工程师扮演着至关重要的角色。
以下是一些常见的嵌入式系统工程师面试题及答案,希望能对您有所帮助。
一、基础知识1、什么是嵌入式系统?答案:嵌入式系统是一种以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。
它通常嵌入在其他设备或产品中,用于控制、监测或执行特定的任务。
2、嵌入式系统的特点有哪些?答案:嵌入式系统具有以下特点:专用性强:针对特定的应用需求进行设计和优化。
实时性要求高:能够在规定的时间内完成任务响应。
资源受限:包括处理器性能、内存容量、存储资源等方面。
功耗低:以满足移动或电池供电设备的长时间运行需求。
可靠性高:在恶劣环境下稳定工作。
3、列举几种常见的嵌入式处理器架构。
答案:常见的嵌入式处理器架构有 ARM、MIPS、PowerPC 等。
4、什么是中断?中断的作用是什么?答案:中断是指计算机在执行程序过程中,遇到突发事件时,暂停当前程序的执行,转而去处理突发事件,处理完毕后再返回原程序继续执行。
中断的作用主要是提高系统的实时性和效率,能够及时响应外部事件。
二、编程语言与开发工具1、嵌入式系统中常用的编程语言有哪些?答案:在嵌入式系统中,常用的编程语言包括 C、C++、汇编语言等。
C 语言因其高效、灵活、可移植性好等优点,成为嵌入式开发的主要语言。
2、简述 C 语言中指针的作用。
答案:指针是 C 语言中的一个重要概念,它的作用主要有:可以直接访问内存地址,实现对内存的灵活操作。
用于数组、函数、结构体等数据类型的操作,提高程序的效率。
实现动态内存分配,如使用 malloc 和 free 函数。
3、谈谈你对嵌入式操作系统的了解,列举几种常见的嵌入式操作系统。
答案:嵌入式操作系统是专门为嵌入式系统设计的操作系统,具有体积小、实时性强、可裁剪等特点。
常见的嵌入式操作系统有μC/OSII、FreeRTOS、Linux 嵌入式版等。
硬件工程师面试题(一)硬件工程师面试题广泛涉及到硬件设计、嵌入式系统、电路原理和信号处理等领域,对于候选人的技术能力以及解决问题的能力都有较高的要求。
以下是一些常见的硬件工程师面试题,提供给广大求职者供参考。
1. 请简要介绍一下你的背景和经验。
在这个问题中,你需要向面试官展示你的专业背景和工作经验,可以简要介绍你的教育背景、实习经历、项目经验等。
重点强调与硬件工程相关的经验和技能。
2. 当你面对一个复杂的硬件设计问题时,你通常是如何解决的?这个问题考察你的解决问题能力和工作方法。
你可以从分析问题、制定解决方案、实施方案以及验证方案的角度进行回答。
强调你的逻辑思维和实践能力,同时也要强调你愿意与团队合作,寻求合理建议的态度。
3. 设计一种新型的电子产品,你会从哪些方面考虑?这个问题考察你的创新能力和全面思考问题的能力。
你可以从产品功能、硬件架构、电子元器件选型、电路设计、性能测试等方面进行回答。
可以结合你以往的项目经验,提出一套较完整的产品设计思路。
4. 你对FPGA的了解有多少?请谈谈你在FPGA设计方面的经验。
FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,具有高灵活性和可适应性。
这个问题考察你对FPGA的基本了解和实际应用经验。
可以介绍你在FPGA设计方面的技术水平,熟悉的开发环境和工具,以及参与的项目经验。
5. 解释一下什么是时序约束,为什么它在硬件设计中很重要?时序约束是针对硬件设计中的时序要求而设立的,用于确保各个信号的时钟周期、延迟和时序关系满足特定的要求。
这个问题考察你对时序约束的理解和应用。
你可以解释时序约束的作用,并举例说明如何通过设置约束来满足特定的时序要求。
6. 解释一下什么是同步和异步电路?同步电路是依靠时钟信号来同步各个模块的操作,把电路的工作状态限制在时钟信号的上升或下降沿。
异步电路则不依赖于时钟信号,通过特定的条件来触发电路操作。
硬件工程师面试问题
1.自我介绍
2.根据自我介绍提问感兴趣的点
3.有做过与嵌入式开发或者硬件电路设计相关的项目吗?你做了哪些工作?具体介绍一下?或者有没有参加过电赛、嵌入式、物联网等比赛?在团队中承担了哪些工作?
4.自己独立制作过电路板吗?都是怎么做的?电路板设计过几层板?为什么这样设计?遇到过什么问题?你是怎么解决的?
电路板布线应该遵循什么规则?电流与线宽怎么考虑?电路板设计流程是什么?当遇到电路板发烫,你认为是什么原因造成的?你会怎么解决?5.你使用过哪些芯片,做过什么功能的电路板?具体介绍一下设计原理。
有使用过放大器吗?放大器都有哪些指标?你认为哪些指标对放大器性能至关重要?
6、当我们采集的信号噪声很大时,你会采取哪些措施提高信号质量?当信号很小时,比如信号低至nA甚至fA时,你认为可以采用什么方案提取信号?
7、常用的电源都有哪些?分类是什么?这些电源的原理是什么?有什么优缺点?
8.设计一个信号放大、采集、处理与显示的系统,你会怎么设计这个系统,请给出具体的方案,列出关键的模块。
笔面试题1、技术类(1)描述一下你的项目(2)单片机I/O口需要注意的问题驱动能力不强,高电平驱动时需要加上拉电阻;电平匹配,上拉或分组。
51单片机的P0口常用作数据线和低8位地址线、P2常用作高8位地址线。
(3)单片机不能启动的原因1)晶振没有振荡,测量晶振是否起振;2)一直在复位状态,检查复位电路;3)程序飞了,检查程序;4)程序编制错误,检查程序;5)单片机坏了,更换单片机芯片;6)硬件电路错误。
(4)单片机最小系统1)复位电路: 当引脚9出现2个机器周期以上高电平时,单片机复位,程序从头开始运行。
2)时钟电路:有振荡器电路产生频率等于晶振频率,这时用的是外界晶振。
也可以又外部单独输入,此时XTAL2脚接地,时钟信号由XTAL1输入。
3)电源电路:VCC和GND引脚。
4)程序下载电路。
(并不严格包含)(5)哈弗结构和冯洛伊曼结构哈佛结构:是一种将程序指令储存和数据储存分开的存储器结构。
中央处理器首先到程序指令储存器中读取程序指令内容,解码后得到数据地址,再到相应的数据储存器中读取数据,并进行下一步的操作(通常是执行)。
程序指令储存和数据储存分开,数据和指令的储存可以同时进行,可以使指令和数据有不同的数据宽度,与冯.诺曼结构处理器比较,哈佛结构处理器有两个明显的特点:1、使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;2、使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,而这两条总线之间毫无关联。
改进的哈佛结构,其结构特点为:1、使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存,以便实现并行处理;2、具有一条独立的地址总线和一条独立的数据总线,利用公用地址总线访问两个存储模块(程序存储模块和数据存储模块),公用数据总线则被用来完成程序存储模块或数据存储模块与CPU之间的数据传输;哈佛结构的微处理器通常具有较高的执行效率。
其程序指令和数据指令分开组织和储存的,执行时可以预先读取下一条指令。
目前使用哈佛结构的中央处理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,还有摩托罗拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的A VR系列和安谋公司的ARM9、ARM10和ARM11。
冯·诺伊曼结构:也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的电脑设计概念结构。
冯.诺曼结构处理器具有以下几个特点:必须有一个存储器;必须有一个控制器;必须有一个运算器,用于完成算术运算和逻辑运算;必须有输入和输出设备,用于进行人机通信。
(6)锁相环的结构与作用锁相环由鉴相器、环路滤波器和压控振荡器组成。
鉴相器用来鉴别输入信号Ui与输出信号Uo之间的相位差,并输出误差电压Ud 。
Ud 中的噪声和干扰成分被低通性质的环路滤波器滤除,形成压控振荡器(VCO)的控制电压Uc。
Uc作用于压控振荡器的结果是把它的输出振荡频率fo拉向环路输入信号频率fi ,当二者相等时,环路被锁定,称为入锁。
(7)TTL、RS232、CMOS电平1)TTL电平输出 L: <0.8V ; H:>2.4V。
输入 L: <1.2V ; H:>2.0VTTL器件输出低电平要小于0.8V,高电平要大于2.4V。
输入,低于1.2V就认为是0,高于2.0就认为是1。
于是TTL电平的输入低电平的噪声容限就只有(0.8-0)/2=0.4V,高电平的噪声容限为(5-2.4)/2=1.3V。
2)CMOS电平输出 L: <0.1*Vcc ; H:>0.9*Vcc。
输入 L: <0.3*Vcc ; H:>0.7*Vcc.由于CMOS电源采用12V,则输入低于3.6V为低电平,噪声容限为1.8V,高于3.5V为高电平,噪声容限高为1.8V。
比TTL有更高的噪声容限。
3)RS232逻辑1的电平为-3~-15V,逻辑0的电平为+3~+15V,注意电平的定义反相了一次。
(8)I2C通信1)只要求两条总线线路一条串行数据线SDA一条串行时钟线SCL;2)每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机从机关系软件设定地址主机可以作为主机发送器或主机接收器;3)它是一个真正的多主机总线如果两个或更多主机同时初始化数据传输可以通过冲突检测和仲裁防止数据被破坏;4)串行的8位双向数据传输位速率在标准模式下可达100kbit/s快速模式下可达400kbit/s 高速模式下可达3.4Mbit/s;5)片上的滤波器可以滤去总线数据线上的毛刺波保证数据完整;6)连接到相同总线的IC数量只受到总线的最大电容400pF限制。
(9)static静态字的作用1)第一个作用:隐藏。
(static函数,static变量均可)2.static的第二个作用是保持变量内容的持久。
(static变量中的记忆功能和全局生存期)存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。
共有两种变量存储在静态存储区:全局变量和static变量,只不过和全局变量比起来,static 可以控制变量的可见范围,说到底static还是用来隐藏的。
虽然这种用法不常见。
PS:如果作为static局部变量在函数内定义,它的生存期为整个源程序,但是其作用域仍与自动变量相同,只能在定义该变量的函数内使用该变量。
退出该函数后,尽管该变量还继续存在,但不能使用它。
当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。
(10)Volatile的作用volatile 影响编译器编译的结果,指出,volatile变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错。
1) 并行设备的硬件寄存器(如:状态寄存器) ;2) 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables) ;3) 多线程应用中被几个任务共享的变量。
(11)二极管和三极管组成或非门电路(12)单片机晶振晶振的种类,电容的作用与大小(13)冒险竞争及其消除方法门电路两个输入端同时向相反的逻辑电平跳变(一个从1变为0,一个从0变为1)的现象称为竞争。
由于竞争而在电路输出端可能产生尖峰脉冲的现象就称为竞争-冒险。
如果门电路两个输入信号A、A'是输入变量A经过两个不同的传输途径而来的,那么当A的状态发生突变时,输出端便有可能产生竞争冒险。
消除方法:1、接入滤波电容;2引入选通脉冲;3修改逻辑设计。
(14)三极管的输入、输出特性曲线(15)共射、共集、共基的区别(16)反馈的种类及作用在电子电路中,将输出量的一部分或全部通过一定的电路形式作用到输入回路,用来影响其输入量的措施称为反馈。
使放大电路静输入量增大的反馈称为正反馈;使放大电路静输入量减小的反馈称为负反馈。
反馈量只含有直流量,则称为直流反馈;反馈量只含有交流量,则称为交流反馈。
反馈量本身是电流则是并联反馈;反馈量本身是电压则是串联反馈。
反馈量取自电流则是电流反馈;反馈量取自电压则是电压反馈。
(17)DC-DC直流稳压电源流程①变压:电网供电电压交流220V(有效值)50Hz,要获得低压直流输出,首先必须采用电源变压器将电网电压降低获得所需要交流电压。
②整流:降压后的交流电压,通过整流电路变成单向直流电,但其幅度变化大(即脉动大)。
③滤波:脉动大的直流电压须经过滤波、稳压电路变成平滑,脉动小的直流电,即将交流成分滤掉,保留其直流成分。
④稳压:滤波后的直流电压,再通过稳压电路稳压,便可得到基本不受外界影响的稳定直流电压输出,供给负载RL。
(18)稳压二极管的特性稳压管也是一种晶体二极管,它是利用PN结的击穿区具有稳定电压的特性来工作的。
(19)DC-DC与LDO1.DC-DC包括Boost(升压)、Buck(降压)、Boost-Buck (升/降压)和反相结构,具有高效率、高输出电流、低静态电流等特点,随着集成度的提高,许多新型DC-DC转换器的外围电路仅需电感和滤波电容;但该类电源控制器的输出纹波和开关噪声较大、成本相对较高。
LDO:LOW DROPOUT VOLTAGE低压差线性稳压器,为线性的稳压器,仅能使用在降压应用中。
也就是输出电压必需小于输入电压。
优点:稳定性好,负载响应快。
输出纹波小缺点:效率低,输入输出的电压差不能太大。
负载不能太大,目前最大的LDO为5A(但要保证5A的输出还有很多的限制条件)2.LDO:低压差线性稳压器的突出优点是具有最低的成本,最低的噪声和最低的静态电流。
它的外围器件也很少,通常只有一两个旁路电容。
DC/DC:直流电压转直流电压。
严格来讲,LDO也是DC/DC的一种,但目前DC/DC多指开关电源。
优点:效率高,输入电压范围较宽。
缺点:负载响应比LDO差,输出纹波比LDO大。
(20)Buck、Boost与Buck-Boost电路Q为开关管,均为PWM控制方式(21)单片机I/O口LED的驱动电路LED电路接法的区别(22)三极管谐振电路各元器件的作用RE、RB、C的作用(23)RS485的传输距离及其形式采用以+(2-6)V表示1,-(2-6)V表示0的差分信号传输,与TTL电平兼容。
最大通信距离约为1219米,最高传输速率为10Mbps。
(24)磁珠、0欧电阻的隔离磁珠通常只适用于高频电路,因为在低频时,它们基本上是保有电感的完整特性(包含有电阻性和电抗性分量),因此会造成线路上的些微损失。
可以将磁珠视为一个电阻并联一个电感。
在低频时,电阻被电感“短路”,电流流往电感;在高频时,电感的高感抗迫使电流流向电阻。
数字地和模拟地的隔离:1)用磁珠连接:磁珠的等效电路相当于带阻限波器,只对某个频点的噪声有显着抑制作用,使用时需要预先估计噪点频率,以便选用适当型号。
对于频率不确定或无法预知的情况,磁珠不合。
2)用零欧姆电阻连接:零欧电阻相当于很窄的电流通路,能够有效地限制环路电流,使噪声得到抑制。
电阻在所有频带上都有衰减作用(零欧电阻也有阻抗),这点比磁珠强。
(25)PCB布局、布线技巧与EMC问题1)布局:①PCB布局设计时,应充分遵守沿信号流向直线放置的设计原则,尽量避免来回环绕,这样可以避免信号直接耦合,影响信号质量。
此外,为了防止电路之间、电子元器件之间的互相干扰和耦合;②多种模块电路在同一PCB上放置时,数字电路与模拟电路、高速与低速电路应分开布局,以避免数字电路、模拟电路、高速电路以及低速电路之间的互相干扰;③线路板电源输入口的滤波电路应应靠近接口放置,避免已经经过了滤波的线路被再次耦合;④敏感电路或器件(如复位电路等)远离单板各边缘特别是单板接口侧边缘至少1000mil;⑤存在较大电流变化的单元电路或器件(如电源模块的输入输出端、风扇及继电器)附近应放置储能和高频滤波电容,以减小大电流回路的回路面积。