硬件笔试面试题

Posted hcr1995

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了硬件笔试面试题相关的知识,希望对你有一定的参考价值。

1.高速信号在走线的时候出现直角有什么影响?

答:A.遇到直角,线宽会发生变化,线路的阻抗因为线宽的变化变得不再连续,阻抗不连续会带来信号的反射。

  B.传输线直角会形成寄生电容,会减缓信号的上升时间。

  C.直角处在高速信号传输时,相当于天线,会造成EMI干扰。

2.A、B、AB、D类功放?

纯甲类功率放大器又称为A类功率放大器(Class A),它是一种完全的线性放大形式的放大器。在纯甲类功率放大器工作时,晶体管的正负通道不论有或没有信号都处于常开状态,这就意味着更多的功率消耗为热量,但失真率极低。纯甲类功率放大器在汽车音响的应用中比较少见,像意大利的Sinfoni高级系列才有这类功率放大器。这是因为纯甲类功率放大器的效率非常低,通常只有20-30%,但音响发烧友们对它的声音表现津津乐道。效率低于50%。

乙类功率放大器,也称为B类功率放大器(Class B),它也被称为线性放大器,但是它的工作原理与纯甲类功率放大器完全不同。B类功放在工作时,晶体管的正负通道通常是处于关闭的状态除非有信号输入,也就是说,在正相的信号过来时只有正相通道工作,而负相通道关闭,两个通道绝不会同时工作,因此在没有信号的部分,完全没有功率损失。但是在正负通道开启关闭的时候,常常会产生跨越失真,特别是在低电平的情况下,所以B类功率放大器不是真正意义上的高保真功率放大器。在实际的应用中,其实早期许多的汽车音响功放都是B类功放,因为它的效率比较高。

甲乙类功率放大器也称为AB类功率放大器(Class AB),它是兼容A类与B类功放的优势的一种设计。当没有信号或信号非常小时,晶体管的正负通道都常开,这时功率有所损耗,但没有A类功放严重。当信号是正相时,负相通道在信号变强前还是常开的,但信号转强则负通道关闭。当信号是负相时,正负通道的工作刚好相反。AB类功率放大器的缺陷在于会产生一点点的交越失真,但是相对于它的效率比以及保真度而言,都优于A类和B类功放,AB类功放也是目前汽车音响中应用最为广泛的设计。

D类放大器与上述A,B或AB类放大器不同,其工作原理基于开关晶体管,可在极短的时间内完全导通或完全截止。两只晶体管不会在同一时刻导通,因此产生的热量很少。这种类型的放大器效率极高(90%左右),在理想情况下可达100%,而相比之下AB类放大器仅能达到78.5%。不过另一方面,开关工作模式也增加了输出信号的失真。D类放大器的电路共分为三级:输入开关级、功率放大级以及输出滤波级。D类放大器工作在开关状态下可以采用脉宽调制(PWM)模式。利用PWM能将音频输入信号转换为高频开关信号,通过一个比较器将音频信号与高频三角波进行比较,当反相端电压高于同相端电压时,输出为低电平;当反相端电压低于同相端电压时,输出为高电平。 在D类放大器中,比较器的输出与功率放大电路相连,功放电路采用金属氧化物场效应管(MOSFET)替代双极型晶体管(BJT),这是由于前者具有更快的响应时间,因而适用于高频工作模式。D类放大器需要两只MOSFET,它们在非常短的时间内可完全工作在导通或截止状态下。当一只MOSFET完全导通时,其管压降很低;而当MOSFET完全截止时,通过管子的电流为零。两只MOSFET交替工作在导通和截止状态的开关速度非常快,因而效率极高,产生的热量很低,所以D类放大器不需要很大的散热器。

3.PCB设计为什么要大面积敷t铜?

A.PCB敷铜一般为电源或者地上,大面积敷铜可以降低电源和地线的阻抗,加大走过的电流,减少损耗。

B.在高频信号走线间敷铜能减少信号之间的干扰,起到屏蔽的作用,比如晶振为高频发射源,需要在晶振附近敷铜。

4.万用表测试二极管正向直流电阻,选择的量程越大,测得的二极管阻抗越大

测量二极管的正向直流电阻,在二极管的两端串上了一个电阻。万用表里面,量程越大,串上的电阻越大。又因为二极管的两端电压为0.7V,串上的电阻越大,电流越小,则显示的电阻值越大!

5.在PCB板上线宽和过孔的大小与通过电流的大小关系?

10mil=0.254mm 一般1mm线宽走1A电流。过孔一般内径0.3mm 外径0.6mm。

6.同向比例放大器和反向比例放大器各有什么特点?

技术分享图片技术分享图片

 

 

A..同相放大器的最大的优点就是输入阻抗接近无穷大,常常作为电压跟随器使用,进行隔离。反相放大器的最大的优点是输入端的正反相电位差接近为0,只存在差模信号,抗干扰能力强 

B.同相放大器的最大缺点是输入没有“虚地”,存在较大的共模电压,抗干扰的能力较差,使用时,要求运放有较高的共模抑制比。反相放大器的最大缺点是输入的阻抗很小,等于信号输入端的串联电阻阻值。

C.同相运算放大电路,引入的电压串联负反馈。反相运算放大电路,引入的电压并联负反馈 。

D.同相和反相的输出电阻都基本为0。因为引入了深度电压负反馈。

7.放大电路的负反馈种类及作用?

电压并联反馈,电流串联反馈,电压串联反馈和电流并联反馈。

降低放大器的增益灵敏度,改变输入电阻和输出电阻,改善放大器的线性和非线性失真,有效地扩展,放大器的通频带,自动调节作用。

有无反馈:输出回路和输入回路是否有反馈通路

正负反馈:瞬时极性法

电压电流:是放大电路的输出电压为0,若反馈量随之为0,则为电压反馈。

正负反馈:是输入减小还是增大。

串联反馈:输入量为净输入量和反馈量以电压形式叠加。

并联反馈:输入量为净输入量和反馈量以电流形式叠加。

对输入电阻ri的影响:串联负反馈使输入电阻增加,并联负反馈使输入电阻减小。

对输出电阻ro的影响:电压负反馈使输出电阻减小,电流负反馈使输出电阻增加。

8.放大电路的频率补偿的目的是什么,有哪些方法?

