Java面试前需要了解的东西
一、前言
只有光头才能变强
回顾前面:
上一篇写了自己面试的经历和一些在面试的时候遇到的题目(笔试题和面试题)。
我在面试前针对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,大家也可以去交流交流。谢谢支持了!希望能多介绍给其他有需要的朋友
文章的目录导航: