随笔-42  评论-578  文章-1  trackbacks-0

根据现在的回忆,问题不分先后:

问:Java的数据结构你用过哪些?Map与Set的本质区别是什么?

问:Spring整合ORM框架时,事务管理用哪个类?是Spring控制事务的提交还是ORM框架控制?同一事务中执行两个更新操作,它的工作原理是怎样的?

问:Http协议你了解吗?文件上传时,进度条的设计原理是什么?

问:查询一个字段值有重复的表,要去除重复项,SQL语句怎么写?

问:Java中的Annotation的工作原理是什么?

问:分层架构中,Dao层的作用是什么?如果不要DAO层,能不能实现有Dao层时的优点?

问:HibernateDaoSupport,ActionSupport等类中所指的Support,是不是一种设计模式?若是,那说说你对这种设计模式的理解?

问:对数据库的存储过程熟悉不?对CSS熟悉不?

问:说说Struts2的工作原理?

问:Hibernate框架的设计有什么不好的地方?

问:你是怎么样实现分页显示的?具体原理怎么样?Hibernate的setMaxResults和setFirstResult内部是怎么实现分布查询的?

问:Struts,Hibernate,Spring等框架,你哪个最熟悉?有没有读过它的源代码?你用过Spring框架的那些功能?

 

还有一些针对我做过的项目问的一些问题。

问了我许多问题中,大概有一半以上是回答不出来或者回答不好的,才发现,平时用三大框架(Struts2+Hibernate+Spring)做项目,只是停留在表层的应用上,而没有深究其内部的工作原理。第一轮面试时,那位面试官对我说一句很有道理的话——对原理的掌握,决定你以后发展的高度!

感兴趣的朋友,请把你们的答案在回复中贴一下!一起交流一下!



本文原创,转载请注明出处,谢谢!http://www.blogjava.net/rongxh7(心梦帆影JavaEE技术博客)
    

posted on 2009-06-16 20:15 心梦帆影 阅读(9220) 评论(37)  编辑  收藏 所属分类: 心路历程

评论:
# re: 今天到天河软件园面试Java实习生时的一些面试题 2009-06-16 20:20 | 王兵
Http协议你了解吗?文件上传时,进度条的设计原理是什么?

这个确实不清楚  回复  更多评论
  
# re: 今天到天河软件园面试Java实习生时的一些面试题 2009-06-16 20:30 | 东成西就
长见识了,对照一下,好像没几个能回答出来的,太惭愧了!  回复  更多评论
  
# re: 今天到天河软件园面试Java实习生时的一些面试题[未登录] 2009-06-16 20:36 | 小人物
惭愧,几乎答不出来  回复  更多评论
  
# re: 今天到天河软件园面试Java实习生时的一些面试题[未登录] 2009-06-16 21:18 | Java爱好者
靠,这几年Java工作白干了  回复  更多评论
  
# re: 今天到天河软件园面试Java实习生时的一些面试题 2009-06-16 21:40 | Solaris
实习生懂这些水平也不用实习了  回复  更多评论
  
# re: 今天到天河软件园面试Java实习生时的一些面试题[未登录] 2009-06-16 22:45 | Chris
中国特色,光是面试题都这么有应试特色,即使是多年从事java的我也不能回答所有的问题,如果真的有能够回答所有这些问题的人,我觉得他会是一个书呆子而不一定是一个好的程序员,因为这些问题一点让人发挥创意的空间都没有。  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2009-06-16 23:39 | van
@王兵
进度条的原理是上传文件过程中将文件的状态写到一个文件中,然后客户端通过ajax不断去读取这个文件的状态,然后表现出来...  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题[未登录] 2009-06-17 08:30 | sky ao
荒唐,这种题目就是公司3-5年的也不能都答出来,居然敢拿来面试实习生。

你能答出一半来很了不起了,别被人忽悠,要有自信。

还有你面试的哪个公司啊?广州做java的好公司不多,能招实习生还能要求这么高的,在软件园的,网易?爱立信?

  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2009-06-17 08:51 | ghl
假,还是我白做JAVA 了,好像能回答的真没几个..  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题[未登录] 2009-06-17 10:59 | 逍遥
我晕。。。。。。。。狂晕。。。。。。
白做了这两年Java了。。。。。。。。。

对于编程来说最重要的不是你会什么懂什么,关键看你学习能力,解决问题能力。

Map应该是键值对 set是链表形式 ?? 有点忘了。。。

至于问你有没有读过Spring Hibernate Struts2源码 ? 那肯定不是找实习生了。。。。。。。


下次在问你 你就告诉他第一个问题在Java编程思想中有详细介绍
第二个看Spring技术手册以此类推
或者查资料,很多种方式都能找到。。。。

