广州普金计算机科技有限公司java面试总结

匿名网友 匿名网友 发布于: 2015-08-30 00:00:00
阅读 109 收藏 0 点赞 0 评论 0

地址:广州珠江新城星汇园旭日轩250

.笔试题:
1.请描述MVC的设计思想?
MVC:Model、View、Controlle
Model:JavaBean,负责业务处理和数据的处理
View:视图层,负责数据的展示
Controlle:控制器,负责客户端请求,调用JavaBean,进行页面的跳转
运行原理:客户端的每个请求提交到Servlet,Servlet得到客户端提交的表单参数,然后调用JavaBean中的方法进行业务处理或数据的封装,处理完成之后,将结果返回给Servlet,由Servlet根据javaBean的处理结果,进行页面的跳转.

2.GC是什么? GC的全称如何拼写?
GC是JVM中的垃圾回器,负责垃圾回收事宜,应用只在需要时申请空间,而在抛弃对象时不必关心空间回收问题.
全称是:garbage collection

3.什么是IOC?
IoC就是Inversion of Control,控制反转.在Java开发中,IoC意味着将你设计好的类交给系统去控制,而不是在你的类内部控制.这称为控制反转.在JAVA WEB开发中,最常见且用得最多的是Spring容器其中之一的核心组件IOC,另外一个核实组件是:AOP(Aspect Oriented Programming),面向切面编程,主要是用来做声明式事务.当然不止这一个功能….这里不一一例举,只做简略介绍.

4. final, finally, finalize之间的区别和作用分别是什么?
final:
1.声明的类不能继承. 2.声明的方法不能被重写 3.声明的变量不能被修改,而且必须赋初值
finally:
在异常块中提供finally来执行任何清理的操作(如关闭数据库连接等).如:在try{}catch{}中如果有异常发生的情况下,首先会根据 异常的实例对象,去匹配catch中的异常对象,如果有的话,执行捕获到catch块中的代码,最后执行finally代码块中的代码.
finalize:
1.当垃圾回收器确定该对象不存在对该对象更多的引用时,由对象的垃圾回收器调用该方法.
2.是在Object类中定义的一个方法.所以任何类都可以重写这个方法.
3.垃圾回收器在内存中清除这些对象之前,做一些必要的清理工作.

5.在try{return;}finally{code;}中,finally中的代码是否会执行?什么时候执行?
1.finally中的代码会执行.
2.程序运行到return语句时,会先执行finally中的代码,然后再去执行return语句.

6.getParameter()和getAttribute()有什么区别?
1.getParameter()方法是获得客户端提交的表单参数.
2.getAttribute()方法是获得作用域中所设置的属性的值.

7.五大服务器对象有哪些?
1.pageContext    ———>javax.servlet.jsp.PageContext
2.request      ———->javax.servlet.http.HttpServletRequest
3.response      ———>javax.servlet.http.HttpServletResponse
4.session      ———>javax.servlet.http.HttpSession
5.application    ———>javax.servlet.ServletContext

8.Java中如何实现多继承?
在Java里没有多继承,一个类能只能有一个父类.在Java中可以用接口实现多继承,因为一个类可以实现一个或多个接口.

一共9道题,还有一道题的内容忘记了…

二.技术部所问的问题如下:

1.请给我说一下MVC的设计思想?
MVC:Model、View、Controlle
Model:JavaBean,负责业务处理和数据的处理
View:视图层,负责数据的展示
Controlle:控制器,负责客户端请求,调用JavaBean,进行页面的跳转
运行原理:客户端的每个请求提交到Servlet,Servlet得到客户端提交的表单参数,然后调用JavaBean中的方法进行业务处理或数据的封装,处理完成之后,将结果返回给Servlet,由Servlet根据javaBean的处理结果,进行页面的跳转.

2.在Hibernate中lazy是做什么的?它有什么作用?好处和坏处分别是什么?
lazy是Hibernate中的延迟加载功能,类和集合默认都支持延迟加载.
好处:当一个类中拥用另一个类的引用时,当你查询这个类时,不会把另一个类的信息查询出来,只有当你在真正用到这个类的属性时,才会发出sql语句到数据库中查询.减少了与数据库交互的次数,可以给程序提高性能.
坏处:当 在页面显示一个类对象中的属性时,有可能会产生空指针异常.因为Hibernate默认支持延迟加载,当查询出真正用的那个对象后,session在业务 逻辑层就关闭了,当你在页面又需要用这个另外一个类的属性时,由于session已经关闭,缓存已经清空,所以再去数据库查询的时候就会抛异常.
解决方案:在web.xml中配置spring的过滤器—–>OpenSessionInViewFilter,把session打开在视图层

3.说一下Struts2和Struts1的区别有哪些?
1.Struts1需要实现一个Action或DispatchAction接口,并且重写execute()方法,而Struts2就是一个普通的javaBean,不需要继承任何类和实现任何接口,但必须有一个execute()的方法.
2.Struts1中的execute()方法的返回值是一个ActionForward,由它来进行页面的跳转.而Struts2中的execute()方法的返回值是一个String.
3.Struts1 整合了JSTL,因此使用JSTL EL。这种EL有基本对象图遍历,但是对集合和索引属性的支持很弱。Struts2可以使用JSTL,但是也支持一个更强大和灵活的表达式语言 --”Object Graph Notation Language” (OGNL).中文意思称:对象导航语言
4.Struts2简化了配置文件,支持通配符的配置.
Struts1和Struts2的区别还是比较大的,因为它是一个全新的框架,这里只例举以上几条,仅供参考.

4.GC是什么?
GC是JVM中的垃圾回器,负责垃圾回收事宜,应用只在需要时申请空间,而在抛弃对象时不必关心空间回收问题.
全称是:garbage collection

5.你下载JDK安装之后,需要配置哪些地方?
1.JAVA_HOME
JAVA_HOME=”JDK的安装目录”
2.PATH
在PATH变量中添加:%JAVA_HOME%bin;
3.CLASSPATH
CLASSPATH=.;%JAVA_HOME%lib;

6.在Hibernate中如何使用存储过程?
在我们平常的项目当中暂是还没有用到过存储过程,原因是在开发之前,由于考虑到各个数据库的厂商,所采用的存储过程,在语法上面有些差别,这样的话,对程 序的移值性不太好,所以我们在平时做项目的时候,一般不采用存储过程,直接使用Hibernate中的HQL、条件查询或者原生SQL查询.

评论列表
文章目录