一、前言
只有光头才能变强
回顾前面:
上一篇写了自己面试的经历和一些在面试的时候遇到的题目(笔试题和面试题)。
我在面试前针对Java基础也花了不少的时间,期间也将自己写过的博文粗略地刷了一遍,同时也在网上找了不少比较好的资料(部分是没看完的)。在这里给大家分享一下~~~
这是我刷完自己写过的笔记写的一篇文章导航,针对于PC端的:https://zhongfucheng.bitcron.com/post/shou-ji/pcduan-wen-zhang-dao-hang。比较重要的知识点也画了思维导图,后面新发的文章也会补充上去的。
可能会感兴趣的资料:
- 思维导图原图:https://zhongfucheng.bitcron.com/post/shou-ji/nao-tu-da-quan
 - 视频网盘:https://zhongfucheng.bitcron.com/post/shou-ji/shi-pin-wang-pan
 
二、在学习的时候整理的面试题
之前在学习或者整理知识点的时候也喜欢去找找面试题看,以下是我个人整理的面试题:
2.1集合
- ArrayList和Vector的区别
 - HashMap和Hashtable的区别
 - List和Map的区别
 - Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()?
 - Collection和Collections的区别
 - 说出ArrayList,LinkedList的存储性能和特性
 - Enumeration和Iterator接口的区别
 - ListIterator有什么特点
 - 并发集合类是什么?
 - Java中HashMap的key值要是为类对象则该类需要满足什么条件?
 - ArrayList集合加入1万条数据,应该怎么提高效率
 - 与Java集合框架相关的有哪些最好的实践
 
答案:
2.2Servlet+Tomcat面试题
- Tomcat的缺省端口是多少,怎么修改
 - Tomcat 有哪几种Connector 运行模式(优化)?
 - Tomcat有几种部署方式
 - Servlet生命周期
 - get方式和post方式有何区别
 - doGet与doPost方法的两个参数是什么
 - 获取页面的元素的值有几种方式,分别说一下
 - request.getAttribute()和request.getParameter()区别
 - forward和redirect的区别
 - tomcat容器是如何创建servlet类实例?用到了什么原理
 - 什么是cookie?Session和cookie有什么区别?
 - Servlet安全性问题
 
答案:
2.3JSP面试题
- jsp静态包含和动态包含的区别
 - jsp有哪些内置对象?作用分别是什么?
 - jsp和servlet的区别、共同点、各自应用的范围?
 - 属性作用域范围
 - 写出5种JSTL常用标签
 - 写一个自定义标签要继承什么类
 - JSP是如何被执行的?执行效率比SERVLET低吗?
 - 如何避免jsp页面自动生成session对象?
 - jsp的缺点?
 - 说出Servlet和CGI的区别?
 - 简述JSP的设计模式。
 
答案:
2.4JDBC
- JDBC操作数据库的步骤 ?
 - JDBC中的Statement 和PreparedStatement,CallableStatement的区别?
 - JDBC中大数据量的分页解决方法?
 - 说说数据库连接池工作原理和实现方案?
 - Java中如何进行事务的处理?
 - 写出一段JDBC连接本机MySQL数据库的代码
 - JDBC是如何实现Java程序和JDBC驱动的松耦合的?
 - execute,executeQuery,executeUpdate的区别是什么?
 - JDBC的脏读是什么?哪种数据库隔离级别能防止脏读?
 - 什么是幻读,哪种隔离级别可以防止幻读?
 - JDBC的DriverManager是用来做什么的?
 - JDBC的ResultSet是什么?
 - 有哪些不同的ResultSet?
 - JDBC的DataSource是什么,有什么好处
 - JDBC中存在哪些不同类型的锁?
 - java.util.Date和java.sql.Date有什么区别?
 - 如果java.sql.SQLException: No suitable driver found该怎么办?
 - JDBC的RowSet是什么,有哪些不同的RowSet?
 - 什么是JDBC的最佳实践?
 
答案:
2.5数据库
- 什么是存储过程?有哪些优缺点?
 - 三个范式是什么
 - 什么是视图?以及视图的使用场景有哪些?
 - drop、delete与truncate分别在什么场景之下使用?
 - 索引是什么?有什么作用以及优缺点?
 - 什么是事务?
 - 数据库的乐观锁和悲观锁是什么?
 - 超键、候选键、主键、外键分别是什么?
 - SQL 约束有哪几种?
 - 数据库运行于哪种状态下可以防止数据的丢失?
 - Mysql存储引擎
 - MyIASM和Innodb两种引擎所使用的索引的数据结构是什么?
 - varchar和char的区别
 - mysql有关权限的表都有哪几个
 - 数据表损坏的修复方式有哪些?
 - MySQL中InnoDB引擎的行锁是通过加在什么上完成
 - 数据库优化的思路
 - Oracle和Mysql的区别
 
答案:
2.6HTTP
- Http与Https的区别:
 - 什么是Http协议无状态协议?怎么解决Http协议无状态协议?
 - URI和URL的区别
 - 常用的HTTP方法有哪些?
 - HTTP请求报文与响应报文格式
 - HTTPS工作原理
 - 一次完整的HTTP请求所经历的步骤
 - 常见的HTTP相应状态码
 - HTTP1.1版本新特性
 - HTTP优化方案
 
答案:
2.7XML+JSON
- 什么是JSON和XML
 - JSON与XML区别是什么? 有什么共同点
 - JSON、XML解析有那些方式?
 - XML和JSON优缺点
 - XPath 是什么
 - XML 命名空间是什么?它为什么很重要
 - DOM 和 和 SAX 解析器有什么区别
 - XSLT 是什么?
 
答案:
2.8过滤器和监听器面试题
- 监听器有哪些作用和用法?
 - 过滤器有哪些作用和用法?
 - web.xml 的作用?
 - Servlet 3中的异步处理指的是什么?
 
答案:
2.9AJAX
- 什么是AJAX,为什么要使用Ajax
 - AJAX应用和传统Web应用有什么不同?
 - 请介绍一下XMLhttprequest对象
 - 介绍一下XMLHttpRequest对象的常用方法和属性
 - Ajax的实现流程是怎样的?
 - AJAX请求总共有多少种CALLBACK
 - XMLHttpRequest对象在IE和Firefox中创建方式有没有不同。
 - AJAX有哪些有点和缺点?
 - 请解释一下 JavaScript 的同源策略。
 - 阐述一下异步加载JS。
 - 如何解决跨域问题?
 - Ajax 解决浏览器缓存问题?
 
答案:
2.10Hibernate
- Hibernate工作原理及为什么要用?
 - Hibernate是如何延迟加载(懒加载)?
 - Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系)
 - hibernate的三种状态之间如何转换
 - 比较hibernate的三种检索策略优缺点
 - hibernate都支持哪些缓存策略
 - hibernate里面的sorted collection 和ordered collection有什么区别
 - 说下Hibernate的缓存机制
 - Hibernate的查询方式有几种
 - 如何优化Hibernate?
 - 谈谈Hibernate中inverse的作用
 - JDBC hibernate 和 ibatis 的区别
 - 在数据库中条件查询速度很慢的时候,如何优化?
 - 什么是SessionFactory,她是线程安全么
 - get和load区别
 - persist和save的区别
 - merge的含义
 - 主键生成策略有哪些
 - 简述hibernate中getCurrentSession和openSession区别
 - Hibernate中的命名SQL查询指的是什么?
 - 可不可以将Hibernate的实体类定义为final类?
 
答案:
2.11Mybatis
{}和${}的区别是什么?
- 当实体类中的属性名和表中的字段名不一样 ,怎么办 ?
 - 如何获取自动生成的(主)键值?
 - 在mapper中如何传递多个参数?
 - Mybatis动态sql是做什么的?都有哪些动态sql?能简述一下动态sql的执行原理不?
 - Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复?
 - 为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?
 - 通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗?
 - Mybatis比IBatis比较大的几个改进是什么
 - 接口绑定有几种实现方式,分别是怎么实现的?
 - Mybatis是如何进行分页的?分页插件的原理是什么?
 - 简述Mybatis的插件运行原理,以及如何编写一个插件
 - Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?
 - Mybatis都有哪些Executor执行器?它们之间的区别是什么?
 - MyBatis与Hibernate有哪些不同?
 
答案:
三、网上优质的面试题
以下基本都是我看过,或者没看完的优质面试题博文(也有部分没有看,但觉得不错的面试题)~~~
3.1有答案的面试题
一、优质面试题整理---1:
二、优质面试题整理---2(里边有7个部分的):
三、优质面试题整理---3:
四、优质面试题整理---4:
五、优质面试题整理---5:
六、优质面试题整理---6(牛客网120题):
七、优质面试题整理---7:
3.2没有答案的面试题
此部分大多数没有答案的,但都是比较优质的面试题
推荐一:
推荐二:
推荐三:
四、除面试题之外还要了解的地方
互联网校招指南:
程序员简历:
三方协议究竟是什么?(我之前看完,个人简单总结一下:如果你不是非常确定毕业前留在某间公司,就不要着急签第三方!【我是非专业人员,这方面得多自己考虑,以上是我的个人对三方协议的理解】)
- https://zhuanlan.zhihu.com/p/27812661
 - https://zhuanlan.zhihu.com/p/27251453
 - https://www.zhihu.com/question/55830264/answer/150124081
 - https://www.zhihu.com/question/264144015/answer/277539104
 
简历投递平台(我投递过的):
- BOSS直聘
 - 前程无忧
 - 实习憎
 
优质的面经+资料:
五、总结
网上的资源还是多呀,上面基本都是我在逛博客,找资料的时候积累收藏起来的。当然了,网上的资源很多很多,如果你也收藏了自认为比较好的资源,不妨在评论区分享出来一起学习学习~~
这些网上这么多的面试题也不可能全部看完,根据自己的情况来看吧。看面试题也是校验自己是否真正理解了这个知识点,也很有可能会有新的收获。
最后,祝在找工作的朋友们能找到一份心仪的工作,在工作的朋友们能够加薪,在读书的朋友们学业进步哈~~
如果文章有错的地方欢迎指正,大家互相交流。习惯在微信看技术文章,想要获取更多的Java资源的同学,可以关注微信公众号:Java3y。为了大家方便,刚新建了一下qq群:742919422,大家也可以去交流交流。谢谢支持了!希望能多介绍给其他有需要的朋友
文章的目录导航: