通信工程常见面试题

Posted

tags:

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

参考技术A

  通信工程(也作 信息工程、电信工程,旧称远距离通信工程、弱电工程)是电子工程的重要分支,同时也是其中一个基础学科。该学科关注的是通信过程中的信息传输和信号处理的原理和应用。通信工程研究的是,以电磁波、声波或光波的形式把信息通过电脉冲,从发送端 (信源)传输到一个或多个接受端(信宿)。下面就由我为大家介绍一下通信工程常见面试题的文章,欢迎阅读。

   通信工程常见面试题篇1

  1、 基尔霍夫定理的内容是什么?(仕兰微电子)

  基尔霍夫电流定律是一个电荷守恒定律,即在一个电路中流入一个节点的电荷与流出同一个节点的电荷相等. 基尔霍夫电压定律是一个能量守恒定律,即在一个回路中回路电压之和为零.

  2、平板电容公式(C=εS/4πkd)。(未知)

  3、最基本的如三极管曲线特性。(未知)

  4、描述反馈电路的概念,列举他们的应用。

  5、负反馈种类(电压并联反馈,电流串联反馈,电压串联反馈和电流并联反馈);负反馈的优点(降低放大器的增益灵敏度,改变输入电阻和输出电阻,改善放大器的线性和非线性失真,有效地扩展放大器的通频带,自动调节作用)(未知)

  6、放大电路的频率补偿的目的是什么,有哪些方法?(仕兰微电子)

  7、频率响应,如:怎么才算是稳定的,如何改变频响曲线的几个方法。(未知)

  8、给出一个查分运放,如何相位补偿,并画补偿后的波特图。(凹凸)

  9、基本放大电路种类(电压放大器,电流放大器,互导放大器和互阻放大器),优缺 点,特别是广泛采用差分结构的原因。(未知)

  10、给出一差分电路,告诉其输出电压Y+和Y-,求共模分量和差模分量。(未知)

   通信工程常见面试题篇2

  1、画差放的两个输入管。(凹凸)

  2、画出由运放构成加法、减法、微分、积分运算的电路原理图。并画出一个晶体管级的

  运放电路。(仕兰微电子)

  3、用运算放大器组成一个10倍的放大器。(未知)

  4、给出一个简单电路,让你分析输出电压的特性(就是个积分电路),并求输出端某点

  的 rise/fall时间。(Infineon笔试试题)

  5、电阻R和电容C串联,输入电压为R和C之间的电压,输出电压分别为C上电压和R上电压,要求制这两种电路输入电压的频谱,判断这两种电路何为高通滤波器,何为低通滤波器。当RC<< period - setup ? hold

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

  7、给出某个一般时序电路的图,有Tsetup,Tdelay,Tck->q,还有 clock的delay,写出决定最大时钟的因素,同时给出表达式。(威盛VIA 2003.11.06 上海笔试试题)

  8、说说静态、动态时序模拟的优缺点。(威盛VIA2003.11.06 上海笔试试题)

  9、一个四级的Mux,其中第二级信号为关键信号 如何改善timing。(威盛VIA2003.11.06 上海笔试试题)

  10、给出一个门级的图,又给了各个门的传输延时,问关键路径是什么,还问给出输入,使得输出依赖于关键路径。(未知)

   通信工程常见面试题篇3

  1、逻辑方面数字电路的卡诺图化简,时序(同步异步差异),触发器有几种(区别,优点),全加器等等。(未知)

  2、卡诺图写出逻辑表达式。(威盛VIA 2003.11.06 上海笔试试题)

  3、化简F(A,B,C,D)= m(1,3,4,5,10,11,12,13,14,15)的和。(威盛)

  4、please show the CMOS inverter schmatic,layout and its cross sectionwith P-

  well process.Plot its transfer curve (Vout-Vin) And also explain the operation

  region of PMOS and NMOS for each segment of the transfer curve? (威盛笔试题c

  ircuit design-beijing-03.11.09)

  5、To design a CMOS invertor with balance rise and fall time,please define the ration of channel width of PMOS and NMOS and explain?

  6、为什么一个标准的倒相器中P管的宽长比要比N管的宽长比大?(仕兰微电子)

设计模式常见面试题

1.设计模式分类

技术图片

 

 

2.设计模式的优点

  设计模式可在多个项目中重用。

  设计模式提供了一个帮助定义系统架构的解决方案。

  设计模式吸收了软件工程的经验。

  设计模式为应用程序的设计提供了透明性。

  设计模式是被实践证明切实有效的,由于它们是建立在专家软件开发人员的知识和经验之上的。

 

3.单例模式的创建方式

 Early Instantiation 示例代码如下:

public class Singleton 
    private final static Singleton INSTANCE = new Singleton();  
 
    // Private constructor suppresses   
    private Singleton() 
 
    // default public constructor
    public static Singleton getInstance()   
        return INSTANCE;
    
   

