Java基础 面试题

Java基础

  1. String类为什么是final的。
  2. HashMap的源码,实现原理,底层结构。
  3. 说说你知道的几个Java集合类: list, set, queue, map实现类略。
  4. 描述一下ArrayList和LinkedList各自实现和区别
  5. Java中的队列都有哪些,有什么区别。
  6. 反射中, Class, forName和classloader的区别, Class,forName会执行静态代码块;
  7. Java7, Java8 的新特性(baidu 问的,好BT)
  8. Java数组和链表两种结构的操作效率,在哪些情况下(从开头开始,从结尾开始,从中间开始),哪些操作(插入,查找,删除)的效率高,
  9. Java 内存泄露的问题调查定位: jmap, jstack的使用等等
  10. string, stringbuilder, stringbuffer 区别
  11. hashtable 和hashmap的区别
  12. 异常的结构,运行时异常和非运行时异常。各举个例子
  13. Stringa="abc"Stringb="abe"Stringc=newString(“abe”)Stringd=“ab”+“c”,他们之间用–比较的结果
  14. String类的常用方法
  15. Java的引用类型有哪几种
  16. 抽象类和接口的区别
  17. java的基础类型和字节大小。
  18. Hashtable,HashMap,ConcurrentHashMap底层实现原理与线程安全问题(建议熟悉jdk源码,才能从容应答)
  19. 如果不让你用JavaJdk提供的工具,你自己实现一个Map,你怎么做。说了好久,说了HashMap源代码,如果我做,就会借鉴HashMap的原理,说了一通HashMap实现
  20. Hash 冲突怎么办?哪些解决散列冲突的方法?
  21. HashMap冲突很厉害,最差性能,你会怎么解决?从O (n)提升到log (n)略,用二叉排序树的思路说了一通
  22. rehash
  23. hashCode()与equals()生成算法、方法怎么重写
    二、JavaIO
  24. 讲讲I0里面的常见类,字节流、字符流、接口、实现类、方法阻塞。
  25. 讲讲NIO。
  26. String编码 UTF-8和GBK的区别?
  27. 什么时候使用字节流、什么时候使用字符流?
  28. 递归读取文件夹下的文件,代码怎么实现
    三、JavaWeb
  29. session和cookie的区别和联系, session的生命周期,多个服务部署时session管理。
  30. servlet的一些相关问题
  31. webservice 相关问题
  32. jdbc连接, forname方式的步骤,怎么声明使用一个事务。举例并具体代码
  33. 无框架下配置web、xml的主要配置内容
  34. jsp和 servlet的区别
    四、JVM
  35. Java的内存模型以及GC算法
  36. jvm性能调优都做了什么
  37. 介绍JVM中7个区域,然后把每个区域可能造成内存的溢出的情况说明
  38. 介绍GC和GCRoot不正常引用。
  39. 自己从classload加载方式,加载机制说开去,从程序运行时数据区,讲到内存分配,讲到String常量池,讲到JVM垃圾回收机制,算法, hotspot。反正就是各种扩展
  40. jvm如何分配直接内存,new对象如何不分配在堆而是栈上,常量池解析
  41. 数组多大放在JVM老年代(不只是设置PretenureSizeThreshold,问通常多大,没做过一问便知)
  42. 老年代中数组的访问方式
  43. GC算法,永久代对象如何GC, GC有环怎么处理
  44. 谁会被GC,什么时候GC
  45. 如果想不被GC怎么办
  46. 如果想在GC中生存1次怎么办
    五、开源框架
  47. hibernate 和ibatis的区别
  48. 讲讲mybatis的连接池。
  49. spring框架中需要引用哪些jar包,以及这些jar包的用途
  50. springMVC 的原理
  51. springMVC 注解的意思
  52. spring 中 beanFactory 和 ApplicationContext的联系和区别
  53. spring注入的几种方式(循环注入)
  54. spring如何实现事物管理的
  55. springIOC
  56. springAOP 的原理
  57. hibernate中的1级和2级缓存的使用方式以及区别原理(Lazy-Load的理解)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值