论坛首页 招聘求职论坛

面试题:如何实现一个j2ee框架?

浏览 4173 次
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-03-19  
     今天面试java软件工程师,面试的人问我:如果要你自己实现一个框架,你怎么实现它?
      问到这个问题的时候有点不知所措(惭愧,之前没想过这个问题),后来我就扯了下,说:任何一种框架都是用来解决某一类特定的问题的,要根据具体的问题来谈实现。您能不能问的具体一点?
     面试官听完以后就换了个其他的问题,估计是对我的回答不满意!
     问问牛人们,这个问题怎么答?
   发表时间:2009-03-20  
ssh综合起来如何?
不过这个问题确实比较大啊

首先需要一个请求转发器,根据不同的请求路径转发到不同的具体的ACTION
action处理具体的请求,当然是通过调用service来完成,嘿嘿,service调用dao完成数据库相关操作

可以在action层利用struts2的拦截器思想解藕req和resp
在action调用service的时候可以利用IOC自动注入
在service调用DAO的时候也可以利用IOC,DAO进行数据库操作的时候可以AOP进行事务管理。当然AOP也可以利用在其他需要的地方喏



最后再对异常进行统一的封装,OK了,我就想到这么多拉
1 请登录后投票
   发表时间:2009-03-20  
实现一个框架,只要你对现在流行的框架的运行原理有深刻的了解,按照你的理解给他说一下应该就可以了。
0 请登录后投票
   发表时间:2009-03-20  
easy,扯呗,只要不问算法题,都easy.........这就是经验积累的结果
0 请登录后投票
   发表时间:2009-03-20  
zwb1986718 写道
     今天面试java软件工程师,面试的人问我:如果要你自己实现一个框架,你怎么实现它?
      问到这个问题的时候有点不知所措(惭愧,之前没想过这个问题),后来我就扯了下,说:任何一种框架都是用来解决某一类特定的问题的,要根据具体的问题来谈实现。您能不能问的具体一点?
     面试官听完以后就换了个其他的问题,估计是对我的回答不满意!
     问问牛人们,这个问题怎么答?


你的回答是正确的,框架脱离了需求还有什么意义?

每一个框架都有它的领域,专注于解决这个领域的问题。
0 请登录后投票
   发表时间:2009-03-20   最后修改:2009-03-20
kusix 写道
zwb1986718 写道
     今天面试java软件工程师,面试的人问我:如果要你自己实现一个框架,你怎么实现它?
      问到这个问题的时候有点不知所措(惭愧,之前没想过这个问题),后来我就扯了下,说:任何一种框架都是用来解决某一类特定的问题的,要根据具体的问题来谈实现。您能不能问的具体一点?
     面试官听完以后就换了个其他的问题,估计是对我的回答不满意!
     问问牛人们,这个问题怎么答?


你的回答是正确的,框架脱离了需求还有什么意义?

每一个框架都有它的领域,专注于解决这个领域的问题。

对于企业开发有太多共通点了
不要照本宣科....
面试大忌说出大家都知道的真理.
1 请登录后投票
   发表时间:2009-03-20  
你可以给他讲讲某个你熟悉的open source框架。讲一个,如spring, 或对比的讲,如spring vs guice. 高一点,指出这些框架的局限性,讲讲你可以改进的办法。
0 请登录后投票
   发表时间:2009-03-20  
kenees 写道
easy,扯呗,只要不问算法题,都easy.........这就是经验积累的结果

为虾米没有算法问题呢?写框架也可能涉及到算法啊。。。
0 请登录后投票
   发表时间:2009-03-20  
我觉得要分析一下scenario,就是列出别人怎么使用这个框架的,各种情况。
然后呢,如果是library,就要对不同的scenario定义API,然后再设计实现。
框架的话,估计你要对于不同的scenario进行设计及实现,然后把跟具体应用相关的类阿什么的,提供扩展的机制,让用户提供。比如,App -> MyView ==> App -> View,那么用户就可以提供具体的View地实现来应用这个框架了。
0 请登录后投票
   发表时间:2009-03-22  
框架就是一个半成品,你需要帮助开发者解决一部分问题。
如:统一的对象声明周期管理,包括对象的创建,初始化,激活,挂起,毁灭,功能切入。
核心的交易驱动
数据库访问的帮助
访问渠道的抽象,比如HTTP,TCP如何访问,session创建,数据的存储,校验。
i18n,taglib,统一的异常机制,开发的插件支持,其他辅助功能等等
这些都是框架需要去做的。。。

0 请登录后投票
论坛首页 招聘求职版

跳转论坛:
Global site tag (gtag.js) - Google Analytics