`
高级java工程师
  • 浏览: 410867 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

面试框架基础

阅读更多
某天去一地儿面试,问了几个问题,都很基础,不过显然我和考官的思路对不上,有时我答了个答案让他感觉很莫名,有时他问我一个问题让我感觉很意外。看看大家怎么回答?

    1 考:看你的项目经历用过很多Java技术,开源框架,说说在项目中都用过什么?
      我:Struts,Spring,Hibernate,JBPM,ActiveMQ,RCP,OpenLdap...
    2 考:你能说一下Spring最大的特点和好处是什么吗?
      我:我觉得它最大的特点和好处就是无侵入性
      考:(一愣)嗯?
      我:比如我在编写业务逻辑的时候,我就可以只是编写POJO,然后用JUnit测试,这时我不去考虑持久化,不去考虑事务,只要我符合面向接口编程和IoC原则就OK
      考:(打断我)IoC是什么
      我:控制反转
      考:具体的呢?
      我:如果从实现的角度来说,正如Martin Flower所讲,DI依赖注入是个更具体的IoC的实现方式,Spring支持三种依赖注入形式,比如构造子注入,setter,getter注入...
      考 :(打断我)切面是什么
      我:(转换话题太快,愣了12帧的时间)就是指的应用系统中关注的某个方面
      考:说具体点
      我:比如日志啊,安全啊,事务啊
      考:说的通俗一些呢
      我:(有点蒙)我不知道举例说明是不是是您所指的通俗
      考:就是更概括一些,应用中的什么方面
      我:是那些贯穿于系统多处的可复用的功能吧。(我的意思是比如在系统中很多的地方都会用的日志,用到消息服务,那么我就可以把它看成一个Aspect)
      3 考:Hibernate有几级缓存
        我:(这个问题答的巨屎,不知道我在哪看了一眼,记得Hibernate有三级缓存,虽然在我们的项目中我们指配置了二级缓存)三级
        考:分别是什么
        我:(我拼命的搜索自己的记忆,因为我是一年半前研究Hibernate的,之后我们将Hibernate的细节都封装在我们自制的JPort框架之下了,当时也没太深入研究缓存,只记得二级缓存可以替换不同的实现,于是我就只答了这些。后来回来查了下网上,是有二级缓存,一级是指Session缓存,二级是SessionFactory的外置缓存,可以替换不同的实现)
        考:你再想想是二级还是三级
        我:(很坚定,错就错了,有的时候自己的自信会让对方对他自己产生怀疑)三级,我记得Hibernate in Action那本书上写的
        考:如果缓存池中的对象超过了容量,怎么处理,是放回到数据库还是怎么办?
        我:(这个真没想过,因为我们项目中没遇到过这个问题)放回数据库?好像不应该是这个概念吧,数据库和缓存的对象应该是同步的,不应该存在放回吧,就是会将那些过期的数据或者是命中率低的对象释放掉就可以了吧。我想Hibernate应该有不同的策略来控制这件事。(看来回去得好好研究一下这个问题了,我们过去更关注的是如何进行ORM,因为我个人也比较关注OO,选择Hibernate的一个原因也是因为它可以最小影响我的OOD)
      4 考:jBPM的核心是面向图编程,请说明一下什么是面向图编程
        我:我记得jBPM开发手册上写的是,冯诺伊曼体系中不支持程序的中断,而在面向图的编程中是需要的,因此jBPM采用了一个方法就是将状态持久化。(我当时想到的是ProcessInstance代表了一个图,当执行到某一个Task的时候,需要实例化一个TaskInstance,执行完后可以将流程状态持久化到数据库里。后来回来看到jBPM的参考手册上写着:面向图的程序设计是解决执行暂停和持久化问题的一种技术。可是我觉得他是不是想听我说流程图,Node和Transition,状态机等内容呢?不太清楚)
      5 考:你们用的什么消息中间件?
        我:ActiveMQ,Apache的一个开源产品
        考:消息服务有两种模式,一种是点到点的,一种是广播的,能说说两者的情况吗?
        我:一种就是类似于Socket那种机制,一个消息Provider,一个消息Consumer,另一种就是订阅发布模式,在一个消息服务器上有某个Topic,然后我可以订阅它,当消息发布者更新Topic,我就可以接收到消息了。

      感受:很多基础的知识由于长久不用都说不出官方答案了,有些确实是项目中没涉及,因此当初就是泛泛而看,没做深入的研究,后来也就忘记了。题目都很基础,不像我去别的地方面试,谈及工作流他们会问我如果流程是由于一些规则的不同而不同时,怎么办?因为一般而言流程是写成XML然后发布到数据库里的,这些问题都比较实际了。
分享到:
评论

相关推荐

    Java面试题基础篇

    Java 面试题基础篇是面向Java开发人员的一份详细的面试题库,涵盖了 Java 的基础知识点,包括面向对象编程、变量作用域、事件委托机制、垃圾回收机制、序列化、排序算法、继承、多态、内部类、Collection 框架等。...

    java面试基础

    在准备Java面试时,了解基础概念和技术细节至关重要。本文将基于标题"java面试基础"以及提供的标签"源码"和"工具",结合压缩包中的文档名称,对Java面试中的核心知识点进行深入探讨。 首先,Java语言的基础知识是...

    ssh框架面试题

    - Spring的MVC是Spring框架中用于Web层的组件,它以MVC设计模式为基础,将Web层的控制逻辑从业务逻辑中分离出来。 - Spring的IOC(控制反转)设计模式允许将对象之间的依赖关系的控制权移交给容器,从而降低了耦合度...

    实用的java和SSH框架面试题.pdf

    实用的java和SSH框架面试题

    JAVA基础,框架知识,WEB知识,数据库知识面试题.

    在IT行业中,尤其是在Java开发领域,掌握扎实的基础知识、熟悉常用框架、理解Web技术以及对数据库的深入理解是至关重要的。以下将详细阐述这些领域的关键知识点: **Java基础:** Java是一门面向对象的编程语言,其...

    java面试题,java框架面试题

    Java 面试题是 Java 开发人员面试的必备知识,涵盖了 Java 基础知识、Java 框架、Java 集合框架、Java 多线程、Java 网络编程等方面的知识点。在本文中,我们将对 Java 面试题进行总结和分析,帮助读者快速掌握 Java...

    Java面试精选(基础 框架 数据库等)

    Java面试是每位Java开发者职业生涯中的重要环节,涵盖了基础概念、框架应用、数据库操作等多个方面。以下是一些基于给定文件的Java面试知识点的详细解析: 一、基础问题 基础问题通常涉及Java语言的核心特性,包括...

    面试框架+技巧+礼仪+法则+误区+案例分析.zip

    面试框架+技巧+礼仪+法则+误区+案例分析 精品面试准备资料,包含了各种技巧梳理以及要点整理。 包含: 五个模板教你搞定面试自我介绍.pdf 面试时,如何介绍死的快.pdf 面试自我介绍 幽默一点也无妨.pdf 面试自我介绍...

    java面试基础知识点

    介绍Java求职面试过程过程中的相关知识点,分为java基础,web,框架等基础知识

    python面试数据库框架笔记总结

    通过以上分析,我们可以看出,Python面试中的数据库框架部分涵盖广泛,从基础的数据库操作到高级的ORM使用,再到数据库设计和优化,都需要深入理解和实践。而“study”这个文件名可能包含了对这些知识的学习和研究...

    前端基础,框架面试集锦

    "前端基础,框架面试集锦"这个资源可能包含了各种公司在面试前端工程师时常见的问题,旨在帮助应聘者准备和理解面试官可能提出的关键问题。以下是一些可能涵盖的前端基础知识和框架的相关知识点: **HTML与CSS** 1....

    java_Javaweb_SSH框架面试题大全

    【SSH框架面试题详解】 SSH框架,全称为Spring、Struts和Hibernate的组合,是...以上就是对"java_Javaweb_SSH框架面试题大全"的详细解析,涵盖了SSH框架的核心概念及基础Java知识,有助于准备面试时全面掌握相关技能。

    Java+框架最全面试题

    Java作为一门广泛使用的编程语言,其面试题涵盖了多个方面的知识点,包括基础语法、面向对象、集合框架、多线程、网络编程、IO流、异常处理、设计模式等。本资料包"Java+框架最全面试题"针对Java核心及常用框架进行...

    java 面试 java基础到三大框架

    绝对是个好东西,涵盖了从java基础到三大框架所以涉及到的知识,java体系很大,不光为了面试,还可以拿来学习

    java面试总结 面试 基础题 SSH 数据库

    Java面试中的基础题涵盖了许多关键知识点,其中包括SSH框架和数据库操作。SSH指的是Spring、Struts和Hibernate这三个流行的企业级开发框架。在Java面试中,掌握这些框架的基本概念、使用方式和优缺点至关重要。 1. ...

    史上最强的java面试题 corejava javaWeb SSH框架

    本篇文章将深入探讨Java核心、Java Web和SSH框架的知识点,以及在面试中常见的问题和排序算法。 首先,让我们从Java核心(Core Java)开始。Core Java涵盖了语言基础、集合框架、多线程、IO流、异常处理、反射、...

    BAT面试题,包含并发编程、基础、框架原理等

    该文档包含了Java面试中常见的面试题目,涵盖了Java基础知识、Java集合框架、Java并发编程、Java虚拟机等方面。 使用该Java面试题可以帮助面试者更加全面地了解Java面试的考点和难点,提高面试成功率。该面试题的...

    Java集合框架常见面试题

    Java集合框架常见面试题 剖析⾯试最常⻅问题之 Java 集合框架 包含以下几个模块: 1、集合概述 2、Collection子接口之List 3、Collection子接口之Set 4、Map接口 5、Collection工具类 6、其他重要问题

    java框架面试资料

    Java框架是现代软件开发中的重要组成部分,特别是在面试中,对Java框架的理解和应用能力往往成为衡量候选人技术实力的关键因素。本面试资料集旨在帮助你全面准备Java框架相关的面试问题,确保你在面试过程中能够自信...

    JAVA基础技术框架面试题.txt

    3基础技术框架.txt

Global site tag (gtag.js) - Google Analytics