放大电路中频率补偿的目的 :一是改善放大电路的高频特性,二是克服由于引入负反馈而可能出现自激振荡现象,使放大器能够稳定工作。

在放大电路中,由于 晶体管结电容的存在常常会使放大电路频率响应的高频段不理想 ,为了解决这一问题,常用的方法就是在电路中引入负反馈。

然后,负反馈的引入又引入了新的问题,那就是负反馈电路会出现自激振荡现象,所以为了使放大电路能够正常稳定工作,必须对放大电路进行频率补偿。

频率补偿的方法可以分为 超前补偿和滞后补偿 ,主要是通过接入一些阻容元件来改变放大电路的开环增益在高频段的相频特性,目前使用最多的就是锁相环。

9.有源滤波器和无源滤波器的区别?

无源滤波器:这种电路主要有无源元件 R、L 和 C 组成;

有源滤波器:集成运放和 R、C 组成,具有不用电感、体积小、重量轻等优点。

集成运放的开环电压增益和输入阻抗均很高,输出电阻小,构成有源滤波电路后还具有一定的电压放大和缓冲作用。

但 集成运放带宽有限 ,所以目前的有源滤波电路的工作频率难以做得很高。

10.单片机上电后没有运转,首先要检查什么?

电源 晶振 flash/rom 引脚电平 软件

11.最基本的三极管曲线特性

技术分享图片

 

技术分享图片

技术分享图片 

12什么是频率响应,怎么才算是稳定的频率响应,简述改变频率响应曲线的几个方法

里仅对放大电路的频率响应进行说明。 在放大电路中,由于电抗元件 (如电容、电感线圈等)及晶体管极间电容的存在,当输入信号的频率过低或过高时,放大电路的放大倍数的数值均会降低,而且还将产生相位超前或之后现象。也就是说,放大电路的放大倍数 (或者称为增 益 )和输入信号频率是一种函数关系,我们就把这种函数关系成为放大电路的频 率响应或频率特性。放大电路的频率响应可以用幅频特性曲线和相频特性曲线来描述,如果一个 放大电路的幅频特性曲线是一条平行于 x 轴的直线( 或在关心的频率范围内平行 于 x 轴 ),而相频特性曲线是一条通过原点的直线 (或在关心的频率范围是条通过 原点的直线),那么该频率响应就是稳定的

改变频率响应的方法主要有:

(1) 改变放大电路的元器件参数;

(2) 引入新的 元器件来改善现有放大电路的频率响应;

(3) 在原有放大电路上串联新的放大电 路构成多级放大电路。

13. 给出一个差分运放,如何进行相位补偿,并画补偿后的波特图

随着工作频率的升高,放大器会产生附加相移,可能使负反馈变成正反馈而引起自激。

进行相位补偿可以消除高频自激。相位补偿的原理是:在具有高放大倍数的中间级,利

用一小电容 C(几十~几百微微法)构成电压并联负反馈 电路。可以使用电容校正、

RC 校正分别对相频特性和幅频特性进行修改。

波特图就是在画放大电路的频率特性曲线时使用对数坐标。波特图由对数幅 频特性

和对数相频特性两部分组成,它们的横轴采用对数刻度 lg f ,幅频特性的纵轴采用 lg |Au|表示,

单位为 dB;相频特性的纵轴仍用φ表示。

技术分享图片

 

14.基本放大电路的种类及优缺点,广泛采用差分结构的原因

基本放大电路按其接法分为共基、共射、共集放大电路。

共射放大电路既能放大电流又能放大电压,输入电阻在三种电路中居中,输出电阻较大,频带较窄

共基放大电路只能放大电压不能放大电流,输入电阻小,电压放大倍数和输出电阻与共射放大电路相当,频率特性是三种接法中最好的电路。常用于宽频带 放大电路。

共集放大电路只能放大电流不能放大电压,是三种接法中输入电阻最大、输 出电阻最小的电路,并具有电压跟随的特点。常用于电压大电路的输入级和输 出级,在功率放大电路中也常采用射极输出的形式。

广泛采用差分结构的原因是差分结构可以抑制温度漂移现象。

15.给出一差分电路,已知其输出电压 Y+和 Y-,求共模分量和差模分量

设共模分量是 Yc,差模分量是 Yd,则可知其输

Y+=Yc+Yd Y-=Yc-Yd 可得 Yc=(Y+ + Y-)/2 Yd=(Y+ - Y-)/2

16.选择电阻时要考虑什么?

主要考虑电阻的封装、功率、精度、阻值和耐压值等。

17.在CMOS电路中,要有一个单管作为开关管精确传递模拟低电平,这个单管你会用 P管还是N管,为什么?

用 N 管。N 管传递低电平, P 管传递高电平。N 管的阈值电压为正, P 管的阈值电压为负。在 N 管栅极加 VDD,在漏极加VDD,那么源级的输出电压范围为 0到VDD-Vth ,因为 N 管的导通条件是 Vgs>Vth,当输出到达 VDD-Vth 时管子已经关断了。所以当栅压为 VDD时,源级的最高输出电压只能为 VDD-Vth。这叫阈值损失。N 管的输出要比栅压损失一个阈值电压。因此不宜用 N 管传输高电平。P 管的输出也会比栅压损失一个阈值。同理栅压为 0时,P 管 源级的输出电压范围为 VDD到|Vth |,因此不宜用 P管传递低电平。

18.画电流偏置的产生电路,并解释。

基本的偏置电流产生电路包括镜像电流源、比例电流源和微电流源三种。模电p189

下面以镜像电流源电路为例进行说明:

技术分享图片

 

 上图为镜像电流源,比例电流源在上图T0,T1射级接两个不同的电阻,微电流源只需要在T1射级接个电阻即可。

19.画出施密特电路,求回差电压?

下图是用 CMOS 反相器构成的施密特电路:

技术分享图片

 

技术分享图片

技术分享图片

 

 因此回差电压为:

 技术分享图片技术分享图片

 

输入电压使va为Vth,在此之前输出还是0,则可以知道Vth和输入正向阈值电压的关系。

20.正弦波振荡器,电容三点式和电感三点式电路图?

技术分享图片

技术分享图片

21.DAC 和 ADC 的实现各有哪些方法?

实现 DAC 转换的方法有:权电阻网络 D/A 转换,倒梯形网络 D/A 转换, 权电流网络 D/A 转换、权电容网络 D/A 转换以及开关树形 D/A 转换等。

实现 ADC 转换的方法有:并联比较型 A/D 转换,反馈比较型 A/D 转换,双 积分型 A/D 转换和 V-F 变换型 A/D 转换。

22.A/D 电路组成、工作原理

A/D 电路由取样、量化和编码三部分组成,由于模拟信号在时间上是连续信 号而数字信号在时间上是离散信号,因此 A/D 转换的第一步就是要按照奈奎斯 特采样定律对模拟信号进行采样。又由于数字信号在数值上也是不连续的,也就 是说数字信号的取值只有有限个数值,因此需要对采样后的数据尽量量化,使其 量化到有效电平上,编码就是对量化后的数值进行多进制到二进制二进制的转换。

23.锁相环有哪几部分组成 ?

锁相环路是一种反馈控制电路,简称锁相环( PLL)锁相环的特点是:利用外部输入的参考信号控制环路内部振荡信号的频率和相位。因锁相环可以实现 输出信号频率对输入信号频率的自动跟踪,所以锁相环通常用于闭环跟踪电路。 锁相环在工作的过程中,当输出信号的频率与输入信号的频率相等时,输出电压与输入电压保持固定的相位差值,即输出电压与输入电压的相位被锁住,这就是锁相环名称的由来锁相环通常由鉴相器( PD)、环路滤波器(LF)和压控振荡器( VCO)三部 分组成。锁相环中的鉴相器又称为相位比较器,它的作用是检测输入信号和输出 信号的相位差,并将检测出的相位差信号转换成电压信号输出,该信号经低通滤 波器滤波后形成压控振荡器的控制电压,对振荡器输出信号的频率实施控制。

24.用逻辑门和 COMS 电路实现 AB+CD

技术分享图片技术分享图片

25.用一个二选一 mux 和一个 inv 实现异或

假设输入信号为 A、B ,输出信号为 Y=A’B+AB ’。则用一个二选一 mux和一个 inv 实现异或的电路如下图所示:

技术分享图片

26.setup和hold time?

时钟和数据

时钟边沿来之前,数据稳定保持的时间。---setup_time

时钟边沿来之后,数据稳定保持的时间。---hold_time

27.如何解决亚稳态?

亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当 一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在亚稳态期间,触发器输出一些中间级电平,或 者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器 级联式传播下去。解决方法主要有:

(1)降低系统时钟;

(2)用反应更快的 FF;触发器

(3) 引入同步机制,防止亚稳态传播;

(4)改善时钟质量,用边沿变化快速的时钟信号;

(5)使用工艺好、时钟周期裕量大的器件

28.列举几种集成电路典型工艺,工艺上常提到 0.25,0.18指的是什么

制造工艺:我们经常说的 0.18微米、0.13 微米制程,就是指制造工艺了。制造工艺直接关系到 cpu的电气性能,而0.18微米、 0.13微米这个尺度就是指的是 cpu核心中线路的宽度,MOS管是指栅长。

29.描述CMOS电路中闩锁效应产生的过程及最后的结果

Latch-up 闩锁效应,又称寄生PNPN效应或可控硅整流器 ( SCR, Silicon Controlled Rectifier )效应。在整体硅的 CMOS管下,不同极性搀杂的区域间都会构成 P-N结,而两个靠近的反方向的 P-N结就构成了一个双极型的晶体三极管。因此 CMOS管的下面会构成多个三极管,这些三极管自身就可能构成一个电路。这就是 MOS管的寄生三极管效应。如果电路偶尔中出现了能够使三极管开通的条件,这个寄生的电路就会极大的影响正常电路的运作,会使原本的 MOS电路承受比正常工作大得多的电流,可能使电路迅速的烧毁。 Latch-up状态下器件在电源与地之间形成短路,造成大电流、 EOS(电过载)和器件损坏。

30.用波形表示 D 触发器的功能

以电平触发为例进行说明, D 触发器的功能描述如下:当时钟信号为低电平 时,触发器不工作,处于维持状态。当时钟信号为高电平时, D 触发器的功能为: 若 D=0,则触发器次态为 0;若 D=1,则触发器次态为 1。下图以波形形式来描 述 D 触发器的功能:

技术分享图片

上图Q是Q输出端

31.用传输门和倒向器组成的边沿 D 触发器如下图:

技术分享图片

传输门:c=1,传输门工作 c=0 传输门截止

两个电平触发形成一个边沿触发

32.画状态机,接受 1、2 、5 分钱的卖报机,每份报纸 5 分钱。

取投币信号为输入逻辑变量,投入一枚 5 分硬币是用 A=1 表示,未投入时用 A=0 表示;投入一枚 2 分硬币是用 B=1 表示,未投入时用 B=0 表示;投入 一枚 1 分硬币是用 C=1 表示,未投入时用 C=0 表示。由于每次最多只能投入一 枚硬币,因此除了 ABC=000、 ABC=001、 ABC=010 和 ABC=100 四种状态为 合法状态,其它四种状态为非法状态。假设投入 3 个 2 分硬币或者投入 4 个 1 分硬币和 1 个 2 分硬币后,卖报机在给出报纸的同时会找会 1 个 1 分硬币。这是 输出变量有两个,分别用 Y 和 Z 表示。给出报纸时 Y=1,不给时 Y=0 ;找回 1 个 1 分硬币时 Z=1 ,不找时 Z=0。同时假定未投币时卖报机的初始状态为 S0, 从开始到当前时刻共投入的硬币面值为 1 分记为 S1 ,为 2 分时记为 S2,为 3 分 记为 S3,为 4 分时记为 S4。

由上面的分析可以画出该状态机的状态转换表,如下表所示 (方便起见,这里 给出输入变量为非法状态时的转换表 )

技术分享图片

技术分享图片

33.用与非门等设计全加器

设加数为 A 和 B ,低位进位为 C,和为 Sum ,进位位为 Cout,则用与非门 设计的全加器如下图

技术分享图片

如果非门也用与非门实现的话,只需将与非门的两个输入端连接,置换到非门即可

S=A异或B异或CI

CO=(A异或B)CI+AB

34.TTL逻辑电平和RS232,RS485电平?

正逻辑和负逻辑:正逻辑1表示高电平

RS232:逻辑1的电平为:-3~-15V 逻辑0电平:3~15V(负逻辑)

