当前位置:文档之家› CVTE面试题

CVTE面试题

CVTE面试题
CVTE面试题

Android 运行环境主要指的虚拟机技术——Dalvik。Android中的所有Java程序都是运行在Dalvik VM上的。Android上的每个程序都有自己的线程,DVM只执行.dex的Dalvik executable 文件。每个Android应用在底层都对应有一个独立的DVM实例并在其解释下执行。

虽然DVM也是用Java编程语言,Dalvik虚拟机和一般JAVA虚拟机(Java VM)并不兼容,他们两个的区别是JVM标准执行的是.class的字节码(bytecode ),而是DVM执行的是其专有的(.dex)执行文件。在编译过程中,Java把类编译成一个或多个.class byte code 文件,然后打包到jar中,JVM会从中jar文件中获得相应的.class文件和JRE字节码。 Android VM虽然也是是用Java语言进行编程, Java程序通过编译后,还需要通过SDK中的dex工具转化成.dex格式,DVM再从其中读取指令和数据。

每一个应用程序即一个进程(Linux的一个Process)。二者最大的区别在于Java VM是以基于栈的虚拟机(Stack-based),而Dalvik是基于寄存器的虚拟机(Register-based)。显然,后者最大的好处在于可以根据硬件实现更大的优化,这更适合移动设备的特点。

DVM非常适合在移动终端上使用,与PC相比,它不需要很快的CPU和大量的内存空间. Google 的测算显示,64MB的内存已经能让系统正常运转了。其中24MB被用于底层系统的初始化和启动。另外20MB被用于启动高层服务。DVM有如下特征:

?使用专有的.dex格式。

?原因是java类文件在编译过后,会产生至少一个.class文件包含大量陈余信息,dex文件格式会把所有的.class文件内容整合到一个.dex文件中。即减少了整体文件的尺寸和IO

操作,也提高了类的查找速度。

?增加了对新的操作码的支持

?文件结构尽量简洁,使用等长的指令,借以提高解析速度。

?尽量扩大只读结构的大小,借以提高跨进程的数据共享。

?dex的优化,dex文件的结构是紧凑的,但是如果想提高运行时的性能,就需要对dex文件进行进一步的优化,这些优化针对以下几个方面:

?验证dex文件中的所有类

?对一些特定的类和方法里面的操作码进行优化

?调整所有的字节序(Little_endian)和对齐结构中的每一个域

?基于寄存器,基于寄存器的虚拟机虽然比基于堆栈的虚拟机在硬件,通用性上要差一些,但是它的代码执行效率去更好

?每一个Android应用都运行在它自己的DVM实例中,每一个DVM实例都是一个独立的进程空间。所有的Android应用的线程都对应一个Linux线程,DVM因此可以更多地依赖操作系统的线程调度和管理机制。不同的应用在不同的进程空间里运行,不同的应用都是用不同的Linux用户来运行以最大程度地保户应用程序的安全性和独立性https://www.doczj.com/doc/635176074.html,/virus026/archive/2010/12/19/6085779.aspx

6、 android中的动画有哪几类,它们的特点和区别是什么?

两种,一种是Tween动画、还有一种是Frame动画。Tween动画,这种实现方式可以使视图

组件移动、放大、缩小以及产生透明度的变化;另一种Frame动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。

7、handler机制的原理

andriod提供了 Handler 和 Looper 来满足线程间的通信。Handler 先进先出原则。Looper 类用来管理特定线程内对象之间的消息交换(Message Exchange)。

1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(消息队列)。

2)Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到Message Queue 里;或者接收Looper从Message Queue取出)所送来的消息。

3) Message Queue(消息队列):用来存放线程放入的消息。

4)线程:UI thread 通常就是main thread,而Android启动程序时会替它建立一个Message Queue

19. 请解释下在单线程模型中Message、Handler、Message Queue、Looper之间的关系。简单的说,Handler获取当前线程中的looper对象,looper用来从存放Message的MessageQueue中取出Message,再有Handler进行Message的分发和处理

18. 注册广播有几种方式,这些方式有何优缺点?请谈谈Android引入广播机制的用意。android中,不同进程之间传递信息要用到广播,可以有两种方式来实现。

第一种方式:在Manifest.xml中注册广播,是一种比较推荐的方法,因为它不需要手动注销广播(如果广播未注销,程序退出时可能会出错)。

具体实现在Manifest的application中添加:

上面两个android:name分别是广播名和广播的动作(这里的动作是表示系统启动完成),如果要自己发送一个广播,在代码中为:

Intent i = new Intent(“android.intent.action.BOOT_COMPLETED”);

sendBroadcast(i);

这样,广播就发出去了,然后是接收。

接收可以新建一个类,继承至BroadcastReceiver,也可以建一个BroadcastReceiver的实例,然后得写onReceive方法,实现如下:

protected BroadcastReceiver mEvtReceiver = new BroadcastReceiver() {

@Override

public void onReceive(Context context, Intent intent) {

String action = intent.getAction();

if (action.equals(“android.intent.action.BOOT_COMPLETED”)) {

//Do something

}

}

};

第二种方式,直接在代码中实现,但需要手动注册注销,实现如下:

IntentFilter filter = new IntentFilter();

filter.addAction(“android.intent.action.BOOT_COMPLETED”);

registerReceiver(mEvtReceiver, filter); //这时注册了一个recevier ,名为mEvtReceiver,然后同样用上面的方法以重写onReceiver,

最后在程序的onDestroy中要注销广播,实现如下:

@Override

public void onDestroy() {

super.onDestroy();

unregisterReceiver(mPlayerEvtReceiver);

}

Android系统中的广播是广泛用于应用程序之间通信的一种手段,它类似于事件处理机制,不同的地方就是广播的处理是系统级别的事件处理过程(一般事件处理是控件级别的)。在此过程中仍然是离不开Intent对象,理解广播事件的处理过程,灵活运用广播处理机制,在关键之处往往能实现特别的效果,

在Android 中如果要发送一个广播必须使用sendBroadCast 向系统发送对其感兴趣的广播接收器中。

使用广播必须要有一个intent 对象必设置其action动作对象

使用广播必须在配置文件中显式的指明该广播对象

每次接收广播都会重新生成一个接收广播的对象

在BroadCast 中尽量不要处理太多逻辑问题,建议复杂的逻辑交给Activity 或者Service 去处理

34、android 中有哪几种解析xml的类?官方推荐哪种?以及它们的原理和区别。

XML解析主要有三种方式,SAX、DOM、PULL。常规在PC上开发我们使用Dom相对轻松些,但一些性能敏感的数据库或手机上还是主要采用SAX方式,SAX读取是单向的,优点:不占内存空间、解析属性方便,但缺点就是对于套嵌多个分支来说处理不是很方便。而DOM方式会把整个XML文件加载到内存中去,这里Android开发网提醒大家该方法在查找方面可以和XPath很好的结合如果数据量不是很大推荐使用,而PULL常常用在J2ME对于节点处理比较好,类似SAX方式,同样很节省内存,在J2ME中我们经常使用的KXML库来解析。

android中的动画有哪几类,它们的特点和区别是什么?

两种,一种是Tween动画、还有一种是Frame动画。Tween动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化;另一种Frame动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。

简单地说一下为什么是这样:我们手机在运行

一个应用程序的时候,有可能打进来电话发进来短信,或者没有电了,这时候程序都会被中断,优先去服务电话的基本功能,另外系统也不允许你占用太多资源,至少要保证电话功能吧,所以资源不足的时候也就有可能被干掉。言归正传,Activity的基本生命周期如下代码所示: Java 代码 ? 1 2 3 4

public class MyActivity extends Activity { protected void onCreate(Bundle savedInstanceState); protected void onStart(); protected void onResume(); protected void onPause(); protected void onStop(); protected void onDestroy(); } 你自己写的Activity会按需要

重载这些方法,onCreate是免不了的,在一个Activity正常启动的过程中,他们被调用的顺序是 onCreate -> onStart ->onResume, 在Activity被干掉的时候顺序是onPause -> onStop -> onDestroy ,这样就是一个完整的生命周期,但是有人问了

,程序正运行着呢来电话了,这个程序咋办?中止了呗,如果中止的时候新出的一个Activity是全屏的那么:onPause->onStop ,恢复的时候onStart->onResume ,如果打断这个应用程序的是一个Theme为Translucent 或者Dialog 的Activity那么只是onPause ,恢复

的时候onResume 。

详细介绍一下这几个方法中系统在做什么以及我们应该做什么: onCreate:

在这里创建界面,做一些数据的初始化工作 onStart:

到这一步变成用户可见不可交互的 onResume:

变成和用户可交互的,(在activity 栈系统通过栈的方式管理这些个Activity的最上面,运行完弹出栈,则回到上一个Activity) onPause:

到这一步是可见但不可交互的,系统会停止动画等消耗CPU 的事情从上文的描述已经知道,应该在这里保存你的一些数据,因为这个时候你的程序的优先级降低,有可能被系统收回。在这里保存的数据,应该在 onResume里读出来,注意:这个方法里做的事情时间要短,因为下一个activity不会等到这个方法完成才启动 onstop:

