2019Java面试高频问题知识点总结

Java基础
  1. 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
  2. JDK、JRE、JVM关系是什么?
  3. Java支持的数据类型有哪些?什么是自动拆装箱?
  4. 面向对象是什么?有哪些基本特性?有哪些设计原则?
  5. Enumeration和Iterator的区别?
  6. &和&&的区别?
  7. ==和equals的区别?
  8. 什么是值传递和引用传递?
  9. 是否可以在static环境中访问非static变量?
  10. Overriding和Overloading的区别
  11. 什么是构造方法?什么是构造方法重载?什么是复制构造方法?
  12. 解释内存中的栈(stack)、堆(heap)和方法区(method area)的用法?
  13. Java支持多继承么?
  14. 接口和抽象类的区别是什么?
  15. 用最有效率的方法计算2乘以8?
  16. 手写单例模式(饿汉和饱汉模式)和工厂模式?
  17. String和StringBuilder、StringBuffer的区别?
  18. Java集合框架是什么?说出一些集合框架的优点?
  19. 集合框架中的泛型有什么优点
  20. Java集合框架的基础接口有哪些?
  21. 为何Collection不从Cloneable和Serializable接口继承?
  22. 为何Map接口不继承Collection接口?
  23. 什么是迭代器(Iterator)?
  24. Iterator和ListIterator的区别是什么?
  25. 快速失败(fail-fast)和安全失败(fail-safe)的区别是什么?
  26. HashMap的工作原理是什么?
  27. HashMap和Hashtable有什么区别?
  28. 如何决定选用HashMap还是TreeMap?
  29. ArrayList和Vector有何异同点?
  30. Array和ArrayList有何区别?什么时候更适合用Array?
  31. 当两个对象的hashcode相同会发生什么?
  32. 如果两个键的hashcode相同,你如何获取值对象?
  33. hashCode()和equals()方法有何重要性?
  34. Collection和Collections区别
  35. String s=new String(‘xyz’);创建了几个object对象
  36. short s1;s1=s1+1;是否有错?
  37. Set里面的元素不能重复,用什么方法区分重复与否。
  38. error和exception区别。
  39. List和Set是否继承自Collection接口。
  40. abstract class和interface 的区别。
  41. 是否可以继承String类。
  42. 两个对象值相同,x.equal(y)==true,但是却可有不同的hashcode,这句话对不对。
  43. switch是否作用在byte、long、string上。
  44. GC是什么,为什么要有GC,简单介绍GC。
  45. final、finally、finalize区别
  46. String是最基本的数据类型吗。
  47. 运行时异常和一般异常的区别
  48. 说出ArrayList、Vector、Linkedlist的存储性能和特性
  49. heap和stack区别
  50. Java中的异常处理机制的简单原理和应用
  51. 垃圾回收的原理和特点,并考虑2种回收机制
  52. 说出一些常用的 集合类和方法
  53. 描述一下JVM加载Class文件的原理和机制
  54. 排序的几种方法,了解。(算法和数据结构在面试的时候还没有被问到)
  55. Java语言如何进行异常处理,throws,throw,try catch finally代表什么意义,try块中可以抛出异常吗
  56. 一个’.java’源文件是否可以包括多个类,有什么限制。
  57. Java中有几种类型流,jdk为每种类型的流提供了一些抽象类以供继承,请分别说出它们是哪些类。
  58. Java中会存在内存泄漏吗,请简单描述。
  59. 静态变量和实例变量的区别。
  60. 什么是Java序列化,如何实现java序列化。
  61. 是否可以从一个static方法内部发生对非static方法调用。
  62. 写clone方法,通常都有一行代码。
  63. Java中如何跳出多重嵌套循环
  64. 说出常用类、包、接口,各举5个。
  65. Java中实现线程的方法,用关键字修饰同步方法。
  66. 同步和异步区别。
  67. 线程同步的方法。
  68. 字符串常用方法,字符串转化为整型数方法,整型数转化为字符串方法。
异常
  1. Java 中,throw 和 throws 有什么区别
  2. Java 中堆和栈有什么区别?
  3. 描述一下JVM加载class文件的原理机制?
  4. Jvm怎么判断对象可以回收了?
  5. heap和stack有什么区别。
  6. GC是什么?为什么要有GC?
  7. 垃圾回收的优点和原理。并考虑2种回收机制
  8. 垃圾回收器的基本原理是什么?
  9. 垃圾回收器可以马上回收内存吗?
  10. 有什么办法主动通知虚拟机进行垃圾回收?
  11. 运行时异常与一般异常有何异同?
  12. error和exception有什么区别?
  13. 简单说说Java中的异常处理机制的简单原理和应用
servlet
  1. 说一说Servlet的生命周期?
  2. Servlet API中forward()与redirect()的区别
  3. request.getAttribute()request.getParameter()有何区别?
  4. web.xml 中的listener、 filter、servlet 加载顺序
  5. jsp静态包含和动态包含的区别
  6. MVC的各个部分都有那些技术来实现?如何实现?
  7. jsp有哪些内置对象?作用分别是什么?
  8. 什么是cookie?Session和cookie有什么区别?
  9. jsp和servlet的区别、共同点、各自应用的范围?
  10. tomcat容器是如何创建servlet类实例?用到了什么原理?
  11. jsp和servlet的区别、共同点、各自应用的范围?
  12. servlet的三大作用域对象:
  13. jsp的四大作用域对象:
  14. jsp的九大内置对象:
HTTP
  1. 请求报文的组成:
  2. 响应报文的组成:
  3. 响应:
  4. get和post方法的区别
javaWeb
  1. JDBC访问数据库的基本步骤是什么?
  2. 说说preparedStatement和Statement的区别
  3. 说说事务的概念,在JDBC编程中处理事务的步骤。
  4. 数据库连接池的原理。为什么要使用连接池。
  5. JDBC的脏读是什么?哪种数据库隔离级别能防止脏读?
  6. 什么是幻读,哪种隔离级别可以防止幻读?
  7. JDBC的DriverManager是用来做什么的
  8. execute,executeQuery,executeUpdate的区别是什么?
  9. SQL查询出来的结果分页展示一般怎么做?
  10. JDBC的ResultSet是什么?
并发篇
  1. Java中的同步集合与并发集合有什么区别?
  2. 什么是线程池? 为什么要使用它?
  3. 什么是线程池? 为什么要使用它?
  4. 如何避免死锁?
  5. notify()和notifyAll()有什么区别?
多线程
  1. 什么是线程?
  2. 线程和进程有什么区别?
  3. 如何在Java中实现线程?
  4. Java 关键字volatile 与 synchronized 与 Lock作用与区别?
  5. 有哪些不同的线程生命周期?
  6. 你对线程优先级的理解是什么?
  7. 什么是死锁(Deadlock)?
  8. 如何分析和避免死锁?
  9. 什么是线程安全?Vector是一个线程安全类吗?
  10. Java中如何停止一个线程?
  11. 什么是ThreadLocal?
  12. Sleep()、suspend()和wait()之间有什么区别?
  13. 什么是线程饿死,什么是活锁?
  14. 什么是Java Timer类?如何创建一个有特定时间间隔的任务?
  15. Java中的同步集合与并发集合有什么区别
  16. 同步方法和同步块,哪个是更好的选择?
  17. 什么是线程池? 为什么要使用它?
  18. Java中invokeAndWait 和 invokeLater有什么区别?
  19. 多线程中的忙循环是什么?
  20. 说一下你了解的几种进程间的通信方式
Java高级
  1. 简述面向对象的理解,并举例说出你的理解。
  2. 手写单例模式
  3. 实现字符串多个空格转换一个空格
  4. 字符串常用方法,substring(),split()。
  5. start()和run()区别。
  6. 写出知道的设计模式。
  7. Webservice介绍。
  8. 说出Servlet生命周期,Servlet和CGI区别。
  9. sleep和wait的区别。
  10. 什么是发射,如何实现。
  11. 检查字符串回文,实现英文中单词个数和单词次数统计(部分公司要求较高,需要手动编程,百度查找一些面试常用编程题即可)。
  12. tcp/ip协议三次握手。
  13. http协议几种请求方式,区别。
  14. Ajax请求是否可以实现同步。
  15. 隐藏URL方式。
  16. 描述取到一个网页内容的实现步骤,不需要具体实现过程(就是爬虫:取到网页的URL,然后从URL中国获取网页内容),考察逻辑思维能力。
  17. 简述form表单提交post方法与get方法在字符编码、http协议方面的区别。
  18. 一个http请求从开始到结束都经历了哪些过程,简写流程图。
框架
  1. 谈谈你对Spring框架的理解
  2. Spring中的事务管理,支持哪几种方式,以及每种方式具体方法。
  3. Spring常用注解
  4. Hibernate的缓存级别
  5. hibernate的工作原理
  6. MyBatis的工作原理
  7. SpringBoot的工作原理
  8. SpringCloud的工作原理
  9. Dubbo的工作原理
  10. hibernate如何实现延迟加载
  11. hibernate如何怎样类之间的关系
  12. struts1是什么,工作流程。
  13. struts2工作流程。
  14. 介绍IOC和AOP。
  15. springmvc工作原理。
  16. Mybatis工作流程。
  17. Mybatis与Hibernate区别。
  18. Mybatis框架传递参数方式。
  19. 简述Spring事务管理,使用什么设计模式实现。
数据库
  1. 数据库里面的索引和约束是什么。
  2. 用SQL语句实现oracle分页查询。
  3. 学生成绩表的常用查询(百度即可查到,常用的查询语法)
  4. 数据库性能优化常用基础知识,百万级数据优化(百度搜搜即可)。
  5. left join ,right join用法。
  6. 了解redis,memcache,mongodb等,最好有项目使用经验。
  7. 如何防止SQL注入。
  8. 一个微博评论功能的数据库设计,部门表和员工表的设计,权限管理系统的数据库设计(数据库设计这个是一个重点,面试了几家公司都问到了,而且是重点)。
  9. 简述悲观锁和乐观锁。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猫A建仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值