RS232可做到双向传输,全双工通讯,最高速率为20kbps.。RXD TXD GND

接口使用一根信号线和一根信号返回线而构成共地的传输形式,而这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。

传输距离有限,最大传输距离为15m

RS485:逻辑1的电平为2~6V,逻辑0的电平为-2V~-6V

双向传输,半双工通讯,最高传输速率为10Mbps 发送端:逻辑“0”以两线间的电压差+(2 ~6)V 表示;逻辑“1”以两线间的电压差-(2 ~6)V 表示。接收端:A 比B 高200mV 以上即认为是逻辑“0”,A 比B 低200mV 以上即认为是逻辑“1”;RS-485 的数据最高传输速率为10Mbps。但是由于RS-485 常常要与PC 机的RS-232 口通信,所以实际上一般最高115.2Kbps。又由于太高的速率会使RS-485 传输距离减小,所以往往为9600bps 左右或以下.

最大传输距离约为1200m,RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干扰能力强。

TTL电平:

输出 L: <0.8V ; H:>2.4V。

输入 L: <1.2V ; H:>2.0V

CMOS电平:

输出 L: <0.1*Vcc ; H:>0.9*Vcc。

输入 L: <0.3*Vcc ; H:>0.7*Vcc.

1.电平的上限和下限定义不一样,CMOS具有更大的抗噪区域。 同是5伏供电的话,ttl一般是1.7V和3.5V的样子,CMOS一般是2.2V,2.9V的样子,不准确,仅供参考。

2.电流驱动能力不一样,ttl一般提供25毫安的驱动能力,而CMOS一般在10毫安左右。

3.需要的电流输入大小也不一样,一般ttl需要2.5毫安左右,CMOS几乎不需要电流输入

技术分享图片

35.VCO 是什么,什么参数 (压控振荡器) ?

 VCO 即压控振荡器,在通信系统电路中,压控振荡器 (VCO)是其关键部件, 特别是在锁相环电路、时钟恢复电路和频率综合器等电路中。 VCO 的性能指标 主要包括:频率调谐范围,输出功率, (长期及短期)频率稳定度,相位噪声,频 谱纯度,电调速度,推频系数,频率牵引等。

36.用 D 触发器做个 4 进制的计数器

由于是 4 进制计数器,因此只需两个 D 触发器即可,记进位输出为 Cout, 时钟信号为 CLK,则利用 D 触发器和门电路组成的 4 进制计数器如下图:

技术分享图片

clk经过4个周期,Cout输出1

37.锁存器、触发器、寄存器三者的区别?

触发器:能够存储一位二值信号的基本单元电路统称为“触发器”。

锁存器:一位触发器只能传送或存储一位数据,而在实际工作中往往希望一次传送或存储多位数据。为此可把多个触发器的时钟输入端 CP 连接起来,用一个公共的控制信号来控制,而各个数据端口仍然是各处独立地接收数据。这样所构成的能一次传送或存储多位数据的电路就称为“锁存器”。

寄存器:在实际的数字系统中,通常把能够用来存储一组二进制代码的同步时序逻辑电路称为寄存器。由于触发器内有记忆功能,因此利用触发器可以方便地构成寄存器。由于一个触发器能够存储一位二进制码,所以把 n 个触发器的时钟端口连接起来就能构成一个存储 n 位二进制码的寄存器。

区别:从寄存数据的角度来年,寄存器和锁存器的功能是相同的,它们的区别在于寄存器是同步时钟控制,而锁存器是电位信号控制。可见,寄存器和锁存器具有不同的应用场合,取决于控制方式以及控制信号和数据信号之间的时间关系:若数据信号有效一定滞后于控制信号有效,则只能使用锁存器;若数据信号

提前于控制信号到达并且要求同步操作,则可用寄存器来存放数据。

38.D 触发器和 D 锁存器的区别?

D 触发器是指由时钟边沿触发的存储器单元,锁存器指一个由信号而不是时 钟控制的电平敏感的设备。锁存器通过锁存信号控制,不锁存数据时,输出端的信号随输入信号变化,就像信号通过缓冲器一样,一旦锁存信号起锁存作用,则数据被锁住,输入信号不起作用。

39.有源滤波器和无源滤波器的原理及区别?

滤波器是一种对信号的频率具有选择性的电路,其功能就是使特定频率范围内的信号通过,而组织其它频率信号通过。其原理就是当不同频率的信号通过该电路时,具有不同的幅度衰减,通带内的信号衰减很小,而阻带内的信号衰减很 大。

若滤波电路仅由无源元件 (电阻、电容、电感)组成,则称为无源滤波器;若滤波电路不仅由无源元件,还有有源元件 (双极型管、单极性管、集成运放 )组成, 则称为有源滤波器。其区别主要体现在以下几个方面:

(1) 有源滤波器是电子的,无源滤波器是机械的。

(2) 有源滤波器是检测到某 一设定好的谐波次数后抵消它,无源滤波器是通过电抗器与电容器的配合形成某 次谐波通道吸收谐波。

(3) 采用无源滤波器因为有电容器的原因,所以可提高功 率因素。采用有源滤波器只是消除谐波与功率因素无关。

(4) 有源滤波器造价是 无源滤波器的 3 倍以上,技术相对不太成熟,且维护成本高;无源滤波器造价相 对较低,技术较成熟,安装后基本免维护。

(5) 有源滤波器用于小电流,无源滤 波器可用于大电流。

40.IIR, FIR 滤波器的异同?

IIR 是无限长冲激响应滤波器, FIR 是有限长冲激响应滤波器。两者的比较 如下:

(1) 在相同的技术指标下,IIR 滤波器由于存在着输出对输入的反馈,所以可用比 FIR 滤波器较少的阶数来满足指标的要求,所用的存储单元少,运算次数少, 较为经济

(2) FIR 滤波器可得到严格的线性相位,而 IIR 滤波器做不到这一点,IIR 滤 波器的选择性越好,其相位的非线性越严重。因而,如果 IIR 滤波器要得到线性相位,又要满足幅度滤波的技术要求,必须加全通网络进行相位校正,这同样会 大大增加滤波器的阶数。

(3) FIR 滤波器主要采用非递归结构,因为无论是从理论上还是从实际的有限 精度的运算中它都是稳定的,有限精度运算的误差也越小。 IIR 滤波器必须采用 递归结构,极点必须在 z 平面单位圆内才能稳定,对于这种结构,运算中的四舍 五入处理有时会引起寄生振荡。

(4) 对于 FIR 滤波器,由于冲激响应是有限长的,因而可以用快速傅里叶变换算法,这样运算速度可以快得多。 IIR 滤波器则不能这样运算。

(5) 从设计上看,IIR 滤波器可以利用模拟滤波器设计的现成的闭合公式、数据和表格,因此计算工作量较小,对计算工具要求不高。 FIR 滤波器则一般没有 现成的设计公式,一般 FIR 滤波器设计仅有计算机程序可资利用,因而要借助于 计算机。

(6) IIR 滤波器主要是设计规格化的、频率特性为分段常数的标准低通、高通、带通、带阻、全通滤波器。 FIR 滤波器则要灵活得多。

41.同步复位与异步复位的区别?

 无论同步还是异步复位,在对触发器时序进行分析的时候,都要考虑复位端
与时序的相位关系。
      对于同步复位,复位信号可以理解为一个普通的数据信号,它只有在时钟的
跳变沿才会起作用,一般只要复位信号持续时间大于一个时钟周期,就可以保证
正确复位。
      对于异步复位,复位可以在任何时候发生,表面上看跟时钟没有关系,但真
实情况是异步复位也需考虑时钟跳变沿,因为时钟沿变化和异步复位都可以引起
Q端数据变化,如果异步复位信号跟时钟在一定时间间隔内发生变化,Q值将无法
确定,即亚稳态现象。这个时候即使异步复位信号持续时间再长也没有办法,因为
不定态已经传递下去了。
      一、特点:
         同步复位:顾名思义,同步复位就是指复位信号只有在时钟上升沿到来时,才能
有效。否则,无法完成对系统的复位工作。用Verilog描述如下:
                 always @(posedge clk) begin
                         if (!rst)
                              ....
                         end
    异步复位:它是指无论时钟沿是否到来,只要复位信号有效,就对系统进行复位。用
    Verilog描述如下:
                  always @(posedge clk or negedge rst ) begin
                         if (!rst)
                              ....
                         end
   二、各自的优缺点:
       1、总的来说,同步复位的优点大概有3条:
           (1) 有利于仿真器的仿真。
           (2) 可以使所设计的系统成为100%的同步时序电路,这便大大有利于时序分析,
               而且综合出来的fmax一般较高。
           (3) 因为它只有在时钟有效电平到来时才有效,所以可以滤除高于时钟频率的毛刺,
          但它的缺点也有不少,主要有:
            (1) 复位信号的有效时长必须大于时钟周期,才能真正被系统识别并完成复位。同时
                还要考虑,诸如,clk skew,组合逻辑路径延时,复位延时因素。
            (2) 由于大多数的逻辑器件的目标库内的DFF都只有异步复位端口,所以,倘若采用同步复位的话,
                综合器就会在寄存器的数据输入端口插入组合逻辑,这样就会耗费较多的逻辑资源。
        2、对于异步复位而言,也有三条有点,如下:
             (1) 大多数目标器件库的DFF都有异步复位端口,因此采用异步复位可以节省资源。
             (2) 设计相对简单。
             (3) 异步复位信号识别方便,而且可以很方便地使用FPGA的全局复位端口GSR。
                但是它的缺点为:
                  (1) 在复位信号释放(release)的时候容易出现问题。具体就是说:倘若复位
                     释放时恰恰在时钟有效沿附近,就很容易使寄存器输出出现亚稳态,从而导致
                     亚稳态。
                 (2) 复位信号容易受到毛刺的影响。
     三、总结:
              所以说,一般都推荐使用异步复位,同步释放的方式,而且复位信号低电平有效。

     四、推荐复位方式
              推荐的复位方式上面提到的“异步复位,同步释放”。这就结合了上方面的优点,很好的
        克服了异步复位的缺点。
              具体方式是:在异步复位后加上一个所谓的“reset synchronizer”,这样就可以使异步复位信号
        同步化,然后,再用经过处理的复位信号去作用系统,就可以保证比较稳定了。Verilog代码如下:
              module reset_synchronizer (
                                         input clk, asyncrst_n;
                                         output reg rst_n
                                        );
                                 reg rff1;
                  always @(posedge clk or negedge asyncrst_n) begin
                                        if (!asyncrst_n)
                                            {rst_n, rff1} <= 2‘b0;
                                        else
                                            {rst_n, rff1} <= {rff1, 1‘b1};
                                        end                                        
                          endmodule 

                这就是一个DFF,异步复位信号直接接在它的异步复位端口上(低电平有效),然后数据输入端
          rff1一直为高电平‘1’。倘若异步复位信号有效的话,触发器就会复位,输出为低,从而复位后继系统。
          但是,又由于这属于时钟沿触发,当复位信号释放时,触发器的输出要延迟一个时钟周期才能恢复成‘1‘,
          因此使得复位信号的释放与时钟沿同步化。此外,还有一种方法更为直接,就是直接在异步复位信号后
          加一个D触发器,然后用D触发器的输出作为后级系统的复位信号,也能达到相同的效果。
     五、多时钟系统中复位的处理方法
          这是一个很实际的问题,因为在较大型的系统中,一个时钟驱动信号显然不能满足要求,一定会根据系统
    的要求用多个同源时钟(当然也可以是非同源了)去驱动系统的不同部分。那么在这样的多时钟系统中,复位
    键怎么设置?它的稳定与否直接关系到整个系统的稳定性,因此要格外注意(其实,复位信号在同步时序系统
    中的地位和时钟信号一样重要)。下面就说一下具体的处理方法,当然所遵循的原则就仍应该是上位的“异步
    复位,同步释放“:
          (1) non-coordinated reset removal: 顾名思义,就是同一个系统中的多个同源时钟域的复位信号,有
     彼此独立的“reset synchronizer”驱动。当异步复位信号有效时,各时钟域同时复位,但是复位释放的时间
     由各自的驱动时钟决定,也就是说:时钟快的先释放,时钟慢的后释放,但是各复位信号之间没有先后关系。
           (2) sequence coordinated reset removal:这是相对于上述方式来说的,也就是说各时钟域的复位信号
     彼此相关,各个部分系统虽然也同时复位,但是却分级释放。而分级的顺序可由各个“reset synchronizer”
     的级联方式决定。可以先复位前级,再复位后级,也可以反过来。Verilog描述如下:
           例子:三级复位系统,系统中的时钟分别为1m,2m,11m:
              第一级reset_synchronizer程序:
               module reset_synchronizer (
                                         input clk, asyncrst_n;
                                         output reg rst_n
                                        );
                                 reg rff1;
                  always @(posedge clk or negedge asyncrst_n) begin
                                        if (!asyncrst_n)
                                            {rst_n, rff1} <= 2‘b0;
                                        else
                                            {rst_n, rff1} <= {rff1, 1‘b1};
                                        end                                        
                          endmodule          
                  第二、三级reset_synchronizer程序:
                            module reset_synchronizer2 (
                                         input clk, asyncrst_n, d;
                                         output reg rst_n
                                        );
                                                reg rff1;
                                        always @(posedge clk or negedge asyncrst_n) begin
                                                if(!asyncrst_n)
                                                        {rst_n, rff1} <= 2‘b0;
                                                else
                                                        {rst_n, rff1} <= {rff1, d};
                                                end
                          endmodule


             顶层模块的程序:         
                             module top (
                                      input clk1m, clk2m, clk11m, sysrst_n;
                                                  output sysrst1m_n, sysrst2m_n, sysrst11m_n                                    
                                     );
                                                 
                                reset_synchronizer rst1m(
                                                                      .clk (clk1m),
                                                                      .asyncrst_n (sysrst_n),
                                                                      .rst_n (sysrst1m_n)                                              
                                                                 );
                                                                                         
                                reset_synchronizer2 rst2m(
                                                                .clk (clk2m),
                                                                .d (sysrst1m_n),
                                                                .asyncrst_n (sysrst_n),
                                                                .rst_n (sysrst2m_n)                                              
                                                                 );                                                                                         
                                                                                         
                                reset_synchronizer2 rst11m(
                                                                .clk (clk1m),
                                                                .d (sysrst2m_n),                                                                                
                                                                .asyncrst_n (sysrst_n),
                                                                .rst_n (sysrst1m_n)                                              
                                                                 );                                                                                         
                                        
                    endmodule          

42.Moore 与 Mealy 状态机的特征

状态机可分为有限状态机和无限状态机

Melay:下一状态仅仅取决于当前状态和输出----异步状态机

Moore机的下一状态取决于当前状态和当前输出,但其输出仅取决于当前状态

43.时钟周期为 T,触发器 D1 的建立时间最大为 T1max,最小为 T1min。组合逻 辑电路最大延迟为 T2max,最小为 T2min。问,触发器 D2 的建立时间 T3 和保 持时间 T4 应满足什么条件?

首先说下建立时间和保持时间的定义。

建立时间 (setup time)是指在触发器的时钟信号上升沿到来以前,数据稳定不 变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;保 持时间(hold time) 是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时 间, 如果保持时间不够,数据同样不能被打入触发器。

Tffpd :触发器的输出响应时间,也就是触发器的输出在 clk 时钟上升沿到来 后多长的时间内发生变化并且稳定,也可以理解为触发器的输出延时。

Tcomb :触发器的输出经过组合逻辑所需要的时间,也就是题目中的组合逻辑 延迟。

Tsetup :建立时间

Thold :保持时间

Tclk :时钟周期

建立时间容限:相当于保护时间,这里要求建立时间容限大于等于 0。

保持时间容限:保持时间容限也要求大于等于 0。

技术分享图片技术分享图片

 

 技术分享图片

关于保持时间的理解就是,在触发器 D2 的输入信号还处在保持时间的时候,如果触发器 D1 的输出已经通过组合逻辑到达 D2 的输入端的话,将会破坏 D2本来应该保持的数据。

44.给出某个一般时序电路的图,有 Tsetup、Tdelay、 Tck->q,还有 clock 的 delay, 写出决定最大时钟的因素,同时给出表达式

T+Tclkdealy>Tsetup+Tco+Tdelay ;

Thold>Tclkdelay+Tco+Tdelay 

45.函数和任务的区别?

函数:代表纯组合逻辑

任务:既可以表示组合逻辑,又可以表示组合逻辑也可以表示时序逻辑。

A函数只能与主模块公用同一个仿真时间单位,而任务可以定义自己的仿真时间单位。

B函数不能启动任务,而任务可以启动其他任务和函数。

C函数至少要有一个输入变量,而任务可以没有或有多个任何类型的变量

D函数返回一个值,而任务不返回值

46.LDO和DC_DC的区别?

LDO只能降压,DC_DC有降压补偿款 升压buck_boost 和升降压

LDO由于内部原理是MOS管饱和降压,效率较低,噪声低,纹波小。

DC-DC通过开关,电感充放电,效率高,但是噪声高。

47.说说静态、动态时序模拟的优缺点?

静态时序分析是采用穷尽分析方法来提取出整个电路存在的所有时序路径,计算信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足时 序要求,通过对最大路径延时和最小路径延时的分析,找出违背时序约束的错误。 它不需要输入向量就能穷尽所有的路径,且运行速度很快、占用内存较少,不仅可以对芯片设计进行全面的时序功能检查,而且还可利用时序分析的结果来优化设计,因此静态时序分析已经越来越多地被用到数字集成电路设计的验证中。 动态时序模拟就是通常的仿真,因为不可能产生完备的测试向量,覆盖门级网表 中的每一条路径。因此在动态时序分析中,无法暴露一些路径上可能存在的时序问题。

48.画出 CMOS 电路的晶体管级电路图,实现 Y=A*B+C(D+E)

此类题目都可以采用一种做法,首先将表达式全部用与非门和非门表示,然后将用 CMOS 电路实现的非门和与非门代入即可。非门既可以单独实现,也可 以用与非门实现(将两输入端接在一起即可 )

技术分享图片技术分享图片

49.利用 4 选 1 数据选择器实现 F(x,y,z)=xz+yz’

技术分享图片

50.A、 B、C、 D、E 进行投票,多数服从少数,输出是 F(也就是如果 A、B 、C、D 、E 中 1 的个数比 0 多,那么 F 输出为 1 ,否则 F 为 0) ,用与非门实现,输入 数目没有限制

记 A 赞成时 A=1,反对时 A=0 ;B 赞成时 B=1,反对时 B=0 ;C、 D、E 亦 是如此。由于共 5 人投票且少数服从多数,因此只要有三人投赞成票即可,其他人的投票结果并不需要考虑。基于以上分析,下图给出用与非门实现的电路:

技术分享图片

 

 51.用逻辑门画出D触发器

技术分享图片

维持阻塞D触发器,电平触发,会有延时。

52.技术分享图片简述 latch 和 filp-flop 的异同

触发器:能够存储一位二值信号的基本单元电路统称为“触发器”。

锁存器:一位触发器只能传送或存储一位数据,而在实际工作中往往希望一次传送或存储多位数据。为此可把多个触发器的时钟输入端 CP 连接起来,用一个公共的控制信号来控制,而各个数据端口仍然是各处独立地接收数据。这样所构成的能一次传送或存储多位数据的电路就称为“锁存器”

D 触发器是指由时钟边沿触 发的存储器单元,锁存器指一个由信号而不是时钟控制的电平敏感的设备

锁存器通过锁存信号控制,不锁存数据时,输出端的信号随输入信号变化,就像信号 通过缓冲器一样,一旦锁存信号起锁存作用,则数据被锁住,输入信号不起作用。

53.latch 与 register 的区别,为什么现在多用 register。行为级描述中 latch 如何产生的

latch 是电平触发,register 是边沿触发, register 在同一时钟边沿触发下 动作,符合同步电路的设计思想,而 latch 则属于异步电路设计,往往会导致时 序分析困难,不适当的应用 latch 则会大量浪费芯片资源。

 54.How many flip-flop circuits are needed to divide by 16 (Intel)

log2(n)

55.实现 N 位 Johnson Counter,N=5

首先给大家解释下 Johnson Counter,Johnson Counter 即约翰逊计数器,又称扭环形计数器,是移位寄存器型计数器的一种。

由于环形计数器的电路状态利用率较低,为了在不改变移位寄存器内部结构的条件下提高环形计数器的电路状态利用率,只能从改变反馈逻辑电路上想办法。

事实上任何一种移位寄存器型计数器的结构都可表示为如下图所示的一般形式。其中反馈逻辑电路的函数表达式可写成:

技术分享图片技术分享图片

 

技术分享图片技术分享图片

56.Please draw schematic of a common SRAM cell with 6 transistors,point out which nodes can store data and which node is word line control

技术分享图片

57.用你熟悉的设计方式设计一个可预置初值的 7 进制循环计数器,15 进制的呢

这里选择用十六进制计数器 74LS161 实现,原理很简单:用 74LS161 实现 N(N<16)进制计数器,只需当计数器从 0000 增加到 N-1 时让 74LS161 清零即可。 对于 7 进制,当增加到 6(0110)时将计数器清零即可。下面简单介绍下 74LS161,下图为 74LS161 的原理图:

技术分享图片技术分享图片

 

管脚说明: A、B 、C、 D:数据输入端 QA、 QB、QC 、QD:数据输出端 RCO:进位输出端 CLRN:异步清零端,低电平有效 LDN:同步并行置入控制端,低电平有效

ENT、ENP :计数控制端,高电平有效。

下图为用 74LS161 设计的可预置初值的 7 进制循环计数器, D3 D2 D1D0 为预置数输入端。

如果想设计 15 进制,只要在 QD QC QB QA=1110 时将 CLRN 置低即可。

58.阻塞赋值和非阻塞赋值的区别

非阻塞赋值:块内的赋值语句同时赋值,一般用在时序电路描述中;

阻塞赋值:完成该赋值语句后才能做下一句的操作,一般用在组合逻辑描述。

59.磁珠的基础知识?

磁珠专用于抑制信号线、电源线上的高频噪声和尖峰干扰,还具有吸收静电脉冲的能力。磁珠是
用来吸收超高频信号,象一些RF电路,PLL,振荡电路,含超高频存储器电路(DDRSDRAM,
RAMBUS等)都需要在电源输入部分加磁珠,而电感是一种蓄能元件,用在LC振荡电路,中低频的滤
波电路等,其应用频率范围很少超过50MHZ。 磁珠有很高的电阻率和磁导率,等效于电阻和电感串
联,但电阻值和电感值都随频率变化。

磁珠(Ferrite bead)的等效电路是一个DCR电阻串联一个电感并联一个电容和一个电阻。DCR
是一个恒定值,但后面三个元件都是频率的函数,也就是说它们的感抗,容抗和阻抗会随着频率的变
化而变化,当然它们阻值,感值和容值都非常小。在低频段时,X感抗主要起作用,起反射噪声的作
用;在高频段时,R主要起作用,起吸收噪声并转变为热能的作用。X和R曲线的焦点称为抗阻特性的
转折点。在转折点以下,磁珠表现为感性,反射噪声;在转折点以上磁珠表现为电阻性,磁珠吸收噪
声并转化为热能 。
技术分享图片

磁珠主要用于EMI差模噪声抑制,他的直流阻抗很小,在高频下却有较高阻抗,一般说的600R是
指100MHZ测试频率下的阻抗值。选择磁珠应考虑两方面:一是电路中噪声干扰的情况,二是需要通
过的电流大小。要大概了解噪声的频率、强度,不同的磁珠的频率阻抗曲线是不同的,要选在噪声中

心频率磁珠阻抗较高的那种。噪声干扰大的要选阻抗高一点的,但并不是阻抗越高越好,因为阻抗越