变得不可见,被下一个activity覆盖了

onDestroy: 这是activity被干掉前最后一个被调用方法了,可能是外面类调用finish方法或者是系统为了节省空间将它暂时性的干掉,可以用 isFinishing()来判断它,如果你有一个Progress Dialog在线程中转动,请在onDestroy里把他cancel掉,不然等线程结束的时候,调用Dialog的cancel方法会抛异常的。

onPause,onstop, onDestroy,三种状态下 activity都有可能被系统干掉为了保证程序的正确性,你要在onPause()里写上持久层操作的代码,将用户编辑的内容都保存到存储介质上(一般都是数据库)。实际工作中因为生命周期的变化而带来的问题也很多,比如你的应用程序起了新的线程在跑,这时候中断了,你还要去维护那个线程,是暂停还是杀掉还是数据回滚,是吧?因为Activity可能被杀掉,所以线程中使用的变量和一些界面元素就千万要注意了,一般我都是采用Android的消息机制 [Handler,Message]来处理多线程和界面交互的问题。这个我后面会讲一些,最近因为这些东西头已经很大了,等我理清思绪再跟大家分享

JAVA

1.GC是什么? 为什么要有GC?

GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。

2.XML包括哪些解释技术,区别是什么?

DOM和SAX

DOM将文档解析成一颗文档树,可在节点上进行遍历、增加、修改和删除。一次性读入内存,对内存消耗大。

SAX至上而下解析文档,以事件进行驱动。不会一次性读入内存,对内存消耗小,不能任意读取节点,并且不能对节点进行增加、修改和删除。

3.switch语句能否作用在byte上,能否作用在long上,能否作用在String上?

switch能作用在byte、char、short和int上,JDK1.7后可以作用在String上。

4."=="和equals方法究竟有什么区别?

==和equals都可以比较地址。==是运算符,equals是方法,方法可以通过重写改变其行为,如String的equals就是比较字符串内容。

5.构造方法能否被重写和重载?

构造方法不能被重写但是能被重载。

6.面向对象的特征有哪些?

封装、继承、多态和抽象。

7.抽象类和接口的区别?

1).抽象类是abstract class修饰,接口是interface修饰。

2).抽象类可以有任意类型的属性,接口只能有静态常量修饰的属性。

3).抽象类可以有普通方法和抽象法方法,接口的方法都是抽象方法。

4).抽象类和接口都不能实例化,但是抽象类有构造方法,接口没有构造方法。

5).抽象类只能单根继承,接口可以多重实现。

8.内部类可以引用它的包含类的成员吗?有没有什么限制?

可以引用。如果需要指定当前类时要用外部类.this来引用。如果引用局部变量,需要将局部变量指定为final。

9.String s = new String("xyz");创建了几个String Object? 二者之间有什么区别?

2个对象。"xyz"创建在字符串常量池中,new String()创建在堆中。

10.try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

会在return前执行。

11.Integer与int的区别

Integer为包装类,int是基本数据类型。包装类拥有方法和属性,基本数据类型不具备。包装类可以通过intValue来转换成基本数据类型,也可以通过new Integer()将基本数据类型转换为包装类。在JDK1.5后,包装类和基本数据类型可以实现自动转换。

12.sleep()和wait()有什么区别?

sleep是Thread类的方法,wait是Object类的方法。

sleep是自动唤醒,wait需要其他线程来唤醒。

sleep不会释放同步锁,wait会释放同步锁。

sleep可以用在任意方法中,wait只能用在同步方法或同步块中。

13.Sleep()不会释放对象锁到时自动恢复 wait()会释放对象锁进入等待此对象的等待锁定池发出notify()方法后才进入等待锁定池准备对象锁的获取进入运行状态

14.同步和异步有何异同,在什么情况下分别使用他们?

同步指同一时间只能一个线程执行该方法,其他线程需要等待。异步指多个线程可以同时执行某个方法,并共享同一资源。

同步可以让访问的资源具有安全性,因为同一时间只能一个线程对其进行访问。但是效率不高。

异步对访问的资源会造成不稳定性,比如多个线程同时访问一个资源,一个在修改、一个在删除、一个在读取,这样可能会造成资源的混乱。但是由于同时运行,执行效率得到提高。

15.启动一个线程是用run()还是start()?

start()方法启动线程,run方法是线程执行的主方法。

16.java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?

java中有三种流,分别是字节流(InputStream、OutputStream)、字符流(Reader、Writer)、对象流(ObjectInputStream、ObjectOutputStream)。

17.字节流与字符流的区别?

字节流用于读取或写出二进制数据,比如图片、影像等数据。

字符流用于读取或写出字符数据,比如传输字符串。

所有的数据都可以通过字节流来进行处理,不过如果是字符数据,用字节流还需要进行转

换后传输,如果使用字符流可以方便数据的转换。

18.error和exception有什么区别?

error是系统错误,代码不能处理的错误,比如内存溢出、堆栈溢出等。

exception是程序异常,可以通过代码try-catch进行处理,比如空指针异常,数组越界等。

19.谈谈final,finally,finalize的区别?

final是修饰符,可以修饰类(不能被继承)、属性(常量)、和方法(不能被重写)。

finally是异常处理块中的代码块,表示无论如何都会执行的代码块。

finalize是Object类的方法,该方法在对象被垃圾回收之前执行的方法。

20.当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

如果其他方法没有加synchronized的话是可以进入的。

21.当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

java中只有值传递,如果传递的对象,实际也是传递该对象的地址。

22.作用域public,private,protected,以及不写时的区别

public公共修饰符,表示任意类都可以访问。

protected为受保护的修饰符,表示同类、同包以及不同包但是父子关系的是可以访问。

不写表示默认修饰符,或者称为package修饰符,该修饰符表示只有同类或同包下的类可以访问,出了这个包就不能访问了。

private为私有修饰符,表示只有同类中可以访问,出了这个类就不能访问了。

23.用最有效率的方法算出2乘以8等於几 2《 3

将2的二进制向左移3位。java中用<<来移位。

24.heap和stack有什么区别。

heap表示堆,stack表示栈。堆中放对象,栈中放引用变量。

堆空间是一个无序的空间,栈是先进后出的结构。

25.运行时异常与一般异常有何异

运行时异常是指继承于RuntimeException的异常,这些异常在编译时可以不进行处理,当运行时如果出现问题才会抛出。如NullPointException、ArrayIndexOutOfBoundsException

一般异常也称为编译时异常,这些异常是继承Exception但又不属于RuntimeException的子类,如果程序中出现这些异常,在编译时必须进行捕获或抛出,否则编译无法通过。如IOException、FileNotFoundException

26.垃圾回收的优点和原理。并考虑2种回收机制

Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有"作用域"的概念,只有对象的引用才有"作用域"。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。

27.描述一下JVM加载class文件的原理机制?

JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader 是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。

28.是否可以从一个static方法内部发出对非static方法的调用?

不能,除非先创建非static方法所在类的对象。

29.什么是java序列化,如何实现java序列化?

30.使用serializable关键字使用一个输出流构造一个对象流流对象然后使用对象流对象的writeObject()就可以将参数为obj的对象写出

31.Anonymous Inner Class(匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

匿名内部类可以继承类或实现接口,但不是显示的使用extends或implements来继承或实现。

32.ArrayList和Vector的区别,HashMap和Hashtable的区别?

ArrayList是JDK1.2的集合类并且线程不安全,Vector是1.0的集合类并且线程安全,二者用法类似。

HashMap线程不安全且能放空键或空值,Hashtable线程安全且不能放空键或空值。

33.String 和StringBuffer有什么差别?在什么情况下使用它们?

String字符串的基本类,该字符串是不可变的。StringBuffer是利用堆来存储字符串,并且可以对字符串的内容进行改变。

34.new一个类对象和使用类名创建一个对象有什么区别?二者使用时应该注意什么?

new对象是最常见的创建对象的方式,利用类模板是通过反射来创建对象。虽然new对象时在底层也会通过类模板来创建对象,但是new对象的效率要比直接通过类模板创建对象的方式要高。

但是使用类模板的方式可以让程序的灵活性提高。

35.LinkedList和ArrayList的区别?

1)LinkedList是链表结构的集合,ArrayList数组结构的集合。

2)LinkedList在中间或前面增加或删除数据时效率比ArrayList高。

3)LinkedList在最后添加或删除数据时效率比ArrayList低。

4)遍历数据时ArrayList效率高于LinkedList。

36.介绍JAVA开发中常用的Collection FrameWork(集合框架)?

Java中集合框架分为Collection和Map接口,Collection接口下的集合每个元素都由一个值组成,Map接口下的集合类每个元素都是由键值对组成。

Collection接口下面有List和Set接口,List接口下常见的类有ArrayList、LinkedList、Vector。它们中的元素可以重复,并且是有序的。Set接口下常见的类有HashSet、TreeSet。它们中的元素不能重复,并且是无序的。

37.在异常当中 throw和throws 有什么区别和联系?

throw是在代码中抛出一个异常,后面跟的是异常对象,虚拟机运行到这里时会立即引发一个异常。

throws是写在方法声明上的,表示声明该方法可能会抛出异常,后面跟的是异常类型。调用该方法的时候可以选择处理它或继续往外抛。

38.重载和重写的区别

重载是指在一个类中,两个或两个以上的方法具有相同方法名和不同参数列表,则表示这些方法为重载方法。

重写是指在父类和子类中,子类的方法和父类的方法具有相同方法名、相同参数列表、相同返回类型、子类的访问修饰符范围不小于父类的访问修饰符范围,异常的类型和个数不大于或多于父类的异常类型和个数,则表示该方法为重写方法。换句话说重载方法是区分同一个类中相同方法名的方法,重写方法是找到父类相同方法名的方法并重新改变方法的行为。

Android

39.activity、Service、BroadcastReceiver的作用(android)

Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态,做很多持久化的事情,妥善管理生命周期以及一些跳转逻辑

service:后台服务于Activity,封装有一个完整的功能逻辑实现,接受上层指令,完成相关的指令,定义好需要接受的Intent提供同步和异步的接口

BroadCast Receiver:接受一种或者多种Intent作触发事件,接受相关消息,做一些简单处理,转换成一条Notification,统一了Android的事件广播模型

40.描述一个完整的Android activity lifecycle

activity的生命周期方法有:onCreate()、onStart()、onReStart()、onResume()、onPause()、onStop()、onDestory();

41.显式intent和隐式intent的区别是什么(android)

Intent定义:Intent是一种在不同组件之间传递的请求消息,是应用程序发出的请求和意图。作为一个完整的消息传递机制,Intent不仅需要发送端,还需要接收端。

显式Intent定义:对于明确指出了目标组件名称的Intent,我们称之为显式Intent。

隐式Intent定义:对于没有明确指出目标组件名称的Intent,则称之为隐式Intent。

说明:Android系统使用IntentFilter 来寻找与隐式Intent相关的对象。

42.Android中线程同步的方法

线程同步的方法可以采用同步方法和同步块。

43.怎么将一个Activity封装成对话框的样子? 怎样将Activity封装成长按Menu菜单的样子?

简单你只需要设置一下Activity的主题就可以了在AndroidManifest.xml 中定义Activity的地方一句话:

Xml代码

android :theme="@android:style/Theme.Dialog"

android:theme="@android:style/Theme.Dialog"

这就使你的应用程序变成对话框的形式弹出来了,或者

Xml代码

android:theme="@android:style/Theme.Translucent"

android:theme="@android:style/Theme.Translucent"

就变成半透明的。

重写OnCreateOptionMenu方法来处理按下menu后的行为,然后再该方法中弹出对话框形式的Activity。

也可以利用事件监听来监听menu按键,并在该按钮按下后弹出对话框形式的Activity。

44.介绍一下Android系统的体系结构

应用层:android的应用程序通常涉及用户界面和交互。

应用框架层:UI组件、各种管理器等。

函数库层:系统C库、媒体库、webkit、SQLite等。

linux核心库:linux系统运行的组件。

*45.描述下横竖屏切换时候 activity 的生命周期

不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次.

设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次.

设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法.

46.android 中的动画有哪几种,它们的特点和区别是什么 ?

两种,一种是补间动画(Tween)动画、还有一种是帧动画(Frame)动画。Tween动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化;另一种Frame动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。

47.一条最长的短信息约占多少 byte?

140byte,70个汉字。

48.描述handler 机制的原理

andriod提供了 Handler 和 Looper 来满足线程间的通信。

Handler 先进先出原则。

Looper类用来管理特定线程内对象之间的消息交换(Message Exchange)。

1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(消息队列)。

2)Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到Message Queue 里;或者接收Looper从Message Queue取出)所送来的消息。

3) Message Queue(消息队列):用来存放线程放入的消息。

4)线程:UI thread 通常就是main thread,而Android启动程序时会替它建立一个Message Queue。

49.如何将 SQLite 数据库 (dictionary.db 文件 ) 与 apk 文件一起发布 ?

可以将dictionary.db文件复制到Eclipse Android工程中的res\raw目录中。所有在res\raw目录中的文件不会被压缩,这样可以直接提取该目录中的文件。

使用openDatabase方法来打开数据库文件,如果该文件不存在,系统会自动创建/sdcard/dictionary目录,并将res\raw目录中的dictionary.db文件复制到

/sdcard/dictionary目录中

50.说说 android 中 mvc 的具体体现

mvc是model,view,controller的缩写,mvc包含三个部分:

模型(model)对象:是应用程序的主体部分,所有的业务逻辑都应该写在该层。

视图(view)对象:是应用程序中负责生成用户界面的部分。也是在整个mvc架构中用户唯一可以看到的一层,接收用户的输入,显示处理结果。

控制器(control)对象:是根据用户的输入,控制用户界面数据显示及更新model对象状态的部分,控制器更重要的一种导航功能,响应用户出发的相关事件,交给m层处理。

android鼓励弱耦合和组件的重用,在android中mvc的具体体现如下:

1)视图(view):一般采用xml文件进行界面的描述,使用的时候可以非常方便的引入。

2)控制层(controller):android的控制层的重任通常落在了众多的acitvity的肩上,这句话也就暗含了不要在acitivity中写过多的代码,要通过activity交割model业务逻辑层处理,这样做的另外一个原因是android中的acitivity的响应时间是5s,如果耗时的操作放在这里,程序就很容易被回收掉。

3)模型层(model):对数据库的操作、对网络等的操作都应该在model里面处理,当然对业务计算等操作也是必须放在的该层的。

51.请介绍下 Android 中常用的五种布局

帧布局(FrameLayout)

线性布局(LinearLayout)

表格布局(TableLayout)

相对布局(RelativeLayout)

绝对布局(AbsoluteLayout)

52.如何启用 Service ,如何停用 Service

1)startService用于启动Service、stopService停止Service。

2)bindService绑定Service,unbindService解除Service的绑定。

53.如何优化ListView

1、如果自定义适配器,那么在getView方法中要考虑方法传进来的参数contentView是否为null,如果为null就创建contentView并返回,如果不为null则直接使用。在这个方

法中尽可能少创建view。

2、给contentView设置tag(setTag()),传入一个viewHolder对象,用于缓存要显示的数据,可以达到图像数据异步加载的效果。

3、如果listview需要显示的item很多,就要考虑分页加载。比如一共要显示100条或者更多的时候,我们可以考虑先加载20条,等用户拉到列表底部的时候再去加载接下来的20条。

54.描述4 种 activity 的启动模式

1)standard :系统的默认模式,一次跳转即会生成一个新的实例。假设有一个activity 命名为MainActivity,执行语句:

startActivity(new Intent(MainActivity.this, MainActivity.class))后,MainActivity 将跳转到另外一个MainActivity,也就是现在的Task栈里面有MainActivity的两个实例。按返回键后你会发现仍然是在MainActivity(第一个)里面。

2)singleTop:singleTop 跟standard 模式比较类似。如果已经有一个实例位于Activity 栈的顶部时,就不产生新的实例,而只是调用Activity中的newInstance()方法。如果不位于栈顶,会产生一个新的实例。例:当MainActivity为 singleTop 模式时,执行跳转后栈里面依旧只有一个实例,如果现在按返回键程序将直接退出。

3)singleTask: singleTask模式和后面的singleInstance模式都是只创建一个实例的。在这种模式下,无论跳转的对象是不是位于栈顶的activity,程序都不会生成一个新的实例(当然前提是栈里面已经有这个实例)。这种模式相当有用,在以后的多activity开发中,经常会因为跳转的关系导致同个页面生成多个实例,这个在用户体验上始终有点不好,而如果你将对应的activity声明为 singleTask 模式,这种问题将不复存在。

4)singleInstance: 设置为 singleInstance 模式的 activity 将独占一个task(感觉task可以理解为进程),独占一个task的activity与其说是activity,倒不如说是一个应用,这个应用与其他activity是独立的,它有自己的上下文activity。

55.什么是Intent,如何使用?

Android基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent (意图) ,Intent提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传递Intent来执行动作和产生事件。使用Intent可以激活Android应用的三个核心组件:活动、服务和广播接收器。

通过startActivity() orstartActivityForResult()启动一个Activity;

过 startService() 启动一个服务,或者通过bindService() 和后台服务交互;

通过广播方法(比如 sendBroadcast(),sendOrderedBroadcast(),sendStickyBroadcast())发给broadcast receivers

56.Android用的数据库是什么样的?它和sql有什么区别?为什么要用ContentProvide?它和sql的实现上有什么差别?

Adnroid用的是SQLite数据库。它和其他网络数据库类似,也是通过SQL对数据进行管理。SQLite的操作非常简单,包括数据类型在建表时也可以不指定。

