专栏首页cwl_Java经典笔试题-OOA/D与UML篇

经典笔试题-OOA/D与UML篇

二、OOA/D 与UML 部分:(共6 题:基础2 道,中等难度4 道)

96、UML 是什么?常用的几种图?【基础】 答:UML 是标准建模语言;常用图包括:用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图。

97、编程题: 写一个Singleton 出来。【基础】 答:Singleton 模式主要作用是保证在Java 应用程序中,一个类Class 只有一个实例存在。举例:定义一个类,它的构造函数为private 的,它有一个static的private 的该类变量,在类初始化时实例话,通过一个public 的getInstance 方法获取对它的引用,继而调用其中的方法。 第一种形式:

public class Singleton {
	private Singleton(){}
	private static Singleton instance = new Singleton();
	public static Singleton getInstance(){
		return instance;
	}
}

第二种形式:

public class Singleton {
	private static Singleton instance = null;
	public static synchronized Singleton getInstance(){
		if (instance==null)
			instance=new Singleton();
		return instance;
	}
}

其他形式: 定义一个类,它的构造函数为private 的,所有方法为static 的。一般认为第一种形式要更加安全些。

98、说说你所熟悉或听说过的j2ee 中的几种常用模式?及对设计模式的一些看法。【中等难度】 答:Session Facade Pattern:使用SessionBean 访问EntityBean; Message Facade Pattern:实现异步调用; EJB Command Pattern:使用Command JavaBeans 取代SessionBean,实现轻量级访问; Data Transfer Object Factory:通过DTO Factory 简化EntityBean 数据提供特性; Generic Attribute Access:通过AttibuteAccess 接口简化EntityBean数据提供特性; Business Interface:通过远程(本地)接口和Bean 类实现相同接口规范业务逻辑一致性; EJB 架构的设计好坏将直接影响系统的性能、可扩展性、可维护性、组件可 重用性及开发效率。项目越复杂,项目队伍越庞大则越能体现良好设计的重要性。

99、Java 中常用的设计模式?说明工厂模式?【中等难度】 答: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(责任链模式)。 工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类实例。当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。

100、开发中都用到了那些设计模式?用在什么场合? 【中等难度】 答:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。主要用到了MVC 的设计模式,用来开发JSP/Servlet或者J2EE 的相关应用;及简单工厂模式等。

101、你对软件开发中迭代的含义的理解;【中等难度】 答:软件开发中,各个开发阶段不是顺序执行的,应该是并行执行,也就是迭代的意思。这样对于开发中的需求变化,及人员变动都能得到更好的适应。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JDK1.9-Junit单元测试

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    cwl_java
  • 快速学习Oracle-Rownum与分页查询

    但是我们不能取到中间几行,因为rownum不支持大于号,只支持小于号,如果想 实现我们的需求怎么办呢?答案是使用子查询,也正是oracle分页的做法。

    cwl_java
  • 速读原著-Android应用开发入门教程(SkeletonApp的程序的运行)

    SkeletonApp 是 Android 中一个应用程序的框架,这个程序比 HelloActivity 复杂一些,这个程序的运行结果如图所示:

    cwl_java
  • ABAP unit test configuration

    Our unit test code is delivered together with productive code into customer syst...

    Jerry Wang
  • 如何应对云网络中存在的问题与挑战(附DeepFlow白皮书下载链接)

    在全球数字化转型的浪潮下,“上云”已成为企业数字化转型的主流选择,在赋能业务创新、弹性服务的同时,新场景给网络运维、网络运营、网络安全等方面也带来了全新的挑战。...

    SDNLAB
  • 数据可视化,除了炫目你真的看懂内涵了嘛?

    导读:数据可视化,本该是更快更好地表达数据中隐藏的、非直观的信息,是数据分析的升级工具。然而随着大数据火热,人们审美的提升,本该内涵丰富的数据可视化变成了争奇斗...

    钱塘数据
  • OpenStack(企业私有云)万里长征第四步——DevStack整体安装规划及使用

    一、前言 前期成功通过DevStack安装OpenStack,现将从机房规划到虚拟机搭建的整个过程总结如下,以供日后查阅或有需之人参考。 二、机房规划 这个整个...

    魏守峰
  • Android终端单测杂烩

    给测试同学-关于语言补习  Kotlin *建议Java全熟之后再看,同时看有可能会记错用法; *语法比较多,需要慢慢消化; *优先看下官网的Higher-O...

    腾讯移动品质中心TMQ
  • go写并发注意事项

    写go语言并发需要注意的几点: 1. golang 1.2版本 goroutine的runtime.GOMAXPROCS 如果没有被定义,默认是1,从1.5之后...

    李海彬
  • go写并发注意事项

    写go语言并发需要注意的几点: 1. golang 1.2版本 goroutine的runtime.GOMAXPROCS 如果没有被定义,默认是1,从1.5之后...

    李海彬

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动