某天去一地儿面试,问了几个问题,都很基础,不过显然我和考官的思路对不上,有时我答了个答案让他感觉很莫名,有时他问我一个问题让我感觉很意外。看看大家怎么回答?
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然后发布到数据库里的,这些问题都比较实际了。
分享到:
相关推荐
vue面试 VUE的框架基础和原理
实用的java和SSH框架面试题
JAVA基础面试题,框架知识,WEB知识,数据库知识面试题.
自己整理一些Java关于基础和框架的面试题 基础方面包括io流、多线程、异常处理 框架为ssm、ssh
亲身面试总结,高级Java必备,适合面试突击和平时补齐自身短板,内含spring,springMVC,springboot,springcloud等框架基础问题
面试框架+技巧+礼仪+法则+误区+案例分析 精品面试准备资料,包含了各种技巧梳理以及要点整理。 包含: 五个模板教你搞定面试自我介绍.pdf 面试时,如何介绍死的快.pdf 面试自我介绍 幽默一点也无妨.pdf 面试自我介绍...
它是基于组件技术的.全部的应用对象,无论控制器和视图,还是业务对象之类的都是java组件.并且和Spring提供的其他基础结构紧密集成. ...它应是易于扩展的小编总结出来的java ssm基本的面试问题,希望能对你们有所帮助
介绍Java求职面试过程过程中的相关知识点,分为java基础,web,框架等基础知识
绝对是个好东西,涵盖了从java基础到三大框架所以涉及到的知识,java体系很大,不光为了面试,还可以拿来学习
收藏的一些java面试经典题目文档。包含 经典的基础问题 SSH 框架 XML PLSQL 数据库等方面。值得一看。祝面试顺利!
该文档包含了Java面试中常见的面试题目,涵盖了Java基础知识、Java集合框架、Java并发编程、Java虚拟机等方面。 使用该Java面试题可以帮助面试者更加全面地了解Java面试的考点和难点,提高面试成功率。该面试题的...
Java集合框架常见面试题 剖析⾯试最常⻅问题之 Java 集合框架 包含以下几个模块: 1、集合概述 2、Collection子接口之List 3、Collection子接口之Set 4、Map接口 5、Collection工具类 6、其他重要问题
3基础技术框架.txt
JavaEE的知识点,包括servlet,jdbc,js,ssh框架的基础,原理。 收集总结了许多学长面试不同公司时面到的实际面试题。以及分享了回答问题的经验。 自己在去年10月份校招时,感觉有点用,特别是在给自己查漏补缺方面...
本人就是通过自学java,然后找到工作,有很多这样的人,并不难,关键在于你学习方向,学习曲线问题,只要都正确,效率会很高。如果也有想自学java的可以在我博客留言或者加我博客,一起交流 我的博客:...
开源框架面试.pdf 多线程面试.pdf 并发编程面试(下).pdf 并发编程(上).pdf zookeeper面试.pdf Tomcat面试.pdf SQL优化面试.pdf Spring面试.pdf SpringMVC面试.pdf SpringCloud面试.pdf SpringBoot面试.pdf Redis...
php 面试题 基础类型的 没有设计到框架等知识
Dubbo服务框架面试专题及答案整理文档 java筑基(基础)面试专题系列(一):Tomcat+Mysql+设计模式 java筑基(基础)面试专题系列(二):并发+Netty+JVM MySQL性能优化的21个最佳实践 Spring面试专题及答案整理...
【Java基础】集合框架-面试题。包含: 1. ArrayList 和 Vector 的区别; 2、ArrayList,Vector, LinkedList 的存储性能和特性; 3. 快速失败 (fail-fast) 和安全失败 (fail-safe) 的区别; 4. HashMap 的数据结构、...
各个公司面试题