Lazy Instantiation

public class SingletonDemo 
    private static SingletonDemo instance = null;  
    private SingletonDemo()     
 
    public static  SingletonDemo getInstance() 
        if (instance == null) 
                    instance = new SingletonDemo (); 
        
        return instance;
    

4.jdk中使用了哪些设计模式?

Structural(结构模式)

Adapter:
把一个接口或是类变成另外一种。

 

  • java.util.Arrays#asList()
  • javax.swing.JTable(TableModel)
  • java.io.InputStreamReader(InputStream)
  • java.io.OutputStreamWriter(OutputStream)
  • javax.xml.bind.annotation.adapters.XmlAdapter#marshal()
  • javax.xml.bind.annotation.adapters.XmlAdapter#unmarshal()

Bridge:
把抽象和实现解藕,于是接口和实现可在完全独立开来。

  • AWT (提供了抽象层映射于实际的操作系统)
  • JDBC

Composite:
让使用者把单独的对象和组合对象混用。

  • javax.swing.JComponent#add(Component)
  • java.awt.Container#add(Component)
  • java.util.Map#putAll(Map)
  • java.util.List#addAll(Collection)
  • java.util.Set#addAll(Collection)

 

Decorator:
为一个对象动态的加上一系列的动作,而不需要因为这些动作的不同而产生大量的继承类。这个模式在JDK中几乎无处不在,所以,下面的列表只是一些典型的。

  • java.io.BufferedInputStream(InputStream)
  • java.io.DataInputStream(InputStream)
  • java.io.BufferedOutputStream(OutputStream)
  • java.util.zip.ZipOutputStream(OutputStream)
  • java.util.Collections#checked[List|Map|Set|SortedSet|SortedMap]()

Facade:
用一个简单的接口包状一组组件,接口,抽象或是子系统。

  • java.lang.Class
  • javax.faces.webapp.FacesServlet

Flyweight:
有效率地存储大量的小的对象。

  • java.lang.Integer#valueOf(int)
  • java.lang.Boolean#valueOf(boolean)
  • java.lang.Byte#valueOf(byte)
  • java.lang.Character#valueOf(char)

Proxy:
用一个简单的对象来代替一个复杂的对象。

  • java.lang.reflect.Proxy
  • RMI

Creational(创建模式)

Abstract factory:
创建一组有关联的对象实例。这个模式在JDK中也是相当的常见,还有很多的framework例如Spring。我们很容易找到这样的实例。

 

  • java.util.Calendar#getInstance()
  • java.util.Arrays#asList()
  • java.util.ResourceBundle#getBundle()
  • java.sql.DriverManager#getConnection()
  • java.sql.Connection#createStatement()
  • java.sql.Statement#executeQuery()
  • java.text.NumberFormat#getInstance()
  • javax.xml.transform.TransformerFactory#newInstance()

Builder:
主要用来简化一个复杂的对象的创建。这个模式也可以用来实现一个 Fluent Interface

  • java.lang.StringBuilder#append()
  • java.lang.StringBuffer#append()
  • java.sql.PreparedStatement
  • javax.swing.GroupLayout.Group#addComponent()

Factory:
简单来说,按照需求返回一个类型的实例。

  • java.lang.Proxy#newProxyInstance()
  • java.lang.Object#toString()
  • java.lang.Class#newInstance()
  • java.lang.reflect.Array#newInstance()
  • java.lang.reflect.Constructor#newInstance()
  • java.lang.Boolean#valueOf(String)
  • java.lang.Class#forName()

Prototype:
使用自己的实例创建另一个实例。有时候,创建一个实例然后再把已有实例的值拷贝过去,是一个很复杂的动作。所以,使用这个模式可以避免这样的复杂性。

  • java.lang.Object#clone()
  • java.lang.Cloneable

Singleton:
只允许一个实例。在 Effective Java中建议使用Emun.

  • java.lang.Runtime#getRuntime()
  • java.awt.Toolkit#getDefaultToolkit()
  • java.awt.GraphicsEnvironment#getLocalGraphicsEnvironment()
  • java.awt.Desktop#getDesktop()

Behavioral(行为模式)

Chain of responsibility:
把一个对象在一个链接传递直到被处理。在这个链上的所有的对象有相同的接口(抽象类)但却有不同的实现。

  • java.util.logging.Logger#log()
  • javax.servlet.Filter#doFilter()

Command:
把一个或一些命令封装到一个对象中。

  • java.lang.Runnable
  • javax.swing.Action

Interpreter:
一个语法解释器的模式。

  • java.util.Pattern
  • java.text.Normalizer
  • java.text.Format

Iterator:
提供一种一致的方法来顺序遍历一个容器中的所有元素。

  • java.util.Iterator
  • java.util.Enumeration

Mediator:
用来减少对象单的直接通讯的依赖关系。使用一个中间类来管理消息的方向。

  • java.util.Timer
  • java.util.concurrent.Executor#execute()
  • java.util.concurrent.ExecutorService#submit()
  • java.lang.reflect.Method#invoke()

Memento:
给一个对象的状态做一个快照。Date类在内部使用了一个long型来做这个快照。

  • java.util.Date
  • java.io.Serializable

Null Object:
这个模式用来解决如果一个Collection中没有元素的情况。

  • java.util.Collections#emptyList()
  • java.util.Collections#emptyMap()
  • java.util.Collections#emptySet()

Observer:
允许一个对象向所有的侦听的对象广播自己的消息或事件。

  • java.util.EventListener
  • javax.servlet.http.HttpSessionBindingListener
  • javax.servlet.http.HttpSessionAttributeListener
  • javax.faces.event.PhaseListener

State:
这个模式允许你可以在运行时很容易地根据自身内部的状态改变对象的行为。

  • java.util.Iterator
  • javax.faces.lifecycle.LifeCycle#execute()

Strategy:
定义一组算法,并把其封装到一个对象中。然后在运行时,可以灵活的使用其中的一个算法。

  • java.util.Comparator#compare()
  • javax.servlet.http.HttpServlet
  • javax.servlet.Filter#doFilter()

Template method:
允许子类重载部分父类而不需要完全重写。

  • java.util.Collections#sort()
  • java.io.InputStream#skip()
  • java.io.InputStream#read()
  • java.util.AbstractList#indexOf()

Visitor:

作用于某个对象群中各个对象的操作. 它可以使你在不改变这些对象本身的情况下,定义作用于这些对象的新操作.

  • javax.lang.model.element.Element 和javax.lang.model.element.ElementVisitor
  • javax.lang.model.type.TypeMirror 和javax.lang.model.type.TypeVisitor

5.  如何编写线程安全的单例

双重检查锁(Double-checked locking)

public static synchronized Singleton getInstance() 
  if(singleton == null) 
     synchronized(Singleton.class) 
       if(singleton == null) 
         singleton = new Singleton();
       
    
  
  return singleton;

6.  代理模式有哪些类型?

保护代理

  它根据某些条件控制对真实主题的访问。

虚拟代理

  虚拟代理用于实例化昂贵的对象。代理管理实现中真实主体的生命周期。

  它决定创建实例的需要以及何时重用实例。虚拟代理优化性能。

缓存代理

  缓存代理用于缓存对真实主题的昂贵调用。代理可以使用许多缓存策略。

  其中一些是通读、写、缓存和基于时间的。缓存代理用于提高性能。

远程代理

  远程代理用于分布式对象通信。远程代理通过调用本地对象方法在远程对象上执行。

智能代理

  智能代理用于实现对对象的日志调用和引用计数

7. mvc模式

MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。

  • Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。
  • View(视图) - 视图代表模型包含的数据的可视化。
  • Controller(控制器) - 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。

技术图片

 

8. 拦截过滤器模式及其有点

拦截过滤器设计模式用于在请求处理之前和之后拦截和操作请求和响应。过滤器执行请求的身份验证/授权/日志记录或跟踪,然后将请求转发给相应的处理程序。让我们看一下拦截设计模式的一些基本实体。

过滤器

  它在请求处理程序执行请求之前或之后执行特定的任务。

过滤器链

  它包含多个过滤器,有助于在目标上按定义的顺序执行它们。

目标

  目标对象是请求处理程序

过滤器管理器

  它管理过滤器和过滤器链。 

客户端

  客户机对象是向目标对象发送请求的对象。

拦截过滤器设计模式的好处

  过滤器模式使用松散耦合的处理程序提供中央控制。

  它扩展了可重用性。

  可以随时添加新的过滤器,而不影响客户机的代码。

  过滤器可以在程序执行期间动态选择。

 9. dao设计模式

数据访问对象模式用于将低级数据访问API或操作与高级业务服务隔离开来。下面是DAO模式中的组件。

数据存取对象接口

  DAO接口描述要在模型对象上执行的标准操作。

数据访问对象的具体类

  该类实现一个DAO接口。该类负责从数据源(可以是Xml/数据库或任何其他存储机制)获取数据。

模型对象或值对象

  这个对象是一个普通的旧java对象,包含用于存储使用DAO类检索的数据的get/set方法。

 

参考资料

【1】https://www.javatpoint.com/java-design-pattern-interview-questions

 【2】https://coolshell.cn/articles/3320.html

【3】https://www.cnblogs.com/davidwang456/p/3642696.html

【4】 https://www.runoob.com/design-pattern/mvc-pattern.html

以上是关于通信工程常见面试题的主要内容,如果未能解决你的问题,请参考以下文章

面试题Java基础篇-常见面试题总结p3

面试题MySQL常见面试题合集

kafka常见面试题

原springcloud常见面试题

面试题Redis篇-常见面试题p1

面试题Redis篇-常见面试题p1