用友Java面试题及答案解析

需积分: 32 26 下载量 8 浏览量 更新于2025-01-04 收藏 39KB DOC 举报
"这是一份关于用友公司Java面试题目的集合,包含了答案,涵盖了Java基础知识、数据库操作、Web开发框架以及设计模式等核心知识点。" 1. **Hashtable与HashMap的区别** - Hashtable是Java早期的集合类,继承自Dictionary类,而HashMap是Java 1.2后引入的,实现了Map接口。 - Hashtable的所有方法都是线程安全的,而HashMap不是,HashMap在多线程环境下如果不进行同步控制,可能会导致数据不一致。 - Hashtable不允许null作为键或值,而HashMap允许null键和null值。 - Hashtable迭代时的顺序不可预测,而HashMap则基于其内部哈希算法的特性,迭代顺序一般与插入顺序不一致。 2. **MVC模式** - MVC(Model-View-Controller)是一种软件设计模式,用于将业务逻辑、用户界面和应用数据分离。Model代表数据模型,View负责显示数据,Controller处理用户的输入并调用Model和View更新数据及视图。 3. **数据库查询** - SQLServer中的左联接查询`LEFT JOIN`在Oracle中同样使用`LEFT JOIN`,不同数据库系统间的SQL语法基本兼容。 4. **数据库对应关系** - SQLServer中的数据库在Oracle中对应的是“Schema”,每个Schema包含一组相关的对象,如表、视图、存储过程等。 5. **数据库迁移** - 将SQLServer的两个数据库迁移到Oracle,通常需要创建两个Oracle Schema,并将表结构和数据迁移过去,可能涉及到数据类型转换和SQL语句的调整。 6. **页面间传递参数** - 从a.jsp传值到b.jsp的方法包括:URL参数传递、请求参数、会话(Session)属性、cookies、隐藏表单字段等。 7. **a.jsp到c.jsp的数据传递** - 可以通过请求转发或者使用Application作用域来实现,简单情况下可以使用请求转发(RequestDispatcher的forward方法)避免Session存储。 8. **映射的理解** - 映射通常指的是对象和数据库之间的映射,比如在Java中,ORM(对象关系映射)技术如Hibernate将Java对象和数据库表之间建立映射关系。 9. **Hibernate获取表结构** - Hibernate通过元数据(如XML配置或注解)来知道表结构,无需查看数据库或SQL语句,元数据描述了对象与表之间的映射关系。 10. **SQLServer集群支持** - SQLServer支持集群,称为SQL Server Failover Cluster,提供高可用性和灾难恢复。 11. **使用MVC的原因** - MVC模式有利于代码的可维护性、可扩展性和职责划分清晰,避免JSP页面过于复杂,提高开发效率。 12. **Struts中的Action设计** - 对于数据库表的增删改查,通常建议每个操作对应一个Action,以保持Action职责单一,便于管理和测试。 13. **ActionForm的好处** - ActionForm在Struts1中用于收集和验证用户输入,便于数据封装和处理,减少Action类的复杂性。 14. **使用Hibernate的优点** - Hibernate简化了数据库操作,提供了对象级别的缓存,自动处理SQL,支持事务管理,提高了开发效率。 15. **多层架构的扩展** - 如果想要将MVC扩展为四层,可以添加一个Service层,将业务逻辑与Controller进一步分离,形成Model、Service、Controller和View四层架构。 这些面试题覆盖了Java基础、JDBC、Web开发、设计模式等多个方面,展示了应聘者需要掌握的核心技能。理解这些知识点对于Java开发者来说至关重要。