java开发常见面试题 下载本文

内容发布更新时间 : 2024/12/22 17:39:18星期一 下面是文章的全部内容请认真阅读。

2015年Java开发岗位面试题归类

2016-02-20 分类:JAVA开发、编程开发、首页精华8人评论 来源:阿呆变Geek 分享到:更多18

下面是我自己收集整理的Java岗位今天面经遇到的面试题,可以用它来好好准备面试。

一、Java基础

1. String类为什么是final的。

2. HashMap的源码,实现原理,底层结构。

3. 说说你知道的几个Java集合类:list、set、queue、map实现类咯。。。 4. 描述一下ArrayList和LinkedList各自实现和区别 5. Java中的队列都有哪些,有什么区别。 6. 反射中,Class.forName和classloader的区别 7. Java7、Java8的新特性(baidu问的,好BT)

8. Java数组和链表两种结构的操作效率,在哪些情况下(从开头开始,从结尾开始,从中间开始),哪些操作(插入,查找,删除)的效率高

9. Java内存泄露的问题调查定位:jmap,jstack的使用等等 10. string、stringbuilder、stringbuffer区别 11. hashtable和hashmap的区别

13 .异常的结构,运行时异常和非运行时异常,各举个例子

14. String a= “abc” String b = “abc” String c = new String(“abc”) String d = “ab” + “c” .他们之间用 == 比较的结果 15. String 类的常用方法 16. Java 的引用类型有哪几种 17. 抽象类和接口的区别

18. java的基础类型和字节大小。

19. Hashtable,HashMap,ConcurrentHashMap 底层实现原理与线程安全问题(建议熟悉 jdk 源码,才能从容应答)

20. 如果不让你用Java Jdk提供的工具,你自己实现一个Map,你怎么做。说了好久,说了HashMap源代码,如果我做,就会借鉴HashMap的原理,说了一通HashMap实现 21. Hash冲突怎么办?哪些解决散列冲突的方法?

22. HashMap冲突很厉害,最差性能,你会怎么解决?从O(n)提升到log(n)咯,用二叉排序树的思路说了一通 23. rehash

24. hashCode() 与 equals() 生成算法、方法怎么重写

二、Java IO

1. 讲讲IO里面的常见类,字节流、字符流、接口、实现类、方法阻塞。 2. 讲讲NIO。

3. String 编码UTF-8 和GBK的区别?

4. 什么时候使用字节流、什么时候使用字符流? 5. 递归读取文件夹下的文件,代码怎么实现

三、Java Web

1. session和cookie的区别和联系,session的生命周期,多个服务部署时session管理。 2. servlet的一些相关问题 3. webservice相关问题

4. jdbc连接,forname方式的步骤,怎么声明使用一个事务。举例并具体代码 5. 无框架下配置web.xml的主要配置内容

6. jsp和servlet的区别

四、JVM

1. Java的内存模型以及GC算法 2. jvm性能调优都做了什么

3. 介绍JVM中7个区域,然后把每个区域可能造成内存的溢出的情况说明 4. 介绍GC 和GC Root不正常引用。

5. 自己从classload 加载方式,加载机制说开去,从程序运行时数据区,讲到内存分配,讲到String常量池,讲到JVM垃圾回收机制,算法,hotspot。反正就是各种扩展 6. jvm 如何分配直接内存, new 对象如何不分配在堆而是栈上,常量池解析

7. 数组多大放在 JVM 老年代(不只是设置 PretenureSizeThreshold ,问通常多大,没做过一问便知)

8. 老年代中数组的访问方式

9. GC 算法,永久代对象如何 GC , GC 有环怎么处理 10. 谁会被 GC ,什么时候 GC 11. 如果想不被 GC 怎么办 12. 如果想在 GC 中生存 1 次怎么办

五、开源框架

1. hibernate和ibatis的区别 2. 讲讲mybatis的连接池。

3. spring框架中需要引用哪些jar包,以及这些jar包的用途 4. springMVC的原理 5. springMVC注解的意思