使用ContentProvider 可以将数据共享给其他应用,让除本应用之外的应用也可以访问本应用的数据。它的底层是用SQLite 数据库实现的,所以其对数据做的各种操作都是以Sql 实现,只是在上层提供的是Uri。

57.通过Intent传递一些二进制数据的方法有哪些?

1)使用Serializable接口实现序列化,这是Java常用的方法。

2)实现Parcelable接口,这里Android的部分类比如Bitmap类就已经实现了,同时Parcelable在Android AIDL中交换数据也很常见的。

58.对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中进行?

onResume()恢复数据、onPause()保存数据。

59.如何一次性退出所有打开的Activity

编写一个Activity作为入口,当需要关闭程序时,可以利用Activity的SingleTop模式跳转该Activity,它上面的所有Activity都会被销毁掉。然后再将该Activity关闭。

或者再跳转时,设置intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);这样也能将上面的Activity销毁掉。

60.说说Service的生命周期?

启动Service的方式有两种,各自的生命周期也有所不同。

一、通过startService启动Service:onCreate、onStartCommand、onDestory。

二、通过bindService绑定Service:onCreate、onBind、onUnbind、onDestory。

61.什么是AIDL?AIDL是如何工作的?

AIDL(Android接口描述语言)是一种接口描述语言; 编译器可以通过aidl文件生成一段代码,通过预先定义的接口达到两个进程内部通信进程的目的. 如果需要在一个Activity中, 访问另一个Service中的某个对象, 需要先将对象转化成AIDL可识别的参数(可能是多个参数), 然后使用AIDL来传递这些参数, 在消息的接收端, 使用这些参数组装成自己需要的对象。AIDL是基于接口的,但它是轻量级的。它使用代理类在客户端和实现层间传递值.。

62.Android如何把文件存放在SDCard上?

在AndroidManifest.xml中加入访问SDCard的权限如下:

android:name=”android.permission.MOUNT_UNMOUNT_FILESYSTEMS”/>

要往SDCard存放文件,程序必须先判断手机是否装有SDCard,并且可以进行读写。

注意:访问SDCard必须在AndroidManifest.xml中加入访问SDCard的权限。Environment.getExternalStorageState()方法用于获取SDCard的状态,如果手机装有SDCard,并且可以进行读写,那么方法返回的状态等于Environment.MEDIA_MOUNTED。Environment.getExternalStorageDirectory()方法用于获取SDCard的目录。

63.注册广播有几种方式,这些方式有何优缺点?

两种。一种是通过代码注册,这种方式注册的广播会跟随程序的生命周期。二种是在AndroidManifest.xml中配置广播,这种常驻型广播当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行。

64.什么是ANR 如何避免它?

在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择让程序继续运行,但是,他们在使用你的应用程序时,并不希望每次都要处理这个对话框。因此,在程序里对响应性能的设计很重要,这样,系统不会显示ANR给用户。要避免它,应该尽量少在主线程做耗时太长的操作,应该将这些操作放在线程当中去做。

65.Android本身的api并未声明会抛出异常,则其在运行时有无可能抛出runtime异常,你遇到过吗?诺有的话会导致什么问题?如何解决?

有可能,比如空指针异常、数组下表越界等异常,这些异常抛出后可能会导致程序FC。在编写代码时应该做好检测,多考虑可能会发生错误的情况,从代码层次解决这些问题。66.为什么要用 ContentProvider?它和 sql 的实现上有什么差别?

使用ContentProvider 可以将数据共享给其他应用,让除本应用之外的应用也可以访问本应用的数据。它的底层是用SQLite 数据库实现的,所以其对数据做的各种操作都是以Sql 实现,只是在上层提供的是Uri。

67.谈谈 UI 中, Padding 和 Margin 有什么区别?

padding指内边距,表示组件内部元素距离组件边框的距离。

marin指外边距,表示组件与组件之间的距离。

68.请介绍下 Android 的数据存储方式。

Android 提供了5种方式存储数据:

1)使用SharedPreferences存储数据;

2)文件存储数据;

3)SQLite数据库存储数据;

4)使用ContentProvider存储数据;

5)网络存储数据;

硬件工程师面试题集(含答案-很全)

硬件工程师面试题集 (DSP,嵌入式系统,电子线路,通讯,微电子,半导体) 1、下面是一些基本的数字电路知识问题,请简要回答之。 (1) 什么是Setup和Hold 时间? 答:Setup/Hold Time 用于测试芯片对输入信号和时钟信号之间的时间要求。建立时间(Setup Time)是指触发器的时钟信号上升沿到来以前,数据能够保持稳定不变的时间。输入数据信号应提前时钟上升沿(如上升沿有效)T 时间到达芯片,这个T就是建立时间通常所说的SetupTime。如不满足Setup Time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿到来时,数据才能被打入触发器。保持时间(Hold Time)是指触发器的时钟信号上升沿到来以后,数据保持稳定不变的时间。如果Hold Time 不够,数据同样不能被打入触发器。 (2) 什么是竞争与冒险现象?怎样判断?如何消除? 答:在组合逻辑电路中,由于门电路的输入信号经过的通路不尽相同,所产生的延时也就会不同,从而导致到达该门的时间不一致,我们把这种现象叫做竞争。由于竞争而在电路输出端可能产生尖峰脉冲或毛刺的现象叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒险现象。解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。 (3) 请画出用D 触发器实现2 倍分频的逻辑电路 答:把D 触发器的输出端加非门接到D 端即可,如下图所示: (4) 什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求? 答:线与逻辑是两个或多个输出信号相连可以实现与的功能。在硬件上,要用OC 门来实现(漏极或者集电极开路),为了防止因灌电流过大而烧坏OC 门,应在OC 门输出端接一上拉电阻(线或则是下拉电阻)。 (5) 什么是同步逻辑和异步逻辑?同步电路与异步电路有何区别? 答:同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系.电路设计可分类为同步电路设计和异步电路设计。同步电路利用时钟脉冲使其子系统同步运作,而异步电路不使用时钟脉冲做同步,其子系统是使用特殊的“开始”和“完成”信号使之同步。异步电路具有下列优点:无时钟歪斜问题、低电源消耗、平均效能而非最差效能、模块性、可组合和可复用性。 (7) 你知道那些常用逻辑电平?TTL 与COMS 电平可以直接互连吗? 答:常用的电平标准,低速的有RS232、RS485、RS422、TTL、CMOS、LVTTL、LVCMOS、ECL、ECL、LVPECL 等,高速的有LVDS、GTL、PGTL、CML、HSTL、SSTL 等。 一般说来,CMOS 电平比TTL 电平有着更高的噪声容限。如果不考虑速度和性能,一般TTL 与CMOS 器件可以互换。但是需要注意有时候负载效应可能引起电路工作不正常,因为有些TTL 电路需要下一级的输入阻抗作为负载才能正常工作。 (6) 请画出微机接口电路中,典型的输入设备与微机接口逻辑示意图(数据接口、控制接口、锁存器/缓冲器)

硬件工程师面试题集(含答案,很全).docx

硬件工程师面试题集 (DSP,嵌入式系统,电子线路,通讯,微电子,半导体) ---ReaLYamede 1下面是一些基本的数字电路知识问题,请简要回答之。 ⑴什么是SetUP和HOld时间? 答:SetUP/Hold Time用于测试芯片对输入信号和时钟信号之间的时间要求。建立时间(SetUP Time)是指触发器的时钟信号上升沿到来以前,数据能够保持稳定不变的时间。输入数据信 号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间通常所说的SetUPTime。如不满足SetUP Time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿到来时,数据才能被打入触发器。保持时间(Hold Time)是指触发器的时钟信号 上升沿到来以后,数据保持稳定不变的时间。如果Hold Time不够,数据同样不能被打入 触发器。 (2) 什么是竞争与冒险现象?怎样判断?如何消除? 答:在组合逻辑电路中,由于门电路的输入信号经过的通路不尽相同,所产生的延时也就会 不同,从而导致到达该门的时间不一致,我们把这种现象叫做竞争。由于竞争而在电路输出 端可能产生尖峰脉冲或毛刺的现象叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒 险现象。解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。 (3) 请画出用D触发器实现2倍分频的逻辑电路 答:把D触发器的输出端加非门接到D端即可,如下图所示: OIJTPUT CLK (4) 什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求? 答:线与逻辑是两个或多个输出信号相连可以实现与的功能。在硬件上,要用OC门来实现(漏极或者集电极开路),为了防止因灌电流过大而烧坏OC门,应在OC门输出端接一上拉电阻(线或则是下拉电阻)。 (5) 什么是同步逻辑和异步逻辑?同步电路与异步电路有何区别? 答:同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系.电路设计可分类为同步电路设计和异步电路设计。同步电路利用时钟脉冲使其子系统同步运 作,而异步电路不使用时钟脉冲做同步,其子系统是使用特殊的“开始”和“完成”信号 使之同步。异步电路具有下列优点:无时钟歪斜问题、低电源消耗、平均效能而非最差效 能、模块性、可组合和可复用性。 ⑺你知道那些常用逻辑电平?TTL与CoMS电平可以直接互连吗? 答:常用的电平标准,低速的有RS232、RS485、RS422、TTL、CMOS、LVTTL、LVCMOS、ECL、ECL、LVPECL 等,高速的有LVDS、GTL、PGTL> CML、HSTL、SSTL 等。 一般说来,CMOS电平比TTL电平有着更高的噪声容限。如果不考虑速度和性能,一般TTL与CMOS器件可以互换。但是需要注意有时候负载效应可能引起电路工作不正常,因为有些

常见硬件工程师笔试题标准答案

硬件工程师笔试题 一、电路分析: 1、竞争与冒险 在组合逻辑中,在输入端的不同通道数字信号中经过了不同的延时,导致到达该门的时间不一致叫竞争。因此在输出端可能产生短时脉冲(尖峰脉冲)的现象叫冒险。 常用的消除竞争冒险的方法有:输入端加滤波电容、选通脉冲、修改逻辑设计等。 2、同步与异步 同步逻辑就是时钟之间有固定的因果关系。异步逻辑就是各时钟之间没有固定的因果关系。同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。 异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,只有这些触发器的状态变化与时钟脉冲同步,而其它的触发器的状态变化不与时钟脉冲同步。 异步电路不使用时钟脉冲做同步,其子系统就是使用特殊的“开始”与“完成”信号使之同步 同步就就是双方有一个共同的时钟,当发送时,接收方同时准备接收。异步双方不需要共同的时钟,也就就是接收方不知道发送方什么时候发送,所以在发送的信息中就要有提示接收方开始接收的信息,如开始位,结束时有停止位 3、仿真软件:Proteus 4、Setup 与Hold time Setup/hold time 就是测试芯片对输入信号与时钟信号之间的时间要求。建立时间就是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就就是建立时间-Setup time、如不满足setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。保持时间就是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间。如果hold time不够,数据同样不能被打入触发器。 5、IC设计中同步复位与异步复位的区别 同步复位在时钟沿采集复位信号,完成复位动作。异步复位不管时钟,只要复位信号满足条件,就完成复位动作。异步复位对复位信号要求比较高,不能有毛刺,如果其与时钟关系不确定,也可能出现亚稳态。 6、常用的电平标准 TTL: transistor-transistor logic gate晶体管-晶体管逻辑门 CMOS:Complementary Metal Oxide Semiconductor互补金属氧化物半导体 LVTTL(Low Voltage TTL)、LVCMOS(Low Voltage CMOS):3、3V、2、5V RS232、RS485 7、TTL电平与CMOS电平

硬件工程师笔试题附答案

一、填空题(每题5分,8题,共40分) 1.二极管的导通电压一般是0.7V 。 2.MOS管根据掺杂类型可以分为NMOS 、PMOS 。 3.晶体三极管在工作时,发射结和集电结均处于正向偏置,该晶体管工作在饱和状态。 4.二进制数(11010010)2转换成十六进制数是D2 。 5.贴片电阻上的103代表10k。 6.输出使用OC门或OD门实现线与功能。 7.假设A传输线的特征阻抗是70欧姆,B传输线的特征阻抗是30欧姆,A传输线与B传输线相 连,那么它们之间的反射系数是0.4。(-0.4也可以是正确答案) 8.假设模拟信号的输入带宽是10Hz~1MHz,对信号进行无失真采样的最低频率是 2MHz 。 二、问答题(每题10分,6题,共60分) 1.单片机上电后没有运转,首先要检查什么?(10分) 答案:第一步,测量电源电压是否正常;第二步,测量复位引脚是否正常;第三步,测量外部晶振是否起振。2.请分别画出BUCK和BOOST电路的原理框图。(10分) BUCK电路: BOOST电路: 3.请画出SAR型(逐次逼近型)ADC的原理框图,或者描述SAR型ADC的工作原理。(10 分)

SAR型ADC包括采样保持电路(S/H)、比较器(COMP ARE)、数/模转换器(DAC)、逐次逼近寄存器(SAR REGISTER) 和逻辑控制单元(SAR L OGIC)。模拟输入电压VIN由采样保持电路采样并保持,为实现二进制搜索算法,首先由SAR L OGIC 控制N位寄存器设置在中间刻度,即令最高有效位MSB为“1”电平而其余位均为“0”电平,此时数字模拟转换器DAC输出电压VDAC为0.5VREF,其中VREF为提供给ADC的基准电压。由比较器对VIN和VDAC进行比较,若VIN>VDAC ,则比较器输出“1”电平,N位寄存器的MSB保持“1”电平;反之,若VN

常见硬件工程师笔试题(标准答案)

硬件工程师笔试题 一、电路分析: 1、竞争与冒险 在组合逻辑中,在输入端的不同通道数字信号中经过了不同的延时,导致到达该门的时间不一致叫竞争。因此在输出端可能产生短时脉冲(尖峰脉冲)的现象叫冒险。 常用的消除竞争冒险的方法有:输入端加滤波电容、选通脉冲、修改逻辑设计等。 2、同步与异步 同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。 同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。 异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,只有这些触发器的状态变化与时钟脉冲同步,而其它的触发器的状态变化不与时钟脉冲同步。 异步电路不使用时钟脉冲做同步,其子系统是使用特殊的“开始”和“完成”信号使之同步 同步就是双方有一个共同的时钟,当发送时,接收方同时准备接收。异步双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送,所以在发送的信息中就要有提示接收方开 始接收的信息,如开始位,结束时有停止位 3、仿真软件:Proteus 4、Setup 和Hold time Setup/hold time 是测试芯片对输入信号和时钟信号之间的时间要求。建立时间是指触发器 的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前时钟上升沿(如上升 沿有效)T时间到达芯片,这个T就是建立时间-Setup time.如不满足setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。保持时间是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间。如果hold time不够,数据同样不能被打入触发器。 5、IC设计中同步复位与异步复位的区别 同步复位在时钟沿采集复位信号,完成复位动作。异步复位不管时钟,只要复位信号满足条件,就完成复位动作。异步复位对复位信号要求比较高,不能有毛刺,如果其与时钟关系 不确定,也可能出现亚稳态。 6、常用的电平标准 TTL:transistor-transistor logic gate晶体管-晶体管逻辑门 CMOS:Complementary Metal Oxide Semiconductor互补金属氧化物半导体 LVTTL(L ow Voltage TTL)、LVCMOS(L ow Voltage CMOS):3.3V、2.5V RS232、RS485 7、TTL电平与CMOS电平 TTL电平和CMOS电平标准

硬件工程师经典面试题

硬件经典面试100 题(附参考答案) 1、请列举您知道的电阻、电容、电感品牌(最好包括国内、国外品牌)。 电阻: 美国:AVX、VISHAY 威世 日本:KOA 兴亚、Kyocera 京瓷、muRata 村田、Panasonic 松下、ROHM 罗姆、susumu、TDK 台湾: LIZ 丽智、PHYCOM 飞元、RALEC 旺诠、ROYALOHM 厚生、SUPEROHM 美隆、TA-I 大毅、TMTEC 泰铭、TOKEN 德键、TYOHM 幸亚、UniOhm 厚声、VITROHM、VIKING 光颉、WALSIN 华新科、YAGEO 国巨 新加坡:ASJ 中国:FH 风华、捷比信 电容: 美国:AVX、KEMET 基美、Skywell 泽天、VISHAY 威世 英国:NOVER 诺华德国:EPCOS、WIMA 威马丹麦:JENSEN 战神 日本:ELNA 伊娜、FUJITSU 富士通、HITACHI 日立、KOA 兴亚、Kyocera 京瓷、Matsushita 松下、muRata 村田、NEC、 nichicon(蓝宝石)尼吉康、Nippon Chemi-Con(黑金刚、嘉美工)日本化工、Panasonic 松下、Raycon 威康、Rubycon(红 宝石)、SANYO 三洋、TAIYO YUDEN 太诱、TDK、TK 东信 韩国: SAMSUNG 三星、SAMWHA 三和、SAMYOUNG 三莹 台湾:CAPSUN、CAPXON(丰宾)凯普松、Chocon、Choyo、ELITE 金山、EVERCON、EYANG 宇阳、GEMCON 至美、 GSC 杰商、G-Luxon 世昕、HEC 禾伸堂、HERMEI 合美电机、JACKCON 融欣、JPCON 正邦、LELON 立隆、LTEC 辉城、 OST 奥斯特、SACON 士康、SUSCON 冠佐、TAICON 台康、TEAPO 智宝、WALSIN 华新科、YAGEO 国巨 香港:FUJICON 富之光、SAMXON 万裕中国:AiSHi 艾华科技、Chang 常州华威电子、FCON 深圳金富康、FH 广东 风华、HEC 东阳光、JIANGHAI 南通江海、JICON 吉光电子、LM 佛山利明、R.M 佛山三水日明电子、Rukycon 海丰三力、 Sancon 海门三鑫、SEACON 深圳鑫龙茂电子、SHENGDA 扬州升达、TAI-TECH 台庆、TF 南通同飞、TEAMYOUNG 天 扬、QIFA 奇发电子 电感: 美国:AEM、AVX、Coilcraft 线艺、Pulse 普思、VISHAY 威世 德国:EPCOS、WE 日本:KOA 兴亚、muRata 村田、Panasonic 松下、sumida 胜美达、TAIYO YUDEN 太诱、TDK、TOKO、TOREX 特瑞仕 台湾:CHILISIN 奇力新、https://www.doczj.com/doc/635176074.html,yers 美磊、TAI-TECH 台庆、TOKEN 德键、VIKING 光颉、WALSIN 华新科、YAGEO 国 巨 中国:Gausstek 丰晶、GLE 格莱尔、FH 风华、CODACA 科达嘉、Sunlord 顺络、紫泰荆、肇庆英达

硬件测试笔试题V附答案

硬件测试工程师笔试题 (本试卷满分100分,请将答案写在答题卡上与试卷一并上交) 姓名: 日期:_________ 分数:______________ 一. 判断题:本题共10小题,每题2分,共20分。 1.发现错误多的模块,残留在模块中的错误也多。() 2.测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即 将此问题正确修改,以加快、提高开发的进程。() 3.功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。() 4.编写测试计划的目的是:使测试工作顺利进行,使项目参与人员沟通更舒畅?,使测试工 作更加系统化。() 5.硬件测试目的是杜绝产品硬件上无任何问题。()? 6.验收测试是由最终用户来实施的。() 7.钽电容最适合用来滤除高频噪音。() 8.负载测试是验证要检验的系统的能力最高能达到什么程度。() 9.无线电监测中,常用一些单位有dBuv、dBm等,dBm是功率单位。() 10.10W功率可由40dBm表示。() 二. 选择题(不定向选择):本题共10小题,每题4分,共40分。 1.常见的信号完整性问题有:() A,过冲B,反射C,震荡D,环绕 2.下列属于产品可靠性指标的是:() A,失效率B,平均寿命C,直通率D,可靠度E,维修度 3.SRAM中文名称是:() A,动态随机存储器B,动态C,静态D,静态随机存储器 4.以下几种可以做为硬件测试标准的输入:() A,用户需求B,国标C,产品规格D,硬件测试工程师经验 5.稳压管通常工作于(),来稳定直流输出电压 A,截止区B,正向导通区C,反向击穿区 6.已知如图所示放大电路中的RB=100k Q,RC=1.5k Q,Vcc=12V ,晶体管的B =80, UBE=0.6V。则可以判定,该晶体管处于() A,放大状态B,饱和状态C,截止状态 7.场效应管是一种()控制型的电子器件 A,电流B,光C,电压D,功率 8.数字示波器双踪显示时,触发源选择短周期信号、或是幅度稍小的信号 A,对B,错 9.半导体三极管的放大条件是()。 A.?发射结正偏,集电结反偏?? B.?发射结正偏,集电结正偏?? C.?发射结反偏,集电结正偏??

硬件工程师经典面试题

硬件工程师经典面试题 硬件经典面试 100 题(附参考答案) 1、请列举您知道得电阻、电容、电感品牌(最好包括国内、国外品牌)。 电阻: 美国:AVX、VISHAY威世日本:KOA 兴亚、Kyocera 京瓷、muRata 村田、Panasonic松下、ROHM 罗姆、susumu、TDK 台湾: LIZ 丽智、PHY飞元、RALEC旺诠、ROYALOHM 厚生、SUPEROHM 美隆、TA-I 大毅、TMTEC 泰铭、TOKEN 德键、TYOHM幸亚、UniOhm 厚声、VITROHM、VIKING 光颉、WALSIN华新科、YAGEO 国巨新加坡:ASJ中国:FH 风华、捷比信电容: 美国:AV_、KEMET 基美、Skywell 泽天、VISHAY 威世英国:NOVER 诺华德国:EPCOS、WIMA威马丹麦:JENSEN 战神日本:ELNA伊娜、FUJITSU 富士通、HITACHI 日立、KOA 兴亚、Kyocera京瓷、Matsushita松下、muRata村田、NEC、 nichicon(蓝宝石)尼吉康、Nippon Chemi-Con(黑金刚、嘉美工)日本化工、Panasonic松下、Raycon 威康、Rubycon(红宝石)、SANYO三洋、TAIYO YUDEN 太诱、TD K、TK东信韩国: SAMSUNG 三星、SAMWHA 三与、SAMYOUNG 三莹台湾:CAPSUN、CAP_ON(丰宾)凯普松、Chocon、

Choyo、ELITE金山、EVERCON、EYANG 宇阳、GEMCON 至美、 GSC 杰商、G-Lu_on 世昕、HEC 禾伸堂、HERMEI 合美电机、JACKCON 融欣、JPCON 正邦、LELON立隆、LTEC 辉城、OST 奥斯特、SACON 士康、SUSCON 冠佐、TAICON台康、TEAPO 智宝、WALSIN 华新科、YAGEO 国巨香港:FUJICON 富之光、SAMXON万裕中国:AiSHi 艾华科技、Chang常州华威电子、FCON 深圳金富康、FH 广东风华、HEC 东阳光、JIANGHAI 南通江海、JICON 吉光电子、LM 佛山利明、R、M 佛山三水日明电子、Rukycon 海丰三力、 Sancon 海门三鑫、SEA CON深圳鑫龙茂电子、SHENGDA 扬州升达、TAI-TECH台庆、TF 南通同飞、TEAMYOUNG 天扬、QIFA 奇发电子电感: 美国:AEM、AV_、Coilcraft线艺、Pulse 普思、VISHAY 威世德国:EPCOS、WE 日本:KOA 兴亚、muRata 村田、Panasonic 松下、sumida 胜美达、TAIYO YUDEN 太诱、TDK、TOKO、TOREX特瑞仕台湾:CHILISIN 奇力新、Mag、Layers 美磊、TAI-TECH 台庆、TOKEN德键、VIKING 光颉、WALSIN 华新科、YAGEO 国巨中国:Gausstek丰晶、GLE 格莱尔、FH 风华、CODACA科达嘉、Sunlord 顺络、紫泰荆、肇庆英达 2、请解释电阻、电容、电感封装得含义:0402、060 3、0805。 表示得就是尺寸参数。

硬件工程师面试题集含答案

精品文档 硬件工程师面试题集 (DSP,嵌入式系统,电子线路,通讯,微电子,半导体) ---Real_Yamede 1、下面是一些基本的数字电路知识问题,请简要回答之。 (1) 什么是 Setup和Hold 时间? 答:Setup/Hold Time 用于测试芯片对输入信号和时钟信号之间的时间要求。建立时间(Setup Time)是指触发器的时钟信号上升沿到来以前,数据能够保持稳定不变的时间。输入数据信号应提前时钟上升沿(如上升沿有效)T 时间到达芯片,这个T就是建立时间通常所说的SetupTime。如不满足Setup Time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿到来时,数据才能被打入触发器。保持时间(Hold Time)是指触发器的时钟信号上升沿到来以后,数据保持稳定不变的时间。如果Hold Time 不够,数据同样不能被打入触发器。(2) 什么是竞争与冒险现象?怎样判断?如何消除? 答:在组合逻辑电路中,由于门电路的输入信号经过的通路不尽相同,所产生的延时也就会不同,从而导致到达该门的时间不一致,我们把这种现象叫做竞争。由于竞争而在电路输出端可能产生尖峰脉冲或毛刺的现象叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒险现象。解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。 (3) 请画出用 D 触发器实现 2 倍分频的逻辑电路 答:把 D 触发器的输出端加非门接到 D 端即可,如下图所示: (4) 什么是线与逻辑,要实现它,在硬件特性上有什么具体要求? 答:线与逻辑是两个或多个输出信号相连可以实现与的功能。在硬件上,要用OC 门来实现(漏极或者集电极开路),为了防止因灌电流过大而烧坏OC 门,应在OC 门输出端接一上拉电阻(线或则是下拉电阻)。 (5) 什么是同步逻辑和异步逻辑?同步电路与异步电路有何区别? 答:同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系.电路设计可分类为同步电路设计和异步电路设计。同步电路利用时钟脉冲使其子系统同步运作,而异步电路不使用时钟脉冲做同步,其子系统是使用特殊的“开始”和“完成”信号使之同步。异步电路具有下列优点:无时钟歪斜问题、低电源消耗、平均效能而非最差效能、模块性、可组合和可复用性。 (7) 你知道那些常用逻辑电平?TTL 与 COMS 电平可以直接互连吗? 答:常用的电平标准,低速的有RS232、RS485、RS422、TTL、CMOS、LVTTL、LVCMOS、ECL、ECL、LVPECL 等,高速的有LVDS、GTL、PGTL、CML、HSTL、SSTL 等。 一般说来,CMOS 电平比TTL 电平有着更高的噪声容限。如果不考虑速度和性能,一般

硬件工程师面试试题库(附参考答案)

硬件工程师面试试题库(附参考答案) 1、请列举您知道的电阻、电容、电感品牌(最好包括国内、国外品牌)。 电阻: 美国:A VX、VISHAY威世日本:KOA兴亚、Kyocera京瓷、muRata村田、Panasonic松下、ROHM罗姆、susumu、TDK 台湾: LIZ丽智、PHYCOM飞元、RALEC旺诠、ROYALOHM厚生、SUPEROHM美隆、TA-I大毅、TMTEC泰铭、TOKEN 德键、TYOHM幸亚、UniOhm厚声、VITROHM、VIKING光颉、WALSIN华新科、YAGEO国巨新加坡:ASJ 中国:FH风华、捷比信 电容: 美国:A VX、KEMET基美、Skywell泽天、VISHAY威世英国:NOVER诺华德国:EPCOS、WIMA威马丹麦:JENSEN 战神日本:ELNA伊娜、FUJITSU富士通、HITACHI日立、KOA兴亚、Kyocera京瓷、Matsushita松下、muRata村田、NEC、nichicon(蓝宝石)尼吉康、Nippon Chemi-Con(黑金刚、嘉美工)日本化工、Panasonic松下、Raycon威康、Rubycon(红宝石)、SANYO三洋、TAIYO YUDEN太诱、TDK、TK东信韩国:SAMSUNG三星、SAMWHA三和、SAMYOUNG三莹台湾:CAPSUN、CAPXON(丰宾)凯普松、Chocon、Choyo、ELITE金山、EVERCON、EYANG宇阳、GEMCON至美、GSC杰商、G-Luxon世昕、HEC禾伸堂、HERMEI合美电机、JACKCON融欣、JPCON正邦、LELON立隆、LTEC辉城、OST奥斯特、SACON 士康、SUSCON 冠佐、TAICON台康、TEAPO智宝、WALSIN华新科、YAGEO国巨香港:FUJICON富之光、SAMXON万裕中国:AiSHi艾华科技、Chang常州华威电子、FCON深圳金富康、FH广东风华、HEC东阳光、JIANGHAI南通江海、JICON吉光电子、LM佛山利明、R.M佛山三水日明电子、Rukycon海丰三力、Sancon海门三鑫、SEACON深圳鑫龙茂电子、SHENGDA扬州升达、TAI-TECH台庆、TF南通同飞、TEAMYOUNG天扬、QIFA奇发电子 电感: 美国:AEM、A VX、Coilcraft线艺、Pulse普思、VISHAY威世德国:EPCOS、WE 日本:KOA兴亚、muRata村田、Panasonic松下、sumida胜美达、TAIYO YUDEN太诱、TDK、TOKO、TOREX特瑞仕台湾:CHILISIN奇力新、https://www.doczj.com/doc/635176074.html,yers 美磊、TAI-TECH台庆、TOKEN德键、VIKING光颉、WALSIN华新科、YAGEO国巨中国:Gausstek丰晶、GLE格莱尔、FH风华、CODACA科达嘉、Sunlord顺络、紫泰荆、肇庆英达 2、请解释电阻、电容、电感封装的含义:0402、060 3、0805。 表示的是尺寸参数。 0402:40*20mil;0603:60*30mil;0805:80*50mil。 3、请说明以下字母所代表的电容的精度:J、K、M、Z。 J——±5%;K——±10%;M——±20%;Z——+80%~-20% 4、请问电阻、电容、电感的封装大小分别与什么参数有关? 电阻封装大小与电阻值、额定功率有关;电容封装大小与电容值、额定电压有关;电感封装大小与电感量、额定电流有关。 5、如何根据实际工作电压选择电容的额定电压参数? 基于成本和使用安全考虑,选择的电容额定电压应该是实际工作电压的1.5~2倍。 6、电容两端的电压和电流的相位关系是:同相、反相、电压超前电流90°、电流超前电压90°? 电流超前电压90°。 7、如果某CPU有很多IO端口需要接上下拉电阻,电阻范围1~10K欧姆均可。以下规格的电阻,您会选择哪一种:1K/1%、 4.99K/1%、10K/1%、1K/5%、2.2K/5%、4.7K/5%、8.2K/5%、10K/5%、3.9K/10%、 5.6K/10%、4.7K/20%?说明你选择该 电阻的理由。 从理论上来说,1~10K的电阻都可以采用,但如果从价格上考虑,当然是4.7K/20%的最合算。 8、请简述压敏电阻工作原理。 当压敏电阻上的电压超过一定幅度时,电阻的阻值降低,从而将浪涌能量泄放掉,并将浪涌电压限制在一定的幅度。 9、请简述PTC热敏电阻作为电源电路保险丝的工作原理。 当电源输入电压增大或负载过大导致电流异常增大的时候,PTC热敏电阻因为温度增大而使其等效电阻迅速增大,从而使输出电压下降,减小输出电流。当故障去除,PTC热敏电阻恢复到常温,其电阻又变的很小,电源电路恢复到正常工作状态。 10、常见贴片电容的材质有:X7R、X5R、Y5V、NPO(COG)、Z5U。请问电容值和介质损耗最稳定的电容是哪一种? 电容值和介质损耗最稳定的是NPO(COG)材质电容。 11、某磁珠的参数为100R@100MHz,请解释参数的含义。 在100MHz频率下的阻抗值是100欧姆。 12、请问共模电感的作用是什么?

硬件工程师面试题(非常经典,非常全面)

模拟电路 1、基尔霍夫定理的内容是什么?(仕兰微电子) 基尔霍夫电流定律是一个电荷守恒定律,即在一个电路中流入一个节点的电荷与流出同一个 节点的电荷相等. 基尔霍夫电压定律是一个能量守恒定律,即在一个回路中回路电压之和为零. 2、平板电容公式(C=εS/4πkd)。(未知) 3、最基本的如三极管曲线特性。(未知) 4、描述反馈电路的概念,列举他们的应用。(仕兰微电子) 5、负反馈种类(电压并联反馈,电流串联反馈,电压串联反馈和电流并联反馈);负反 馈的优点(降低放大器的增益灵敏度,改变输入电阻和输出电阻,改善放大器的线性和非 线性失真,有效地扩展放大器的通频带,自动调节作用)(未知) 6、放大电路的频率补偿的目的是什么,有哪些方法?(仕兰微电子) 7、频率响应,如:怎么才算是稳定的,如何改变频响曲线的几个方法。(未知) 8、给出一个查分运放,如何相位补偿,并画补偿后的波特图。(凹凸) 9、基本放大电路种类(电压放大器,电流放大器,互导放大器和互阻放大器),优缺点 ,特别是广泛采用差分结构的原因。(未知) 10、给出一差分电路,告诉其输出电压Y+和Y-,求共模分量和差模分量。(未知) 11、画差放的两个输入管。(凹凸) 12、画出由运放构成加法、减法、微分、积分运算的电路原理图。并画出一个晶体管级的 运放电路。(仕兰微电子) 13、用运算放大器组成一个10倍的放大器。(未知) 14、给出一个简单电路,让你分析输出电压的特性(就是个积分电路),并求输出端某点 的rise/fall时间。(Infineon笔试试题) 15、电阻R和电容C串联,输入电压为R和C之间的电压,输出电压分别为C上电压和R上电压 ,要求制这两种电路输入电压的频谱,卸险饬街值缏泛挝咄瞬ㄆ鳎挝屯?nbsp;波器 。当RC<

硬件工程师笔试、面试题与答案详细版

一.浪潮笔试 考察的主要是数电、模电和微机原理的基础知识。 1.有源、无源滤波器 答案: 最初的滤波器主要是由电阻、电感和电容等无源器件构成的无源滤波器,无源滤波器虽然有电路结构简单、使用方便、价格低廉等优点,但它对有用信号成分也会有很大的衰减作用,本身不具备放大能力,而且带负载能力差,性能不够理想。 后来,出现了由运放和RC元件等构成的性能优良的有源滤波电路。 相继出现了开关电容滤波器、单片集成有源滤波器、数字滤波器。 五种滤波器类型:低通滤波器LPF、高通滤波器HPF、全通滤波器APF、带通滤波器BPF、带阻滤波器BEF。 有源滤波器是一种重要的信号处理电路,它可以突出有用频段的信号,衰减无用频段的信号,抑制干扰和噪声信号,达到选频和提高信噪比的目的。 利用开关电容积分器可以构成开关电容滤波器,除了工作频率外,其精度和其他性能均超过了常规的有源滤波器,达到了实用水平。 扩展: active power filter,APF 利用可关断电力电子器件,产生与负荷电流中谐波分量大小相等、相位相反的电流来抵消谐波的滤波装置。 一、基本概念: 顾名思义该装置需要提供电源,其应用可克服LC滤波器等传统的谐波抑制和无功补偿方法的缺点(传统的只能固定补偿),实现了动态跟踪补偿,而且可以既补谐波又补无功;三相电路瞬时无功功率理论是APF发展的主要基础理论;APF有并联型和串联型两种,前者用的多;并联有源滤波器主要是治理电流谐波,串联有源滤波器主要是治理电压谐波等引起的问题。有源滤波器同无源滤波器比较,治理效果好,主要可以同时滤除多次及高次谐波,不会引起谐振,但是价位相对高! 二、基本原理: 有源电力滤波器,是采用现代电力电子技术和基于高速DSP器件的数字信号处理技术制成的新型电力谐波治理专用设备。它由指令电流运算电路和补偿电流发生电路两个主要部分组成。指令电流运算电路实时监视线路中的电流,并将模拟电流信号转换为数字信号,送入高速数字信号处理器(DSP)对信号进行处理,将谐波与基波分离,并以脉宽调制(PWM)信号形式向补偿电流发生电路送出驱动脉冲,驱动IGBT或IPM功率模块,生成与电网谐波电流幅值相等、极性相反的补偿电流注入电网,对谐波电流进行补偿或抵消,主动消除电力谐波。 三、基本应用: 谐波主要危害: ?增加电力设施负荷,降低系统功率因数,降低发电、输电及用电设备的有效容量和效率,造成设备浪费、线路浪费和电能损失; ?引起无功补偿电容器谐振和谐波电流放大,导致电容器组因过电流或过电压而损坏

硬件工程师面试题集(含答案,很全)

硬件工程师面试题集 (DSP,嵌入式系统,电子线路,通讯,微电子,半导体) ---Real_Yamede 1、下面就是一些基本的数字电路知识问题,请简要回答之。 (1) 什么就是Setup与Hold 时间? 答:Setup/Hold Time 用于测试芯片对输入信号与时钟信号之间的时间要求。建立时间(Setup Time)就是指触发器的时钟信号上升沿到来以前,数据能够保持稳定不变的时间。输入数据信号应提前时钟上升沿(如上升沿有效)T 时间到达芯片,这个T就就是建立时间通常所说的SetupTime。如不满足Setup Time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿到来时,数据才能被打入触发器。保持时间(Hold Time)就是指触发器的时钟信号上升沿到来以后,数据保持稳定不变的时间。如果Hold Time 不够,数据同样不能被打入触发器。 (2) 什么就是竞争与冒险现象?怎样判断?如何消除? 答:在组合逻辑电路中,由于门电路的输入信号经过的通路不尽相同,所产生的延时也就会不同,从而导致到达该门的时间不一致,我们把这种现象叫做竞争。由于竞争而在电路输出端可能产生尖峰脉冲或毛刺的现象叫冒险。如果布尔式中有相反的信号则可能产生竞争与冒险现象。解决方法:一就是添加布尔式的消去项,二就是在芯片外部加电容。 (3) 请画出用D 触发器实现2 倍分频的逻辑电路 答:把D 触发器的输出端加非门接到D 端即可,如下图所示: (4) 什么就是"线与"逻辑,要实现它,在硬件特性上有什么具体要求? 答:线与逻辑就是两个或多个输出信号相连可以实现与的功能。在硬件上,要用OC 门来实现(漏极或者集电极开路),为了防止因灌电流过大而烧坏OC 门,应在OC 门输出端接一上拉电阻(线或则就是下拉电阻)。 (5) 什么就是同步逻辑与异步逻辑?同步电路与异步电路有何区别? 答:同步逻辑就是时钟之间有固定的因果关系。异步逻辑就是各时钟之间没有固定的因果关系、电路设计可分类为同步电路设计与异步电路设计。同步电路利用时钟脉冲使其子系统同步运作,而异步电路不使用时钟脉冲做同步,其子系统就是使用特殊的“开始”与“完成”信号使之同步。异步电路具有下列优点:无时钟歪斜问题、低电源消耗、平均效能而非最差效能、模块性、可组合与可复用性。 (7) 您知道那些常用逻辑电平?TTL 与COMS 电平可以直接互连不? 答:常用的电平标准,低速的有RS232、RS485、RS422、TTL、CMOS、LVTTL、LVCMOS、ECL、ECL、LVPECL 等,高速的有LVDS、GTL、PGTL、CML、HSTL、SSTL 等。 一般说来,CMOS 电平比TTL 电平有着更高的噪声容限。如果不考虑速度与性能,一般TTL 与CMOS 器件可以互换。但就是需要注意有时候负载效应可能引起电路工作不正常,因为有些TTL 电路需要下一级的输入阻抗作为负载才能正常工作。 (6) 请画出微机接口电路中,典型的输入设备与微机接口逻辑示意图(数据接口、控制接口、

常见电子类硬件工程师笔试题整理(含答案)2010年最新整理

硬件笔试题 模拟电路 1、基尔霍夫定理的内容是什么? 基尔霍夫定律包括电流定律和电压定律 电流定律:在集总电路中,任何时刻,对任一节点,所有流出节点的支路电流的代数和恒等于零。 电压定律:在集总电路中,任何时刻,沿任一回路,所有支路电压的代数和恒等于零。 2、描述反馈电路的概念,列举他们的应用。 反馈,就是在电子系统中,把输出回路中的电量输入到输入回路中去。 反馈的类型有:电压串联负反馈、电流串联负反馈、电压并联负反馈、电流并联负反馈。 负反馈的优点:降低放大器的增益灵敏度,改变输入电阻和输出电阻,改善放大器的线性和非线性失真,有效地扩展放大器的通频带,自动调节作用。 电压负反馈的特点:电路的输出电压趋向于维持恒定。 电流负反馈的特点:电路的输出电流趋向于维持恒定。 3、有源滤波器和无源滤波器的区别 无源滤波器:这种电路主要有无源组件R、L和C组成 有源滤波器:集成运放和R、C组成,具有不用电感、体积小、重量轻等优点。 集成运放的开环电压增益和输入阻抗均很高,输出电阻小,构成有源滤波电路后还具有一定的电压放大和缓冲作用。但集成运放带宽有限,所以目前的有源滤波电路的工作频率难以做得很高。 数字电路 1、同步电路和异步电路的区别是什么? 同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。 异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,这有这些触发器的状态变化与时钟脉冲同步,而其它的触发器的状态变化不与时钟脉冲同步。 2、什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求? 将两个门电路的输出端并联以实现与逻辑的功能成为线与。 在硬件上,要用OC门来实现,同时在输出端口加一个上拉电阻。由于不用OC门可能使灌电流过大,而烧坏逻辑门。 3、解释setup和hold time violation,画图说明,并说明解决办法。(威盛VIA2003.11.06上海笔试试题)Setup/hold time是测试芯片对输入信号和时钟信号之间的时间要求。建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间-Setup time.如不满足setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。 保持时间是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间。如果hold time不够,数据同样不能被打入触发器。 建立时间(Setup Time)和保持时间(Hold time)。建立时间是指在时钟边沿前,数据信号需要保持不变的时间。保持时间是指时钟跳变边沿后数据信号需要保持不变的时间。如果数据信号在时钟沿触发前后持续的时间均超过建立和保持时间,那么超过量就分别被称为建立时间裕量和保持时间裕量。 4、什么是竞争与冒险现象?怎样判断?如何消除?(汉王笔试) 在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。 产生毛刺叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒险现象。 解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。

常见硬件工程师笔试题标准答案精编版

常见硬件工程师笔试题 标准答案 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

硬件工程师笔试题 一、电路分析: 1、竞争与冒险 在组合逻辑中,在输入端的不同通道数字信号中经过了不同的延时,导致到达该门的时间不一致叫竞争。因此在输出端可能产生短时脉冲(尖峰脉冲)的现象叫冒险。 常用的消除竞争冒险的方法有:输入端加滤波电容、选通脉冲、修改逻辑设计等。 2、同步与异步 同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。 同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。 异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,只有这些触发器的状态变化与时钟脉冲同步,而其它的触发器的状态变化不与时钟脉冲同步。 异步电路不使用时钟脉冲做同步,其子系统是使用特殊的“开始”和“完成”信号使之同步 同步就是双方有一个共同的时钟,当发送时,接收方同时准备接收。异步双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送,

所以在发送的信息中就要有提示接收方开始接收的信息,如开始位,结束时有停止位 3、仿真软件:Proteus 4、Setup和Holdtime Setup/holdtime是测试芯片对输入信号和时钟信号之间的时间要求。建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间-Setuptime.如不满足setuptime,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。保持时间是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间。如果holdtime不够,数据同样不能被打入触发器。 5、IC设计中同步复位与异步复位的区别 同步复位在时钟沿采集复位信号,完成复位动作。异步复位不管时钟,只要复位信号满足条件,就完成复位动作。异步复位对复位信号要求比较高,不能有毛刺,如果其与时钟关系不确定,也可能出现亚稳态。 6、常用的电平标准 TTL:transistor-transistorlogicgate晶体管-晶体管逻辑门CMOS:ComplementaryMetalOxideSemiconductor互补金属氧化物半导体LVTTL(LowVoltageTTL)、LVCMOS(LowVoltageCMOS):3.3V、2.5V RS232、RS485 7、TTL电平与CMOS电平 TTL电平和CMOS电平标准

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