高DCR也越高,对有用信号的衰减也越大。但一般也没有很明确的计算和选择的标准,主要看实际使
用的效果,120R-600R之间都很常用。然后要看通过电流大小,如果用在电源线部分则要选额定电流
较大的型号,用在信号线部分则一般额定电流要求不高。另外磁珠一般是阻抗越大额定电流越小。
磁珠选型
A频率特性曲线。频率与阻抗
B直流电阻。DCR
C额定电流。Ir
60.如何处理信号跨时钟域?

  多时钟域的设计中,对于信号跨时域的处理这里可以采用乒乓操作的方法来进行。乒乓操作的处理流程为:输入数据流通过输入数据选择单元将数据流等时分配到两个数据缓冲区,数据缓冲模块可以为任何存储模块,比较常用的存储单元为双口RAM(DPRAM)、单口RAM(SPRAM)、FIFO等。

  在第1个缓冲周期,将输入的数据流缓存到“数据缓冲模块1”;

  在第2个缓冲周期,通过“输入数据选择单元”的切换,将输入的数据流缓存到“数据缓冲模块2”,同时将“数据缓冲模块1”缓存的第1个周期数据通过“输入数据选择单元”的选择,送到“数据流运算处理模块”进行运算处理;

  在第3个缓冲周期通过“输入数据选择单元”的再次切换,将输入的数据流缓存到“数据缓冲模块1”,同时将“数据缓冲模块2”缓存的第2个周期的数据通过“输入数据选择单元”切换,送到“数据流运算处理模块”进行运算处理。如此循环。

     乒乓操作的最大特点是通过“输入数据选择单元”和“输出数据选择单元”按节拍、相互配合的切换,将经过缓冲的数据流没有停顿地送到“数据流运算处理模块” 进行运算与处理。把乒乓操作模块当做一个整体,站在这个模块的两端看数据,输入数据流和输出数据流都是连续不断的,没有任何停顿,因此非常适合对数据流进行流水线式处理。所以乒乓操作常常应用于流水线式算法,完成数据的无缝缓冲与处理。还可以节约缓冲区空间。

  还有一种方法,FIFO一般用于不同时钟域之间的数据传输,比如FIFO的一端时AD数据采集,另一端时计算机的PCI总线,假设其AD采集的速率为16 位 100K SPS,那么每秒的数据量为100K×16bit=1.6Mbps,而PCI总线的速度为率33MHz,总线宽度32bit,其最大传输速为 1056Mbps可以采,在两个不同的时钟域间就用FIFO来作为数据缓冲。另外对于不同宽度的数据接口也可以用FIFO,例如单片机位8位数据输出,而 DSP可能是16位数据输入,在单片机与DSP连接时就可以使用FIFO来达到数据匹配的目的。

  不同的时钟域之间信号通信时需要进行同步处理,这样可以防止新时钟域中第一级触发器的亚稳态信号对下级逻辑造成影响,其中对于单个控制信号可以用两级同步器,如电平、边沿检测和脉冲,对多位信号可以用FIFO,双口RAM,握手信号等。

  情况比较多,如果简单回答的话就是:跨时域的信号要经过同步器同步,防止亚稳态传播。例如:时钟域1中的一个信号,要送到时钟域2,那么在这个信号送到时钟域2之前,要先经过时钟域2的同步器同步后,才能进入时钟域2。这个同步器就是两级d触发器,其时钟为时钟域2的时钟。这样做是怕时钟域1中的这个信号,可能不满足时钟域2中触发器的建立保持时间,而产生亚稳态,因为它们之间没有必然关系,是异步的。这样做只能防止亚稳态传播,但不能保证采进来的数据的正确性。所以通常只同步很少位数的信号。比如控制信号,或地址。当同步的是地址时,一般该地址应采用格雷码,因为格雷码每次只变一位,相当于每次只有一个同步器在起作用,这样可以降低出错概率,象异步FIFO的设计中,比较读写地址的大小时,就是用这种方法。
  如果两个时钟域之间传送大量的数据,可以用异步FIFO来解决问题 。

61.EMI三要素?

电磁干扰源 耦合途径 敏感设备

62.Recovery check和removal check的概念?怎样保证不会出现问题?

在同步电路中,输入数据需要与时钟满足setup time和hold time才能进行数据的正常传输,防止亚稳态。同样的道理,对于一个异步复位寄存器来说,同样异步复位信号同样需要和时钟满足recovery time和removal time 才能有效进行复位操作和复位释放操作,防止输出亚稳态。

技术分享图片

1、recovery time:恢复时间

撤销复位时,恢复到非复位状态的电平必须在时钟有效沿来临之前的一段时间到来,才能保证时钟能有效恢复到非复位状态,此段时间为recovery time。类似于同步时钟的setup time。

如图所示,rst_n为0表示复位,clk上升沿触发,rst_n从0到1的上升沿与时钟上升沿必须不小于recovery time才能保证寄存器恢复到正常状态。

2、removal time :去除时间

 复位时,在时钟有效沿来临之后复位信号还需要保持的时间为去除时间removal time(去除时间)。类似同步时钟hold time

 如图所示,rst_n为0表示复位有效,clk为上升沿触发,rst_n保持为0经过clk上升沿后仍需要保持一段时间,才能保证寄存器有效复位,防止亚稳态。

63.SDF文件在IC设计中哪个阶段使用?文件包含了哪些信息?

(Standard delay format),叫标准延时格式,是IEEE标准,它描述设计中的时序信息,指明了模块管脚和管脚之间的延迟、时钟到数据的延迟和内部连接延迟。

64.画出四分频电路?(用SR触发器)

技术分享图片

65.画出assign out=(a[3:0]!=4‘b0001)的门电路?

技术分享图片

66.分析一下电路功能?

技术分享图片

clk 16分频后输出A

 67.UART I2C SPI

UART:异步,主要用于两个设备之间,所以需要电平转换,因为只有TX和RX,所以两个串口进行通信时,需要先约定一个数据传输速率,并且两个时钟速率要接近,相差太大会造成数据混乱。

因为没有时钟信号,每个数据帧都要插入至少一个起始位和终止位。意味着传输8bit数据实际要花费10bit的传输时间,从而降低数据传输速率。全双工,(总线,星型,树形1200m)

I2C:同步 半双工 总线仲裁机制 发地址和发数据(总线型)速率100kbps-3.4Mbps 地址帧和数据帧,长度为8bit,每个字节后跟随一个ACK信号,一般上拉电阻为4.7k左右,开始SDA和SCL为高电平,开始信号是将SDA拉低,谁先拉低SDA,谁获得总线控制权。结束信号SDA置于低电平,SCL拉高并保持高电平,再讲SDA拉高。地址帧从MSB开始传输,最后1bit 1为读,0为写,所以最大能够挂载127个设备。

技术分享图片

 

SPI:同步 四根线 MISO MOSI SCK CS 通过片选选择设备 可以选择相位极性,时钟极性(环形)

 

 

 

 

 





 

 

 

 

 

 

































































































































































以上是关于硬件笔试面试题的主要内容,如果未能解决你的问题,请参考以下文章

Java笔试面试题整理第一波

java开发师笔试面试每日12题

多线程笔试面试题汇总

java面试题笔试常见选择题大全含答案

可能碰到的iOS笔试面试题--C语言

软件实施工程师面试或者笔试时候该注意啥问题?