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

15 个必须知道的 Java 面试问题(2年工作经验)

阅读更多

源:http://www.oschina.net/question/12_17815
评:

【Java核心】
1) What is the purpose of serialization?
2) What is the difference between JDK and JRE?
3) What is the difference between equals and ==?
4) When will you use Comparator and Comparable interfaces?
5) What is the wait/notify mechanism?
6) What is the difference between checked and unchecked exceptions?
7) What is the difference between final, finally and finalize?

【Java企业版】
8) What is the difference between web server and app server?
9) Explain the Struts1/Struts2/MVC application architecture?
10) What is the difference between forward and sendredirect?

【一般问题】
11) How does a 3 tier application differ from a 2 tier one?
12) How does the version control process works?
13) What is the difference between JAR and WAR files?

【数据库】
14) What is a Left outer join?

15) What is the difference between UNION and UNION ALL?




【Java核心】
1) What is the purpose of serialization?
为了传输,将java对象串行化以后变成01串方便传输或者保存,可以很容易的反串行变回原来的java对象。其中@tranxx的一个什么注解可以让java忽略某个属性不做串行化,比如某个巨大的字符串,有效减小串行化后的数据量。
 
2) What is the difference between JDK and JRE?
JDK是有开发功能的,比如javac什么的,javap什么的;JRE就是一个runtime environment,跑java字节码的
 
3) What is the difference between equals and ==?
==是比较引用,equals是Object类的一个方法,可以通过重写equals方法达到比较内容的目的
 
4) When will you use Comparator and Comparable interfaces?
比较大小有的很容易,比如说2>1, "abc">"aba", 这种可以通过自然特性比较的容易理解,但是如果比较两个对象的时候怎么比呢,比如说比较两个人,是比年龄?身高?还是体重?
所以可以通过实现Comparable来实现比较大小的功能,还是用人来说,就比较年龄,A的年龄比B大,就认为A>B
这样的好处有很多,比如说实现了Comparable的以后,就可以用Collections.sort方法来排序。
问题是并不是每次都以年龄比较的,如果下次要比较体重怎么办?那么就要写一个实现了Comparator的比较器来比较传入的两个对象的大小。所以用Collections.sort方法排序的时候传入一个List和一个Comparator
 
5) What is the wait/notify mechanism?
wait和notify的机制。。我没深入研究过,不过我想应该是通过共享锁的方法,比如说将某个对象设为锁(用那个synchronized关键字),某个线程占用了该锁以后,其它线程无法获得该锁就等着,知道那个占用线程释放锁,唤醒等待线程。
这个瞎掰的,按照对操作系统的的了解吹吹。。。
 
6) What is the difference between checked and unchecked exceptions?
我不知道什么叫checked 和unchecked exception,我只知道有check exception 和runtime exception,前者必须用try catch来处理的,后者不需要,比如数组越界之类和除以0这样的异常就是runtime exception。
 
7) What is the difference between final, finally and finalize?
这个太普通了,要写起来也太多了,只说一下finally的时候也可以没有catch,但是必须有try
finalize方法在对象被回收时调用,但是被调用的时候不代表一定马上就被回收,且他只会执行一次,比如说自己手动调用一次以后,等他被回收的时候也不会被执行了。

【Java企业版】
8) What is the difference between web server and app server?
web server: 就是提供一个网站的,比如apache,IIS等,处理一个http 请求,将静态网页或者图片什么的发回去
app server:可以执行程序的,比如说tomcat什么的。
这也是我瞎掰的。。。觉得自己说的不够清楚。。
 
9) Explain the Struts1/Struts2/MVC application architecture?
这个要写就太多了,就是模型-视图-控制三层架构,比如Struts2中,FilterAction对应着Control,Action返回的那些result对应着视图,strut2支持的视图层就多了,比如jsp,甚至是pdf等。。。模型就对应着后来的业务逻辑吧
 
10) What is the difference between forward and sendredirect?
sendredirect重新开一个request

【一般问题】
11) How does a 3 tier application differ from a 2 tier one?
三层模型和两层模型的区别?什么业务逻辑和展示层分离等等,有效分工,有利于后期维护等等。。。
 
12) How does the version control process works?
版本控制,目前有两大类吧,CVS,SVN等属于集中式的,Git属于分布式的,目前Git很火啊。
process就是check out > update > modify > check in, 如果发现冲突那么 merge > check in.
 
13) What is the difference between JAR and WAR files?
jar和war都是zip格式压缩,war是web项目压缩的意思,里面有WEB-INF文件夹,下面有web.xml配置文件

【数据库】
14) What is a Left outer join?
左外连接,就是将左表对应于右表中没有关联的数据也列出来,比如
表 A
a b
c d
e f
表 B
b 1
d 2
c 3
A left outer join B的结果为:
a b 1
c d 2
e f
好久没有写SQL语句了,不记得是不是这样了。。
15) What is the difference between UNION and UNION ALL?
前者去除重复记录,后者不去除
分享到:
评论
1 楼 liujunhui1988 2013-01-16  
觉得很有概括力

