JAVA面试题2
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 三个 Statment 区别,用法 2 什么是 Cookie 3 servlet 调用方式几种方法 4.Cookie 与 session 的区别是: 5.Get 请求和 Post 请求区别 6. servlet 生命周期 7、Servlet 和 Jsp 的区别? 8.JSP 构架模型 9. JSP 隐含变量(也叫做内置对象、内建对象等等)这些东西在 JSP 当 中,不用声明直接使用。 10.四大共享范围 11.MVC——如何理解 MVC 12. JSP 生命周期(非常重要,还有 servlet 的声明周期也超级重要) 14. Forword 和 SendRedirect 区别 15. 从 BeanFactoy 或 ApplicationContext 是通过什么模式取得实例 的?如果要取得多个实例在配制文件中要怎样做映射 16. jsp 有哪些动作?作用分别是什么? 17、session 的特点 18、如何设置/取得 Bean 中的属性值? 19、JavaBean 的使用: 20、实现页面跳转的两种方法:
iv. }return true; }public static void main(String[] args) { printYHTriangular(10); }
第二种:利用推导式来实现 package com.ibm.etp.Triangle; import java.util.Scanner; public class Triangle02 { public static void main(String[] args) { int i,j,k,n;
21、include 指令标签(静态引用) 22、页面之间的值传递: 12 23、获取 session ID: <%=session.getId()%>; 24、使用 Cookie 对象 25、什么是 servlet: 26、什么是 servlet 容器: 27、什么是 JSP 页面 28、JSP 标签 29 servlet 中如何 30、描述 servlet 的生命周期谁来控制 servlet 的生命周期,servlet 生 命周期在 J2EE 规范中是如何来定义 31、如何创建 Request Dispatcher 对象,如何将请求转发给其它的 web 资源(包含其它的 web 资源),描述如何利用 request 来存状态,以及 与其它保存状态方法有什么区别 32、如何在 web.xml 中配置 servlet 定义(强调再强调) 33、获得 ServletConfig 对象 34、如何获得 servletContext 对象 35、通过超链接来访问 servlet 36、说明如下的 web 的资源应该放在 web 容器中的什么目录下,静态页 面 JSP、servlet class、web.xml、Tag libraries、JAR File、java class 以及需要保护的资源文件 37、描述 request session application 的区别,创建监听器类来监听 每个 scope 的生命周期 38、JSP 的内置对象及方法。(与前面题相同) 39、JSP 的常用指令 40、JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么? 41、四种会话跟踪技术 42、根据 JSP 的生命周期完成下面表格 43.重定向和请求分派区别 第二部分 JDBC 1 JDBC 连接数据库 6 步 2.select count(*) from student 和 select count(id) from student 之间的区别。 3 假设现在有表 system.table1,表中有三个字段:id(数值型)、name (字符型)、age(数值型)写出 SQL 语句完成如下功能:在表中查出年 龄大于 20,且名字以“王”开头并在名字当中含有%的记录,并且按照年 龄的倒叙排列出来(年龄大的在前面)。 4 .创建 CUSTOMERS 表,字段为:ID:(非空,主键)bigint,NAME:
1 11 121 1331 14641 1 5 10 10 1
第一种:利用二维数组来实现 Triangle01.java 文件中 package com.ibm.etp.Triangle; import java.util.Scanner; public class Triangle01 { public static void main(String[] args) { /*添加输入你要计算的行数*/ int num;
System.out.println("请输入你想计算的行数:"); Scanner scanner = new Scanner(System.in); num=scanner.nextInt(); int b[][]=new int[num][num]; for(int j=0;j<num;j++){ //定义行数 for(int k=0;k<=j;k++){ //定义每一行的元素 if(j==0||k==0||k==j){ //先得到两边为 1 的元素 b[j][k]=1; }else{ //计算中间不为 1 的元素 b[j][k]=b[j-1][k-1]+b[j-1][k];//计算值 }}} for(int m=0;m<num;m++){ System.out.println(); //换行 for(int n=0;n<=m;n++){ System.out.print(b [n]+"\t");//循环输出 }}}}
பைடு நூலகம்
(非空)varchar,AGE:int 类型;创建 ORDERS 表,字段为:ID:(非 空,主键,)bigint,ORDER_NUMBER:(非空)varchar,PRICE: double,CUSTOMER_ID :(外键)bigint,设置级连删除; 5.使用左外连接查询,ORDERS 和 CUSTOMERS 表 6 .简述数据库事务的生命周期?(可画流程图) 7.delete from tablea & truncate table tablea,drop table 的区别 第三部分 Struts 1. 简述 Struts 框架的初始化流程。 2. 简述 Struts 框架响应客户请求的工作流程 3 Struts 框架的数据验证可分为几种类型? 4 简述 Form Bean 的表单验证流程。 5 在 struts 配置文件中 action 元素包含哪些属性和子元素? 6. 简单叙述 ActionForm Bean 的作用 7 .叙述 ActionForm 执行步骤 8.在下面的标签中哪些是 struts 标签 9、FormBean 的作用 10、Forward 与 Global-Forward 的区别 11.问题:在 Struts 应用的视图中包含哪些组件? 12 问题:在 Struts 应用的控制器中包含哪些组件? 13. 问题:在 Struts 应用的模型中包含哪些组件? 14. 问题: struts 框架中,关于 FormBean,下列说法正确的是: 15. struts 框架中,在一个 Action 的配置信息中,name 属性指的是: 16.关于 struts 项目中的类与 MVC 模式的对应关系,说法错误的是? 17、问题:以下哪些说法是正确的? 18 ActionForm Bean 对象是由谁创建的? 19、struts 框架,错误的是? 20、问题:以下代码定义了一个变量,如何输出这个变量的值? 21、问题:把静态文本放在 Resource Bundle(消息资源文件)中,而不 是直接在 JSP 文件中包含这些静态文本,有什么优点? 22 在 struts 配置文件中 action 元素包含哪些属性和子元素? 23.关于 struts 项目中的类与 MVC 模式的对应关系,说法错误的是? 第四部分 UML 及其他(与我无关) 1.名词解释 2、j2ee 常用的设计模式?说明工厂模式。 3、如果说有两个类 一个 Student,一个 Message 如何在配置文件中写二 者一对一的关系并设置及联关系(在删除学生的同时与之对应的信息也 删掉)?(写出一种即可)应用 UML 画出 Student 和 Message 的类图和 关系。
1. 同步和异步的概念。 2. 缓存是什么,用途是什么。 3. 介绍一下你熟悉的设计模式。设计模式的作用?什么场合应用设计模
式? 4. tcp/ip 协议简介。 5. 静态方法,构造方法,成员变量的加载顺序。 6. 举例内部类的使用情景 7. 简述对垃圾回收机制的理解,介绍最少一种进行垃圾回收的方法。 8. 内存溢出和内存泄露是什么? 9. jvm 工作原理。 10.java 的工作内存模型简介 11.线程安全是什么意思 12.hash code 是什么 13.写一个最简单的数据结构,可以存储 100000000000000 这样的数据 14.举例数据库优化方法 15.索引的概念和索引的种类。 16.第一部分 Jsp&servlet
1. 对第一种方法的改进: i. public static boolean printYHTriangular(int rowNum) { if(rowNum 65) { return false; } ii. List list = new ArrayList();
iii. for(int i = 0; i 0; ) { list.set(j, list.get(j) + list.get(–j)); } list.add(1L);System.out.println(list);
1.java 中 i=i+1 i+=1 和 i++之效率怎么理解?
1) i = i + 1 它的效率最低,因为其执行过程如下: 1-1 读取右 x 的地址; 1-2 x + 1; 1-3 读取左 x 的地址; 1-4 将右值传给左边的 x
(2) i += 1; 他的执行过程是: 2-1 读取右 x 的地址; 2-2 x + 1; 2-3 将得到的值传给 x
System.out.println("请输入您要计算的行数:"); Scanner scanner=new Scanner(System.in); n=scanner.nextInt(); for(i=1;i<=n;i++){ //行数 i k=1; //因为每一行都是以 1 开头 for(j=1;j<=i;j++){ //每行的元素位置 j System.out.print(k+"\t"); //下面这个就是杨辉三角中的推导式 k=k*(i-j)/j; //每行的某个数值跟他行数和位置有关 //k=k*(i-j)/j;就是根据排列组合 c(n,x)的值推导出来的 } System.out.println(); }}} 第三种:利用递归函数来实现 import java.util.Scanner; public class Triangle03 { public static void main(String[] args) { int n; System.out.println("请输入要输出的杨辉三角的行数:"); Scanner scanner = new Scanner(System.in); n=scanner.nextInt(); output(n); } static void output(int n){ //输出杨辉三角 int i,j; for(i=0;i<=n;i++){ //表示行数 for(j=0;j<=i;j++){ //表示每行的第几个元素 System.out.print(get(i,j)+"\t"); } System.out.println(); }} static int get(int i,int j){//的到每一个元素的值 if (j==0||i==j){ return 1; }else{ return get(i-1,j-1)+get(i-1,j); //调用自身 }}}
(3) i++; 他的执行过程是: 3-1 读取右 x 的地址 3-2 x 自增 1;
总结: ++i 最快 i++ 次之,比++i 多用一个临时变量 i += 1 第三,需要取地址 i = i + 1 最后,并多用一个临时变量
2. Java 实现杨辉三角
iv. }return true; }public static void main(String[] args) { printYHTriangular(10); }
第二种:利用推导式来实现 package com.ibm.etp.Triangle; import java.util.Scanner; public class Triangle02 { public static void main(String[] args) { int i,j,k,n;
21、include 指令标签(静态引用) 22、页面之间的值传递: 12 23、获取 session ID: <%=session.getId()%>; 24、使用 Cookie 对象 25、什么是 servlet: 26、什么是 servlet 容器: 27、什么是 JSP 页面 28、JSP 标签 29 servlet 中如何 30、描述 servlet 的生命周期谁来控制 servlet 的生命周期,servlet 生 命周期在 J2EE 规范中是如何来定义 31、如何创建 Request Dispatcher 对象,如何将请求转发给其它的 web 资源(包含其它的 web 资源),描述如何利用 request 来存状态,以及 与其它保存状态方法有什么区别 32、如何在 web.xml 中配置 servlet 定义(强调再强调) 33、获得 ServletConfig 对象 34、如何获得 servletContext 对象 35、通过超链接来访问 servlet 36、说明如下的 web 的资源应该放在 web 容器中的什么目录下,静态页 面 JSP、servlet class、web.xml、Tag libraries、JAR File、java class 以及需要保护的资源文件 37、描述 request session application 的区别,创建监听器类来监听 每个 scope 的生命周期 38、JSP 的内置对象及方法。(与前面题相同) 39、JSP 的常用指令 40、JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么? 41、四种会话跟踪技术 42、根据 JSP 的生命周期完成下面表格 43.重定向和请求分派区别 第二部分 JDBC 1 JDBC 连接数据库 6 步 2.select count(*) from student 和 select count(id) from student 之间的区别。 3 假设现在有表 system.table1,表中有三个字段:id(数值型)、name (字符型)、age(数值型)写出 SQL 语句完成如下功能:在表中查出年 龄大于 20,且名字以“王”开头并在名字当中含有%的记录,并且按照年 龄的倒叙排列出来(年龄大的在前面)。 4 .创建 CUSTOMERS 表,字段为:ID:(非空,主键)bigint,NAME:
1 11 121 1331 14641 1 5 10 10 1
第一种:利用二维数组来实现 Triangle01.java 文件中 package com.ibm.etp.Triangle; import java.util.Scanner; public class Triangle01 { public static void main(String[] args) { /*添加输入你要计算的行数*/ int num;
System.out.println("请输入你想计算的行数:"); Scanner scanner = new Scanner(System.in); num=scanner.nextInt(); int b[][]=new int[num][num]; for(int j=0;j<num;j++){ //定义行数 for(int k=0;k<=j;k++){ //定义每一行的元素 if(j==0||k==0||k==j){ //先得到两边为 1 的元素 b[j][k]=1; }else{ //计算中间不为 1 的元素 b[j][k]=b[j-1][k-1]+b[j-1][k];//计算值 }}} for(int m=0;m<num;m++){ System.out.println(); //换行 for(int n=0;n<=m;n++){ System.out.print(b [n]+"\t");//循环输出 }}}}
பைடு நூலகம்
(非空)varchar,AGE:int 类型;创建 ORDERS 表,字段为:ID:(非 空,主键,)bigint,ORDER_NUMBER:(非空)varchar,PRICE: double,CUSTOMER_ID :(外键)bigint,设置级连删除; 5.使用左外连接查询,ORDERS 和 CUSTOMERS 表 6 .简述数据库事务的生命周期?(可画流程图) 7.delete from tablea & truncate table tablea,drop table 的区别 第三部分 Struts 1. 简述 Struts 框架的初始化流程。 2. 简述 Struts 框架响应客户请求的工作流程 3 Struts 框架的数据验证可分为几种类型? 4 简述 Form Bean 的表单验证流程。 5 在 struts 配置文件中 action 元素包含哪些属性和子元素? 6. 简单叙述 ActionForm Bean 的作用 7 .叙述 ActionForm 执行步骤 8.在下面的标签中哪些是 struts 标签 9、FormBean 的作用 10、Forward 与 Global-Forward 的区别 11.问题:在 Struts 应用的视图中包含哪些组件? 12 问题:在 Struts 应用的控制器中包含哪些组件? 13. 问题:在 Struts 应用的模型中包含哪些组件? 14. 问题: struts 框架中,关于 FormBean,下列说法正确的是: 15. struts 框架中,在一个 Action 的配置信息中,name 属性指的是: 16.关于 struts 项目中的类与 MVC 模式的对应关系,说法错误的是? 17、问题:以下哪些说法是正确的? 18 ActionForm Bean 对象是由谁创建的? 19、struts 框架,错误的是? 20、问题:以下代码定义了一个变量,如何输出这个变量的值? 21、问题:把静态文本放在 Resource Bundle(消息资源文件)中,而不 是直接在 JSP 文件中包含这些静态文本,有什么优点? 22 在 struts 配置文件中 action 元素包含哪些属性和子元素? 23.关于 struts 项目中的类与 MVC 模式的对应关系,说法错误的是? 第四部分 UML 及其他(与我无关) 1.名词解释 2、j2ee 常用的设计模式?说明工厂模式。 3、如果说有两个类 一个 Student,一个 Message 如何在配置文件中写二 者一对一的关系并设置及联关系(在删除学生的同时与之对应的信息也 删掉)?(写出一种即可)应用 UML 画出 Student 和 Message 的类图和 关系。
1. 同步和异步的概念。 2. 缓存是什么,用途是什么。 3. 介绍一下你熟悉的设计模式。设计模式的作用?什么场合应用设计模
式? 4. tcp/ip 协议简介。 5. 静态方法,构造方法,成员变量的加载顺序。 6. 举例内部类的使用情景 7. 简述对垃圾回收机制的理解,介绍最少一种进行垃圾回收的方法。 8. 内存溢出和内存泄露是什么? 9. jvm 工作原理。 10.java 的工作内存模型简介 11.线程安全是什么意思 12.hash code 是什么 13.写一个最简单的数据结构,可以存储 100000000000000 这样的数据 14.举例数据库优化方法 15.索引的概念和索引的种类。 16.第一部分 Jsp&servlet
1. 对第一种方法的改进: i. public static boolean printYHTriangular(int rowNum) { if(rowNum 65) { return false; } ii. List list = new ArrayList();
iii. for(int i = 0; i 0; ) { list.set(j, list.get(j) + list.get(–j)); } list.add(1L);System.out.println(list);
1.java 中 i=i+1 i+=1 和 i++之效率怎么理解?
1) i = i + 1 它的效率最低,因为其执行过程如下: 1-1 读取右 x 的地址; 1-2 x + 1; 1-3 读取左 x 的地址; 1-4 将右值传给左边的 x
(2) i += 1; 他的执行过程是: 2-1 读取右 x 的地址; 2-2 x + 1; 2-3 将得到的值传给 x
System.out.println("请输入您要计算的行数:"); Scanner scanner=new Scanner(System.in); n=scanner.nextInt(); for(i=1;i<=n;i++){ //行数 i k=1; //因为每一行都是以 1 开头 for(j=1;j<=i;j++){ //每行的元素位置 j System.out.print(k+"\t"); //下面这个就是杨辉三角中的推导式 k=k*(i-j)/j; //每行的某个数值跟他行数和位置有关 //k=k*(i-j)/j;就是根据排列组合 c(n,x)的值推导出来的 } System.out.println(); }}} 第三种:利用递归函数来实现 import java.util.Scanner; public class Triangle03 { public static void main(String[] args) { int n; System.out.println("请输入要输出的杨辉三角的行数:"); Scanner scanner = new Scanner(System.in); n=scanner.nextInt(); output(n); } static void output(int n){ //输出杨辉三角 int i,j; for(i=0;i<=n;i++){ //表示行数 for(j=0;j<=i;j++){ //表示每行的第几个元素 System.out.print(get(i,j)+"\t"); } System.out.println(); }} static int get(int i,int j){//的到每一个元素的值 if (j==0||i==j){ return 1; }else{ return get(i-1,j-1)+get(i-1,j); //调用自身 }}}
(3) i++; 他的执行过程是: 3-1 读取右 x 的地址 3-2 x 自增 1;
总结: ++i 最快 i++ 次之,比++i 多用一个临时变量 i += 1 第三,需要取地址 i = i + 1 最后,并多用一个临时变量
2. Java 实现杨辉三角