反正这问题我是有不会的,惭愧啊。。。  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题[未登录] 2009-06-17 11:23 | jack
Struts2工作原理类似WebWork
它核心控制器是filterDispatcher顾名思义它是通过过滤方式去定位Action
在系统Action中通过一系列拦截器(此处为WebWork方式)最后指向Action类
我刚学Struts2,不知道对不对  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2009-06-17 11:32 | 龙华城
不实际, 出题的人未必是开放人员,指不定哪淘来的题. 会答题的不一定能写好程序,能写好程序的不一定会答这些题  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题[未登录] 2009-06-17 12:02 | wavesun
真的不会几个啊,还是要努力啊  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2009-06-17 12:51 | 冷玉
对原理的掌握,决定你以后发展的高度!  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2009-06-17 12:51 | 冷玉
这句话太有启发了  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2009-06-17 14:15 | good
问他们是否读过SSH的源码,显然不是招实习生。如果让我来出题目,我直接问:你读过JDK5的源代码没,看过ruby的源代码没,读过Linux的源代码没  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2009-06-17 17:53 | GreatGhoul
惭愧,这些题太难了.  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2009-06-17 21:45 | 虎啸龙吟
很好的东西,收藏了。  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2009-06-17 21:49 | 虎啸龙吟
@van

文件的状态?什么状态?  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2009-06-17 23:16 | Gosin
既然问你这些问题,说明你很有机会了。
对应届一般都不会问这些问题吧,我感觉。  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2009-06-18 00:25 | 吴丹勇
惭愧啊!!!全都不知道!  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2009-06-18 08:51 | 枯宽
我工作两年了,还没用过SSH。。。。  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2009-06-18 08:56 | 幽梦新影
比较基础的面试题,如果平时多加留意肯定不难的,想得满分还是很有难度的~~  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2009-06-19 12:29 | 找个美女做老婆
我和LZ一样,只是知道用,深层的东西,都不了解
我去面视的话,多半是过不了关的

Java乐园 技术交流社区:http://www.javaly.cn
Java乐园 群号:15651281
验证消息 : Java乐园  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2009-06-19 12:30 | 找个美女做老婆
看了,好象没几个能回答上,惭愧。。。。。。。