相关推荐

    Java 面试问题(2年工作经验)

    Java 面试问题(2年工作经验) 本文档旨在总结 Java 面试中常见的问题,涵盖事务控制、过滤器、连接池、JSP 动态 INCLUDE 与静态 INCLUDE 的区别、Session 对象的存储位置等多个方面。 一、事务控制 事务控制是指...

    Java面试要点(适用于2年以上经验,1年亦可)

    Java 面试要点(适用于 2 年以上经验,1 年亦可) Java 是一种广泛使用的编程语言,涵盖了基础知识、JVM、并发、锁、分布式等领域。以下是Java面试要点的详细知识点总结: 基础篇 1. JVM 内存结构:堆、栈、方法...

    JAVA面试大全,适合2年以内工作者

    总的来说,这份"JAVA面试大全"涵盖了从基础到高级的Java技术,同时也关注了数据库、JVM、框架和网络等方面的知识,对于提升两年以内Java开发者的面试竞争力具有极高的价值。通过系统学习和实践,开发者可以更好地...

    java2年工作经验简历_java简历.doc

    【Java两年工作经验简历】 在Java开发领域,两年的工作经验意味着开发者已经从新手阶段逐渐过渡到熟练工阶段。在这段时间里,他们通常会掌握以下几个关键的知识点: 1. **基础语法与核心概念**:掌握Java的基础...

    我的面试资料(1-2年工作经验)

    Java面试是IT行业中一个至关重要的环节,特别是对于拥有1-2年工作经验的开发者来说,这是进一步提升职业发展的关键。这份“我的面试资料(1-2年工作经验)”集合可能包含了大量关于Java编程语言、核心概念、框架和技术...

    最新2年经验的Java面试题

    以下是对“最新2年经验的Java面试题”中提及的几个典型问题的深入解析,旨在帮助准备面试的Java开发者更好地理解这些知识点。 #### 1. 设计模式详解 设计模式是解决特定类型问题的模板或指导原则,它们在软件工程...

    java面试题20道(适合工作1_3年)(附答案)

    对于工作1到3年的Java开发者来说,掌握核心概念、理解基础原理以及具备实际项目经验是至关重要的。以下是一些可能出现在面试中的Java相关知识点,这些知识点涵盖了基础语法、面向对象编程、集合框架、多线程、异常...

    最近5年133个Java面试问题列表

    根据给定文件的信息,我们可以将相关的Java面试知识点总结如下: ### 多线程、并发及线程的基础 1. **Volatile数组的理解** - Java确实支持创建`volatile`数组,这里的`volatile`修饰符应用于数组引用本身,而...

    java面试问题个人总结

    ### Java面试问题个人总结 #### 一、面试整体流程 1. **简单的自我介绍** - 基本格式:我是xxxx, 工作xxx年。我先后在xxxx公司、yyyy公司工作。先后做过xxxx项目、yyyy项目。 - 在自我介绍环节,面试官主要想...

    Java面试题2022

    在准备2022年的Java面试时,了解和掌握关键知识点是至关重要的。Java作为一款广泛应用的后端开发语言,其面试通常会涵盖基础语法、面向对象编程、集合框架、多线程、JVM内存管理、数据库交互以及开源框架等方面。...

    java面试宝典2017版

    Java面试宝典2017版是一份集大成的面试资源,专为准备Java相关职位面试的求职者量身打造。这份文档旨在帮助求职者系统性地复习和掌握Java编程语言的关键知识点,以应对各类面试挑战。以下将对这份资料中的主要知识点...

    java6年工作经验简历_java简历.docx

    本资源是关于一名 Java 软件开发工程师的简历,总共拥有 6 年的工作经验,擅长 Java 开发、软件设计、测试和维护等技能。 Java 开发经验 * 2016.06 - 2017.02,中国民航信息网络股份有限公司(北京), Java 开发...

    3年java面试经验

    ### 3年Java面试经验总结 #### Java基础知识与面试技巧 **OOD/OOP/OOA**:面向对象的设计、编程和分析方法是Java开发的核心。掌握这些概念有助于更好地理解和设计复杂系统。 **设计模式**:例如单例模式、工厂...

    2017java面试题

    "2017java面试题"这个压缩包文件提供了丰富的资源,帮助Java开发者准备面试,深化对Java开发的理解。 文档"Java面试宝典2017.doc"可能包含了以下核心Java知识点: 1. **基础语法**:这包括变量、数据类型、运算符...

    Java面试宝典2018版

    《Java面试宝典2018版》是一本专门针对Java面试的知识点整理,涵盖了Java基础、面向对象特征、异常处理、多线程、接口与抽象类等多个方面的知识。以下是根据《Java面试宝典2018版》的内容梳理出的详细知识点: Java...

    java面试题20道(适合工作1~3年)(附答案).docx

    【Java面试题解析】 1. **Java中实现多态的机制**:Java通过方法的重写(Overriding)和重载(Overloading)实现多态性。重写是子类对父类方法的重新定义,使得子类对象可以拥有与父类不同的行为;重载则是同一个类...

    近5年133个Java面试问题列表

    ### 近5年133个Java面试问题列表解析 #### 标题与描述解析: - **标题**:“近5年133个Java面试问题列表”:这表明该文档包含了一个在过去五年内常见的Java面试题目集合。 - **描述**:“近5年133个Java面试问题...

    java面试小技巧1

    标题“java面试小技巧1”所揭示的知识点: 一、Java面试准备的必要性与实用性 1. 应聘Java开发岗位时,面试准备的重要性,尤其对于应届毕业生。 2. 通过实用的面试技巧,有助于快速掌握面试要点,提升面试通过率。 ...

Global site tag (gtag.js) - Google Analytics