Java面试前需要了解的东西

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 一、前言只有光头才能变强回顾前面:广州三本找Java实习经历上一篇写了自己面试的经历和一些在面试的时候遇到的题目(笔试题和面试题)。我在面试前针对Java基础也花了不少的时间,期间也将自己写过的博文粗略地刷了一遍,同时也在网上找了不少比较好的资料(部分是没看完的)。

一、前言

只有光头才能变强

回顾前面:

上一篇写了自己面试的经历和一些在面试的时候遇到的题目(笔试题和面试题)。

我在面试前针对Java基础也花了不少的时间,期间也将自己写过的博文粗略地刷了一遍,同时也在网上找了不少比较好的资料(部分是没看完的)。在这里给大家分享一下~~~

这是我刷完自己写过的笔记写的一篇文章导航,针对于PC端的:https://zhongfucheng.bitcron.com/post/shou-ji/pcduan-wen-zhang-dao-hang比较重要的知识点也画了思维导图,后面新发的文章也会补充上去的。

可能会感兴趣的资料:

二、在学习的时候整理的面试题

之前在学习或者整理知识点的时候也喜欢去找找面试题看,以下是我个人整理的面试题:

2.1集合

  1. ArrayList和Vector的区别
  2. HashMap和Hashtable的区别
  3. List和Map的区别
  4. Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()?
  5. Collection和Collections的区别
  6. 说出ArrayList,LinkedList的存储性能和特性
  7. Enumeration和Iterator接口的区别
  8. ListIterator有什么特点
  9. 并发集合类是什么?
  10. Java中HashMap的key值要是为类对象则该类需要满足什么条件?
  11. ArrayList集合加入1万条数据,应该怎么提高效率
  12. 与Java集合框架相关的有哪些最好的实践

答案:

2.2Servlet+Tomcat面试题

  1. Tomcat的缺省端口是多少,怎么修改
  2. Tomcat 有哪几种Connector 运行模式(优化)?
  3. Tomcat有几种部署方式
  4. Servlet生命周期
  5. get方式和post方式有何区别
  6. doGet与doPost方法的两个参数是什么
  7. 获取页面的元素的值有几种方式,分别说一下
  8. request.getAttribute()和request.getParameter()区别
  9. forward和redirect的区别
  10. tomcat容器是如何创建servlet类实例?用到了什么原理
  11. 什么是cookie?Session和cookie有什么区别?
  12. Servlet安全性问题

答案:

2.3JSP面试题

  1. jsp静态包含和动态包含的区别
  2. jsp有哪些内置对象?作用分别是什么?
  3. jsp和servlet的区别、共同点、各自应用的范围?
  4. 属性作用域范围
  5. 写出5种JSTL常用标签
  6. 写一个自定义标签要继承什么类
  7. JSP是如何被执行的?执行效率比SERVLET低吗?
  8. 如何避免jsp页面自动生成session对象?
  9. jsp的缺点?
  10. 说出Servlet和CGI的区别?
  11. 简述JSP的设计模式。

答案:

2.4JDBC

  1. JDBC操作数据库的步骤 ?
  2. JDBC中的Statement 和PreparedStatement,CallableStatement的区别?
  3. JDBC中大数据量的分页解决方法?
  4. 说说数据库连接池工作原理和实现方案?
  5. Java中如何进行事务的处理?
  6. 写出一段JDBC连接本机MySQL数据库的代码
  7. JDBC是如何实现Java程序和JDBC驱动的松耦合的?
  8. execute,executeQuery,executeUpdate的区别是什么?
  9. JDBC的脏读是什么?哪种数据库隔离级别能防止脏读?
  10. 什么是幻读,哪种隔离级别可以防止幻读?
  11. JDBC的DriverManager是用来做什么的?
  12. JDBC的ResultSet是什么?
  13. 有哪些不同的ResultSet?
  14. JDBC的DataSource是什么,有什么好处
  15. JDBC中存在哪些不同类型的锁?
  16. java.util.Date和java.sql.Date有什么区别?
  17. 如果java.sql.SQLException: No suitable driver found该怎么办?
  18. JDBC的RowSet是什么,有哪些不同的RowSet?
  19. 什么是JDBC的最佳实践?

答案:

2.5数据库

  1. 什么是存储过程?有哪些优缺点?
  2. 三个范式是什么
  3. 什么是视图?以及视图的使用场景有哪些?
  4. drop、delete与truncate分别在什么场景之下使用?
  5. 索引是什么?有什么作用以及优缺点?
  6. 什么是事务?
  7. 数据库的乐观锁和悲观锁是什么?
  8. 超键、候选键、主键、外键分别是什么?
  9. SQL 约束有哪几种?
  10. 数据库运行于哪种状态下可以防止数据的丢失?
  11. Mysql存储引擎
  12. MyIASM和Innodb两种引擎所使用的索引的数据结构是什么?
  13. varchar和char的区别
  14. mysql有关权限的表都有哪几个
  15. 数据表损坏的修复方式有哪些?
  16. MySQL中InnoDB引擎的行锁是通过加在什么上完成
  17. 数据库优化的思路
  18. Oracle和Mysql的区别

答案:

2.6HTTP

  1. Http与Https的区别:
  2. 什么是Http协议无状态协议?怎么解决Http协议无状态协议?
  3. URI和URL的区别
  4. 常用的HTTP方法有哪些?
  5. HTTP请求报文与响应报文格式
  6. HTTPS工作原理
  7. 一次完整的HTTP请求所经历的步骤
  8. 常见的HTTP相应状态码
  9. HTTP1.1版本新特性
  10. HTTP优化方案

答案:

2.7XML+JSON

  1. 什么是JSON和XML
  2. JSON与XML区别是什么? 有什么共同点
  3. JSON、XML解析有那些方式?
  4. XML和JSON优缺点
  5. XPath 是什么
  6. XML 命名空间是什么?它为什么很重要
  7. DOM 和 和 SAX 解析器有什么区别
  8. XSLT 是什么?

答案:

2.8过滤器和监听器面试题

  1. 监听器有哪些作用和用法?
  2. 过滤器有哪些作用和用法?
  3. web.xml 的作用?
  4. Servlet 3中的异步处理指的是什么?

答案:

2.9AJAX

  1. 什么是AJAX,为什么要使用Ajax
  2. AJAX应用和传统Web应用有什么不同?
  3. 请介绍一下XMLhttprequest对象
  4. 介绍一下XMLHttpRequest对象的常用方法和属性
  5. Ajax的实现流程是怎样的?
  6. AJAX请求总共有多少种CALLBACK
  7. XMLHttpRequest对象在IE和Firefox中创建方式有没有不同。
  8. AJAX有哪些有点和缺点?
  9. 请解释一下 JavaScript 的同源策略。
  10. 阐述一下异步加载JS。
  11. 如何解决跨域问题?
  12. Ajax 解决浏览器缓存问题?

答案:

2.10Hibernate

  1. Hibernate工作原理及为什么要用?
  2. Hibernate是如何延迟加载(懒加载)?
  3. Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系)
  4. hibernate的三种状态之间如何转换
  5. 比较hibernate的三种检索策略优缺点
  6. hibernate都支持哪些缓存策略
  7. hibernate里面的sorted collection 和ordered collection有什么区别
  8. 说下Hibernate的缓存机制
  9. Hibernate的查询方式有几种
  10. 如何优化Hibernate?
  11. 谈谈Hibernate中inverse的作用
  12. JDBC hibernate 和 ibatis 的区别
  13. 在数据库中条件查询速度很慢的时候,如何优化?
  14. 什么是SessionFactory,她是线程安全么
  15. get和load区别
  16. persist和save的区别
  17. merge的含义
  18. 主键生成策略有哪些
  19. 简述hibernate中getCurrentSession和openSession区别
  20. Hibernate中的命名SQL查询指的是什么?
  21. 可不可以将Hibernate的实体类定义为final类?

答案:

2.11Mybatis

  1. {}和${}的区别是什么?

  2. 当实体类中的属性名和表中的字段名不一样 ,怎么办 ?
  3. 如何获取自动生成的(主)键值?
  4. 在mapper中如何传递多个参数?
  5. Mybatis动态sql是做什么的?都有哪些动态sql?能简述一下动态sql的执行原理不?
  6. Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复?
  7. 为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?
  8. 通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗?
  9. Mybatis比IBatis比较大的几个改进是什么
  10. 接口绑定有几种实现方式,分别是怎么实现的?
  11. Mybatis是如何进行分页的?分页插件的原理是什么?
  12. 简述Mybatis的插件运行原理,以及如何编写一个插件
  13. Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?
  14. Mybatis都有哪些Executor执行器?它们之间的区别是什么?
  15. MyBatis与Hibernate有哪些不同?

答案:

三、网上优质的面试题

以下基本都是我看过,或者没看完的优质面试题博文(也有部分没有看,但觉得不错的面试题)~~~

3.1有答案的面试题

一、优质面试题整理---1:

二、优质面试题整理---2(里边有7个部分的):

三、优质面试题整理---3:

四、优质面试题整理---4:

五、优质面试题整理---5:

六、优质面试题整理---6(牛客网120题):

七、优质面试题整理---7:

3.2没有答案的面试题

此部分大多数没有答案的,但都是比较优质的面试题

推荐一:

推荐二:

推荐三:

四、除面试题之外还要了解的地方

互联网校招指南:

程序员简历:

三方协议究竟是什么?(我之前看完,个人简单总结一下:如果你不是非常确定毕业前留在某间公司,就不要着急签第三方!【我是非专业人员,这方面得多自己考虑,以上是我的个人对三方协议的理解】)

简历投递平台(我投递过的):

  • BOSS直聘
  • 前程无忧
  • 实习憎

优质的面经+资料:

五、总结

网上的资源还是多呀,上面基本都是我在逛博客,找资料的时候积累收藏起来的。当然了,网上的资源很多很多,如果你也收藏了自认为比较好的资源,不妨在评论区分享出来一起学习学习~~

这些网上这么多的面试题也不可能全部看完,根据自己的情况来看吧。看面试题也是校验自己是否真正理解了这个知识点,也很有可能会有新的收获。

最后,祝在找工作的朋友们能找到一份心仪的工作,在工作的朋友们能够加薪,在读书的朋友们学业进步哈~~

如果文章有错的地方欢迎指正,大家互相交流。习惯在微信看技术文章,想要获取更多的Java资源的同学,可以关注微信公众号:Java3y。为了大家方便,刚新建了一下qq群:742919422,大家也可以去交流交流。谢谢支持了!希望能多介绍给其他有需要的朋友

文章的目录导航

更多的文章可往: 文章的目录导航
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
71 2
|
21天前
|
Java 程序员
Java社招面试题:& 和 && 的区别,HR的套路险些让我翻车!
小米,29岁程序员,分享了一次面试经历,详细解析了Java中&和&&的区别及应用场景,展示了扎实的基础知识和良好的应变能力,最终成功获得Offer。
53 14
|
1月前
|
存储 缓存 算法
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
本文介绍了多线程环境下的几个关键概念,包括时间片、超线程、上下文切换及其影响因素,以及线程调度的两种方式——抢占式调度和协同式调度。文章还讨论了减少上下文切换次数以提高多线程程序效率的方法,如无锁并发编程、使用CAS算法等,并提出了合理的线程数量配置策略,以平衡CPU利用率和线程切换开销。
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
|
1月前
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
|
1月前
|
存储 缓存 Oracle
Java I/O流面试之道
NIO的出现在于提高IO的速度,它相比传统的输入/输出流速度更快。NIO通过管道Channel和缓冲器Buffer来处理数据,可以把管道当成一个矿藏,缓冲器就是矿藏里的卡车。程序通过管道里的缓冲器进行数据交互,而不直接处理数据。程序要么从缓冲器获取数据,要么输入数据到缓冲器。
Java I/O流面试之道
|
26天前
|
Java 编译器 程序员
Java面试高频题:用最优解法算出2乘以8!
本文探讨了面试中一个看似简单的数学问题——如何高效计算2×8。从直接使用乘法、位运算优化、编译器优化、加法实现到大整数场景下的处理,全面解析了不同方法的原理和适用场景,帮助读者深入理解计算效率优化的重要性。
30 6
|
1月前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
57 4
|
1月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
114 4
|
2月前
|
存储 安全 算法
Java面试题之Java集合面试题 50道(带答案)
这篇文章提供了50道Java集合框架的面试题及其答案,涵盖了集合的基础知识、底层数据结构、不同集合类的特点和用法,以及一些高级主题如并发集合的使用。
116 1
Java面试题之Java集合面试题 50道(带答案)
|
2月前
|
存储 Java 程序员
Java面试加分点!一文读懂HashMap底层实现与扩容机制
本文详细解析了Java中经典的HashMap数据结构,包括其底层实现、扩容机制、put和查找过程、哈希函数以及JDK 1.7与1.8的差异。通过数组、链表和红黑树的组合,HashMap实现了高效的键值对存储与检索。文章还介绍了HashMap在不同版本中的优化,帮助读者更好地理解和应用这一重要工具。
66 5
下一篇
DataWorks