`
sslaowan
  • 浏览: 380498 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

几个Java的面试题

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

    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然后发布到数据库里的,这些问题都比较实际了。
      
      尤其是第2和第4题,我想这个题很难有个标准答案吧
分享到:
评论
24 楼 Checkmate 2009-05-14  
kimmking 写道
Checkmate 写道
一个都不会

看来你不是搞~ssh的

说对了,至今仍在维护GE的那些Servlet呢.....
哦滴神啊,什么时候才能编程......
23 楼 C_J 2009-05-14  
SSH: 面向接口思想 面向切面思想 控制反转 并发控制 设计模式MVC
22 楼 czxiyj 2009-04-20  
很多东东都不懂啊,我也是做俩年多的人呀!!
21 楼 darkelf9 2009-04-15  
flyfan 写道
对于Hibernate是不是有三级缓存这个问题我很想知道,希望有大牛能说清楚一点

这个 ,看看官方文档就知道了
没有定义这个

20 楼 flyfan 2009-04-15  
对于Hibernate是不是有三级缓存这个问题我很想知道,希望有大牛能说清楚一点
19 楼 whisky1hh 2009-04-15  
xuejianshan 写道
如果都会的一清二楚的话,我就是项目经理了~~

项目经理主管项目过程,是偏重管理的,所以有很多项目经理从技术的角度是被很多技术人员瞧不起的。
- -b,我就是被瞧不起的那一种,努力中。
18 楼 MyDicta 2009-04-06  
好像Hibernate有三级缓存吧。。
只是他们自己没做的出,失败了;所以第三级缓存要自己去以插件的方式使用
17 楼 kimmking 2009-04-06  
Checkmate 写道
一个都不会

看来你不是搞~ssh的
16 楼 Checkmate 2009-04-06  
一个都不会
15 楼 sslaowan 2009-04-05  
aquleo 写道
LZ我觉得你第2题回答已经比较到位了...考官可能只是想看看你到底有多深入...

至于第3题我记得好像也是二级缓存,缓存池如果满了会根据产品做不同的处理,

如果是ehcache如果缓存满了之后,新的对象需要缓存时,将会将缓存中hit(表示使用或者命中次数)值最小的对象清除出缓存,给新的对象腾出地方来了...

而oscache如果缓存满了之后,会去进行持久化(需要配置)...当然如果你配置了硬盘存储缓存会存到你硬盘上...

感觉考官技术也很全...

嗯,到了现在的公司问了一下前辈,他的答案跟你一样,ehcache是最少使用最先清除的策略。

14 楼 aquleo 2009-04-03  
LZ我觉得你第2题回答已经比较到位了...考官可能只是想看看你到底有多深入...

至于第3题我记得好像也是二级缓存,缓存池如果满了会根据产品做不同的处理,

如果是ehcache如果缓存满了之后,新的对象需要缓存时,将会将缓存中hit(表示使用或者命中次数)值最小的对象清除出缓存,给新的对象腾出地方来了...

而oscache如果缓存满了之后,会去进行持久化(需要配置)...当然如果你配置了硬盘存储缓存会存到你硬盘上...

感觉考官技术也很全...
13 楼 sslaowan 2009-01-29  
大猫汤姆 写道
感觉这面试官挺菜的,或者是楼主说的概念太多了,看起来像是在吹牛,所以考官不得不刨根问底。

后来得知,面试官根本没在项目中用过这些技术,所以只能问基础,我去别的地方面试,问的都是使用中遇到的问题或者是一些实际问题的解决方案
12 楼 sslaowan 2009-01-29  
抛出异常的爱 写道
ybak 写道
hibernate什么时候出三级缓存了?
4.0吗?

传说在测试时
使用内存数据库
不向主数据库中发送请求.....

可以对付过去么?

有的二级缓存里面同时支持内存和硬盘的内容交换,我就记成了硬盘交换的是三级了
11 楼 大猫汤姆 2009-01-28  
感觉这面试官挺菜的,或者是楼主说的概念太多了,看起来像是在吹牛,所以考官不得不刨根问底。
10 楼 nbkangta 2009-01-25  
像第二题spring首页介绍翻译一下应该就是官方答案了吧,哈哈
9 楼 sunson468 2009-01-23  
完蛋了,很多概念都不懂……
8 楼 抛出异常的爱 2009-01-20  
ybak 写道
hibernate什么时候出三级缓存了?
4.0吗?

传说在测试时
使用内存数据库
不向主数据库中发送请求.....

可以对付过去么?
7 楼 ybak 2009-01-20  
hibernate什么时候出三级缓存了?
4.0吗?
6 楼 wellgao 2008-10-19  
和面试官谈,越简单越好
5 楼 xuejianshan 2008-10-18  
如果都会的一清二楚的话,我就是项目经理了~~

相关推荐

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    │ Java面试题04.java中int占几个字节.mp4 │ Java面试题05.java面向对象的特征.mp4 │ Java面试题06.装箱和拆箱.mp4 │ Java面试题07.==和equals的区别.mp4 │ Java面试题08.String.mp4 │ Java面试题09.讲一下java...

    java面试题集,看你能回答出几个

    java面试题集,看你能回答出几个 java面试题集,看你能回答出几个

    张孝祥整理的JAVA面试题宝典下载

    由于这套面试题涉及的范围很泛,很广,很杂,至少需要一个月的时间才能消化和掌握这套面试宝典,所以,大家应该早作准备,从拿到这套面试宝典之日起,就要坚持在每天闲暇之余学习其中几道题目,日积月累,等到出去...

    JAVA面试题针对三年内经验

    Java面试题.pdf 51CTO下载-程序员面试宝典(全).pdf java华为面试题.pdf java(软件)工程师面试题大全-100%公司笔试题你都能碰到几个 达内笔试题集答案集.pdf 面试题集(全).pdf 达内笔试题集答案集001.pdf 华_为Java...

    Java 面试题全集

    在数学中,两个或多个整数共有的约数中最大的一个称为最大公约数,而能同时被几个整数整除的最小的正整数称为最小公倍数。程序中使用了辗转相除法(也称欧几里得算法)来求最大公约数,通过一个循环结构不断将除数和...

    中兴软创java面试题

    【中兴软创Java面试题】是一份2018年的面试资料,涵盖了针对Java开发者在中兴软创面试过程中可能会遇到的问题。这份资源对于准备Java面试,特别是中兴软创公司的面试者来说,是非常宝贵的参考资料。以下是根据这份...

    JAVA编程百例+JAVA面试题集十套(经典)

    列举几个典型实用的例子: 实例37 读取随机文件 实例38 操作EXECL文件 实例39 生成PDF文件 实例47 使用JAVAMAIL发送邮件 实例48 使用JAVAMAIL接收邮件 实例62 多线程 实例68 使用DOM解析XML 实例69 使用SAX解析XML ...

    2021最新Java面试题及答案V2.0.pdf

    以上知识点涵盖了Java面试中常见的问题,对于准备Java面试的求职者来说,深入理解这些知识点是很有帮助的。通过系统复习这些内容,面试者可以更好地应对面试官的提问,展现出自己的技术实力和专业素养。

    Java 面试题 Java 面试题

    根据给定的文件内容,我们可以总结出一系列与Java面试相关的知识点。下面将详细解析每一道题目涉及的关键概念。 ### 第一部分:基础知识 #### 1. final, finally, finalize的区别 - **final**: 用于声明变量、方法...

    java面试大全视频版

    Java面试题04.java中int占几个字节 Java面试题05.java面向对象的特征 Java面试题06.装箱和拆箱 Java面试题07.==和equals的区别 Java面试题08.String Java面试题09.讲一下java中的集合 Java面试题10.ArrayList 和...

    深圳各公司java面试题

    ### 深圳各公司Java面试题精要解析 #### 中联宏达 - Struts面试题解析 **1. 如何定义FormBean?** FormBean是Struts框架中用于封装表单数据的类,通常继承自`org.apache.struts.action.ActionForm`。定义FormBean...

    java面试题大全好多经典的试题

    ### Java面试题详解 #### 一、Core Java基础 **1. Java中对象的引用有哪些类型?** 在Java中,对象引用主要分为四种类型:强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)以及...

    Java面试笔记 225道Java面试题JAVA面试基础知识点总结Java数据结构题笔试WORD资料汇总(19个).zip

    Java面试笔记 225道Java面试题JAVA面试基础知识点总结Java数据结构题 JAVA笔试面试WORD资料汇总(19个): 2014年最新Java笔试题及答案.docx 225道Java面试题 学会了Java面试随你问.docx Ant和Maven的作用是什么?两者...

    java常见面试题(史上最全最经典-希望对你有用)

    Java常见面试题 Java是最流行的编程语言之一,掌握Java的基础知识是非常重要的。在这里,我们总结了Java常见的面试题,涵盖了Java的基础部分,包括基本语法、类相关的语法、内部类的语法、继承相关的语法、异常的...

    Java面试题笔试题大全

    Java面试题主要涵盖以下几个核心领域: 1. **基础知识**:包括Java语法,如数据类型、变量、运算符、流程控制语句、类与对象、封装、继承、多态等。面试官可能询问关于异常处理、垃圾回收机制、内存模型以及基本...

    java面试题

    ### JavaSE面试题知识点梳理 #### 一、Java 跨平台原理 Java 语言的核心优势之一在于其跨平台性,即“一次编写,到处运行”(Write Once, Run Anywhere)。这种特性主要得益于 Java 字节码(Bytecode)及其运行...

    JAVA面试题最新全集

    随着技术的不断发展,Java程序员的需求也在持续增长,因此Java面试题也成为了求职者们必须面对的挑战。这份“JAVA面试题最新全集”正是为了帮助准备面试的人们提供全面、最新的题目和解答。 面试题通常涵盖了以下几...

    sql面试题,java面试题

    总的来说,SQL和Java面试题涵盖了这两个领域的核心概念和高级特性。扎实的理论基础、丰富的实践经验以及良好的问题解决能力,将是成功通过面试的关键。无论你是初入职场还是寻求职业晋升,对这些知识点的深入理解和...

    2021年最新java面试题--视频讲解(内部培训84个知识点超详细).rar

    Java面试题04.java中int占几个字节 Java面试题05.java面向对象的特征 Java面试题06.装箱和拆箱 Java面试题07.==和equals的区别 Java面试题08.String Java面试题09.讲一下java中的集合 Java面试题10.ArrayList 和...

    稍微有点难度的10道java面试题,你会几道?

    根据给定的信息,我们将逐一分析这10个Java面试题所涉及的知识点: ### 1. JVM 对频繁调用的方法做了哪些优化? JVM(Java虚拟机)在运行时会针对频繁调用的方法进行多种优化措施,以提高程序执行效率。主要的优化...

Global site tag (gtag.js) - Google Analytics