课程咨询 : 400-900-4590

主页 > 企业上门招聘 > Java大数据笔试题 > Java经典笔试题——(7)
  • Java经典笔试题——(7)

    发布:深圳鸿运彩票网      来源:深圳鸿运彩票网      时间:2016-05-25 02:06

  • Java经典笔试题——(7)  
    Struts1中actionform和action属于MVC哪一层,为什么?

      解答:actionform和action属于MVC的Model层,Action用来处理业务逻辑,actionform保存用户表单数据以便于在不同页面间传递。而MVC中的model层就是业务逻辑层,该层用于实现具体的业务逻辑、状态维护及管理。

      error和exception有什么区别?

      解答:

      error表示系统级的错误和程序不必处理的异常,是恢复不是不可能但很困难的情况下的一种严重问题;比如内存溢出,不可能指望程序能处理这样的情况; exception表示需要捕捉或者需要程序进行处理的异常,是一种设计或实现问题;也就是说,它表示如果程序运行正常,从不会发生的情况。

      Log4J是Apache组织的开源一个开源项目,通过Log4J,可以指定日志信息输出的目的地,如console、file等。Log4J采用日志级别机制,请按照输出级别由低到高的顺序写出日志输出级别。

      解答:Log4J分 为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是 ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别, 则应用程序中所有DEBUG级别的日志信息将不被打印出来。

      说出几个与spring同类型的开源框架,说出几个与hibernate同类型的开源框架,说出几个与struts同类型的开源框架

      解答:

      1)与spring同类型的开源框架:JUIDE、EJB3.0、picoContainer

      2)与hibernate同类型的开源框架 :ibatis,jdo,JPA

      3)几个与struts同类型的开源框架:webwork,tapestry,JSF

      struts2中,OGNL访问值栈的时候查找的顺序是什么?请排序:模型对象、临时对象、固定名称的对象、Action对象

      解答:struts2的值栈排列顺序为:1).临时对象;2).模型对象;3).Action对象;4).固定名称对象(如#application, #session, #request等对象)。

      struts2中,Action通过什么方式获得用户从页面输入的数据,又是通过什么方式把其自身的数据传给视图的?

      解答:

      1)可以直接通过与表单元素相同名称的数据成员(需要存在符合命名规范set和get方法)获取页面表单数据。

      2)会把处理好的数据成员放入值栈中,到页面可以使用struts2标签取值就可以了。

      常用的设计模式有哪些?说明工厂模式。

      解答:Java中的23种设计模式:

      Factory(工厂模式), Builder(建造模式),Factory Method(工厂方法模式),

      Prototype(原始模型模式),Singleton(单例模式),Facade(门面模式),

      Adapter(适配器模式),Bridge(桥梁模式),Composite(合成模式),

      Decorator(装饰模式),Flyweight(享元模式),Proxy(代理模式),

      Command(命令模式),Interpreter(解释器模式),Visitor(访问者模式),

      Iterator(迭代子模式),Mediator(调停者模式),Memento(备忘录模式),

      Observer(观察者模式),State(状态模式),Strategy(策略模式),

      Template Method(模板方法模式), Chain Of Responsibleity(责任链模式)

      工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类实例。当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。

      什么是数据库的参照完整性?

      解答:数据库的参照完整性是指表与表之间的一种对应关系,通常情况下可以通过设置两表之间的主键、外键关系,或者编写两表的触发器来实现。 有对应参照完整性的两张表格,在对他们进行数据插入、更新、删除的过程中,系统都会将被修改表格与另一张对应表格进行对照,从而阻止一些不正确的数据的操作。

      如何优化数据库,如何提高数据库的性能?

      解答:

      1) 硬件调整性能 最有可能影响性能的是磁盘和网络吞吐量,解决办法扩大虚拟内存,并保证有足够可以扩充的空间;把数据库服务器上的不必要服务关闭掉;把数据库服务器和主域服务器分开;把SQL数据库服务器的吞吐量调为最大;在具有一个以上处理器的机器上运行SQL。

      2)调整数据库

      若对该表的查询频率比较高,则建立索引;建立索引时,想尽对该表的所有查询搜索操作, 按照where选择条件建立索引,尽量为整型键建立为有且只有一个簇集索引,数据在物理上按顺序在数据页上,缩短查找范围,为在查询经常使用的全部列建立非簇集索引,能最大地覆盖查询;但是索引不可太多,执行UPDATE DELETE INSERT语句需要用于维护这些索引的开销量急剧增加;避免在索引中有太多的索引键;避免使用大型数据类型的列为索引;保证每个索引键值有少数行。

      3)使用存储过程

      应用程序的实现过程中,能够采用存储过程实现的对数据库的操作尽量通过存储过程来实现,因为存储过程是存放在数据库服务器上的一次性被设计、编码、测试,并被再次使用,需要执行该任务的应用可以简单地执行存储过程,并且只返回结果集或者数值,这样不仅可以使程序模块化,同时提高响应速度,减少网络流量,并且通过输入参数接受输入,使得在应用中完成逻辑的一致性实现。

      4)应用程序结构和算法

      建立查询条件索引仅仅是提高速度的前提条件,响应速度的提高还依赖于对索引的使用。因为人们在

      使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,特别是对数据量不是特别大的数据库操作时,是否建立索引和使用索引的好坏对程序的响应速度并不大,因此程序员在书写程序时就忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在数据量特别大时或者大型的或是复杂的数据库环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明显。在工作实践中发现,不良的SQL往往来自于不恰当的索引设计、不充份的连接条件和不可优化的where子句。在对它们进行适当的优化后,其运行速度有了明显地提高!

      JS中的三种弹出式消息提醒(警告窗口、确认窗口、信息输入窗口)的命令是什么?

      解答:alert confirm prompt


上一篇:Java经典笔试题——(6)

下一篇:Java经典笔试题——(8)

最新开班日期

开班时间 2017/03/27
距离开班时间还剩

1 2 3