用友java面试题

更新时间:2023-10-24 14:02:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1, what’s BO, DAO, VO? 之间的关系?

VO(value object) 值对象通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.个人觉得同DTO(数据传输对象),在web上传递。

BO(business object) 业务对象从业务模型的角度看,见UML元件领域模型中的领域对象。封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务操作。

PO(persistant object) 持久对象在o/r映射的时候出现的概念,如果没有o/r映射,没有这个概念存在了。通常对应数据模型(数据库),本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。

DAO:

data access object数据访问对象这个大家最熟悉,和上面几个O区别最大,基本没有互相转化的可能性和必要.

主要用来封装对数据库的访问。通过它可以把POJO持久化为PO,用PO组装出来VO、DTO

2, What is “sequence” in RDBM? Relational DataBase Machine 关系数据库计算机

Sequence是数据库系统按照一定规则自动增加的数字序列。这个序列一般作为代理主键(因为不会重复),没有其他任何意义。

What is static SQL statement and dynamic SQL?

静态,动态时针对sql而言的,简单说,静态sql在编译时确定,动态sql在运行时确定,可以由用户确定,更加灵活

3, What is the respective benefict?

4, Please write a java snippet to implement the “singleton” pattern. //饿汉式

private static UserManager instance = new UserManager();

private UserManager() {}

public static UserManager getInstance() { return instance; }

// //懒汉式

// private static UserManager instance; //

// private UserManager() { // // } //

// public static synchronized UserManager getInstance() { // if (instance == null) {

// instance = new UserManager(); // }

// return instance; // }

5, Please diagram the architection of J2EE, list and briefly describe the J2EE platform elements, and the relationship among these major components.

6, Java 的数据库连接操作,抽出person表的用户名称username字段,返回数据库连接信息。

driver = org.git.mm.mysql.Driver 连接串:jdbc:mysql://127.0.0.1 testdb 用户名:root 密码:test123

public class DBConnection {

// jdbc:mysql://localhost:3306 s2?user=root&password=root

StaticStringurl=\code=true&characterEncoding=GBK\

static String driver=\

public static java.sql.Connection getConnectionDirectly() throws SQLException { java.sql.Connection conn = null; try {

Class.forName(driver).newInstance();

conn = java.sql.DriverManager.getConnection(url); if (conn == null) {

log(\null!\ }

} catch (Exception e) {

log(\Failed!\ }

return conn; }

我记得就这麽多,如果有变动就不知道了,这是我去面试给的

1 MVC怎么实现

2 你是怎么理解java load一个类整个过程 类加载流程

每个ClassLoader加载Class的过程是:

1.检测此Class是否载入过(即在cache中是否有此Class),如果有到8,如果没有到2 2.如果parent classloader不存在(没有parent,那parent一定是bootstrap classloader了),到4

3.请求parent classloader载入,如果成功到8,不成功到5 4.请求jvm从bootstrap classloader中载入,如果成功到8

5.寻找Class文件(从与此classloader相关的类路径中寻找)。如果找不到则到7. 6.从文件中载入Class,到8. 7.抛出ClassNotFoundException. 8.返回Class.

3 你怎么理解O/R mapping

4 你怎么理解IOC 和DI

控制反转DI(Dependency Injection)模式,就是Inversion of Control,控制反转。 在Java开发中,IoC意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。这称为控制反转。

5你怎么应用Hibernate SessionFactory

SessionFactory接口:SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。

6UML 集合和聚合

7抽象工厂和简单工厂的区别

工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。

工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。

8建索引命令

创建索引,例如CREATE INDEX <索引的名字> ON tablename (列的列表); 修改表,例如ALTER TABLE tablename ADD INDEX [索引的名字] (列的列表);

创建表的时候指定索引,例如CREATE TABLE tablename ( [...], INDEX [索引的名字] (列的列表) );

9描述几个你常用的设计模式 设计模式这一块:

Observer模式:小孩哭,事件监听。

facade模式:也是抽取一个公共的类,专门对外 调停者模式:居委会大妈

策略模式:解决重复的if else,写一个接口,然后实现方法不同。(多态)

适配器模式:实现一个接口的时候,里面有很多方法,只需要实现其中的一个功能,如果实现这个接口的时候 不想同时实现那么多的空的方法,就引入一个适配器,用来实现那个接口,然后再让要实现功能 的接口来继承这个适配器就可以了,这种模式叫适配器模式。

简单工厂模式:

工厂方法:又称为标准的工厂模式 抽象工厂模式: 10用JDBC 遍历输出

System.out.print(rs.getInt(1)+\

System.out.print(rs.getString(2)+\ System.out.print(rs.getString(3)+\ System.out.print(rs.getString(4)+\ System.out.println(\解释反射机制

反射机制指的是程序在运行时能够获取自身的信息。例如一个对象能够在运行时知道自己有哪些方法和属性。

北京市海淀区苏州街18号长远天地大厦A1-1805

本文来源:https://www.bwwdw.com/article/08c2.html

Top