Java乐园 技术交流社区:http://www.javaly.cn
Java乐园 群号:15651281
验证消息 : Java乐园  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题[未登录] 2009-06-22 10:03 | 魔之左手
惭愧,马马虎虎能回答一半。能通过的实习生也就不是实习生了吧!  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题[未登录] 2009-06-23 09:16 | liwei
个人觉得,这题目很有水准。如果答不上来,就应当花些时间去学习。  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2009-06-26 10:07 | 一缕阳光
领教了,嘿嘿^_^
对原理的掌握,决定你以后发展的高度!这句很受用!  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2009-07-13 22:08 | feila
受教  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2009-07-14 15:29 | 搞改革
真的么?那我再问一个有水准的问题,你知道windows的事务调度原理么?详细的说明一下。  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2009-08-10 10:58 | iwtxokhtd@163.com
个人答案
------------
问:Java的数据结构你用过哪些?Map与Set的本质区别是什么?
答:Java常见的数据结构有Collection和Map,其中Collection接口下包括List和Set接口,其下又有多个实现类如List下有ArrayList、LinkedList和Vector等实现类,Set下有HashSet、LinkedSet等实现类和SortedSet接口,HashSet下有LinkedHashSet子类,SortedSet接口下有TreeSet实现类。Map接口下有HashMap(有LinkedHashMap子类)、HashTable(有Properties子类)实现类和SortedMap接口(有TreeMap实现类)。
我用过的数据结构主要有List、Set、Map、ArrayList、HashSet、HashMap、Properties等。
Map与Set的本质区别我认为有:Set不能包含重复的元素,最多有一个空值,继承自Collection接口,底层是Map实现机制。Map不能包含重复的键,每个键最多对应一个映射的值,不能有空值键。两接口提供的方法不完全一样。
问:Spring整合ORM框架时,事务管理用哪个类?是Spring控制事务的提交还是ORM框架控制?同一事务中执行两个更新操作,它的工作原理是怎样的?
答:Spring整合ORM框架时事务管理用的是相应ORM框架的事务管理器类如Hibernate对应于HibernateTransactionManager,JPA对应于JpaTransactionManager等。整合过后可配置由Spring控制事务的提交。事务提交前执行两个更新操作(不清楚其工作原理)。
问:Http协议你了解吗?文件上传时,进度条的设计原理是什么?
答:Http协议即超文本传输协议,属于应用层的面向对象的协议。它支持客户/服务器模式,简单快速、灵活、无连接和无状态。http请求由请求行、消息报头、请求正文组成,http响应由状态行、消息报头和响应正文组成。
文件上传时进度条的设计原理:在java中主要用到I/O原理,已上传的数据值除以文件总大小的比值即实时进度的值。通过File类获取文件的总大小,在读取或写出文件时加一个进度计算的步骤,每读取或写出一次就计算进度值,更新进度条。
问:查询一个字段值有重复的表,要去除重复项,SQL语句怎么写?
答:在SQL语句中加上distinct关键字,如SELECT distinct(name),id FROM table、SELECT distinct name FROM table。
问:Java中的Annotation的工作原理是什么?
答:Annotation提供一种机制,将程序的元素如:类,方法,属性,参数,本地变量,包和元数据联系起来。这样编译器可以将元数据存储在Class文件中。这样虚拟机和其它对象可以根据这些元数据来决定如何使用这些程序元素或改变它们的行为。
问:分层架构中,Dao层的作用是什么?如果不要DAO层,能不能实现有Dao层时的优点?
答:Dao层又叫数据访问对象层, 封装数据库的底层操作细节如数据库的连接及对数据的CRUD等操作,它不但屏蔽了数据存储最终介质的不同,也屏蔽了具体实现技术的不同。一般在其上还会有Service层来封装业务操作进行进一步的解耦。不用DAO层也能实现Dao层时的优点如自己封装一个类似Dao层功能的数据库操作模板类,可参考Spring的DAO层思想。
问:HibernateDaoSupport,ActionSupport等类中所指的Support,是不是一种设计模式?若是,那说说你对这种设计模式的理解?
答:个人认为用到了IoC模式,即依赖注入,将程序代码中依赖对象的管理交由相应的容器去管理如在配置文件中进行注入配置。
问:对数据库的存储过程熟悉不?对CSS熟悉不?
答:数据库的存储过程是存储过程(stored procedure)是一组为了完成特定功能的sql 语句集,经编译后存储在数据库,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。从本质上讲触发器也是一种存储过程。存储过程可以调用另一个存储过程,它具有如下的优点:允许标准组件式编程因为它可以多次使用不必重复编写、能够实现较快的执行速度因为它是预编译的比批处理执行更快、能够减少网络流量因为它一次性可执行多个SQL语句、可作为一种安全机制来充分利用因为系统管理员可对存储过程进行权限限制。
CSS又叫层叠样式表,是设计网页样式的工具,使用它可更方便的设计和管理网页样式,比普通的HTML标记样式更优秀和方便使用,具体使用在此不多讲。
问:说说Struts2的工作原理?
答:客户发起相应请求-》请求被提交到一系列有序的Filter中如ActionContextCleanUp和FilterDispatcher等-》ActionProxy代理类通过配置文件如struts.xml找到需要调用的Action类-》ActionProxy创建一个ActionInvocation的实例,同时ActionInvocation通过代理模式调用Action。但在调用之前ActionInvocation会根据配置加载Action相关的所有Interceptor-》ActionInvocation初始化时,根据配置,加载Action相关的所有Interceptor-》通过ActionInvocation.invoke方法调用Action实现时,执行Interceptor-》一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。如上文中将结构返回“add.jsp”,若是返回另外一个action,那么该流程又得走一遍。
问:Hibernate框架的设计有什么不好的地方?
答:配置麻烦、映射文件可能过于冗余、查询慢、对海量数据无能为力、太对象化限制了查询、级联关系也影响查询速度等。
问:你是怎么样实现分页显示的?具体原理怎么样?Hibernate的setMaxResults和setFirstResult内部是怎么实现分页查询的?
答:实现一个分页组件,可自实现或借用相应框架的实现。原理是求出所查数据总记录数,设置每页要显示的记录数,然后计算每页要显示的第一条记录数,根据每页要显示的记录数和总记录数来求出页数等。
Hibernate的setMaxResults和setFirstResult内部是通过SQL语句来实现分页查询的,个人观点而已,未查看源代码。
问:Struts,Hibernate,Spring等框架,你哪个最熟悉?有没有读过它的源代码?你用过Spring框架的那些功能?
答:最熟悉的是Struts1.x,其次是Hibernate和Spring,读过其中的一些源代码,并没有去读所有的源代码。主要用过的是Spring的IoC和AOP和事务管理等功能。
  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2009-09-26 18:37 | wusheng
楼上牛人!  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2009-11-05 14:43 | 李健
惭愧,HTTP我就知道是超文本传输协议,哈哈
其他的没问题,都挺熟悉的
不过这个是招实习生的话,对实习生要求太高了。  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题[未登录] 2009-11-11 23:47 | jinxin
汗。。。。。。。 怎么像我们公司的题目!  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题[未登录] 2009-12-10 22:58 | 张峰
虽然我快30了,但我内心还是想从事JAVA软件开发,但我现在对JAVA了解很少,有愿帮下的加我下,86512593,很想找个能实习的公司,边学边为公司做自己能做的事!  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2014-09-03 09:41 | mzj
还好12道题答上了9道  回复  更多评论
  
# re: 今天到广州天河软件园面试Java实习生时的一些面试题 2014-10-08 14:50 | 率先
率先  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: