"这篇资料包含了最新华为与IBM的JAVA面试题,涵盖了Java基础知识、JSP&Servlet技术、J2EE相关知识以及其他重要的Web安全性考虑和软件架构模式。"
【Java基础知识】
- Java的基本数据类型包括整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。String是一个对象,不是基本数据类型,它用于存储字符串,而基本类型是直接存储值,对象则存储引用。
- 字符串操作包括反转和替换。例如,反转字符串可以使用StringBuilder类的reverse()方法,替换则可以利用replace()函数。
- 数据类型转换涉及数字与字符的互转,例如使用Integer.parseInt()或Integer.toString(),以及Double.parseDouble()和Double.toString()。
- 日期和时间处理方面,可以使用java.util.Calendar类获取年月日和时间,System.currentTimeMillis()获取自1970年以来的毫秒数,java.text.SimpleDateFormat类进行日期格式化。
- 数组和集合是Java存储数据的重要结构,数组固定大小,集合可动态扩展。集合包括List、Set、Queue等接口及其实现类。
- 文件和目录操作,如使用File类的listFiles()列出目录下所有文件,exists()判断文件或目录是否存在,以及使用FileReader/Writer进行读写操作。
【JSP&Servlet技术】
- JSP和Servlet都是Web开发组件,JSP侧重视图展示,Servlet负责业务逻辑。JSP可以内嵌Java代码,而Servlet需要通过doGet/doPost方法处理请求。
- 在处理HTML标记时,需注意特殊字符的转义,如使用HTML实体。
- JSP中通过request对象读取客户端请求,通过getAttribute()访问CGI变量,realPath()获取文件路径。
- Cookie和Session用于管理用户会话,Cookie存储在客户端,Session存储在服务器端。Session基于Cookie实现,若Cookie禁用,Session也可能失效。
- JSP的include指令和jsp:include动作用于包含外部文件,前者在编译时合并,后者在运行时动态合并。
- errorPage指定错误页面,用于处理JSP运行时错误。
【J2EE相关知识】
- J2EE(现在称为Java EE)是企业级应用的平台,包含J2SE(标准版)和J2ME(微型版)。
- J2EE提供包括EJB(Enterprise JavaBeans)、JMS(Java消息服务)、JTA(Java事务API)等多种技术。
- Application Server如Tomcat、JBoss、WebLogic等,提供运行Java EE应用的环境,包括容器管理和资源管理等功能。
- 连接池优化数据库连接的分配和回收,减少创建和销毁连接的开销,提高性能。
- web.xml是Web应用的部署描述符,定义应用配置、过滤器、监听器、Servlet映射等。
【其他】
- Web安全性涉及表单验证、SSL加密、代码安全性等方面,防止SQL注入、XSS攻击等。
- MVC(Model-View-Controller)是常见的软件设计模式,分离业务逻辑、数据和用户界面,有利于维护和扩展。
- MVC框架如Spring MVC,有助于实现解耦合和模块化的Web应用开发。
这些面试题全面覆盖了Java程序员应知的基本技能和进阶知识,对准备面试的求职者具有很高的参考价值。