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,大家也可以去交流交流。谢谢支持了!希望能多介绍给其他有需要的朋友
文章的目录导航:
Java面试前需要了解的东西的更多相关文章
- Java 面试前的基础准备 - 01
使用这个在线网页编辑真的是不习惯,还是 windows live writer 好. 下面列一个清单用于最近的面试:( 清单是网上down的 ) static,final,transient 等关键字 ...
- 2020年大厂Java面试前复习的正确姿势(800+面试题附答案解析)
前言 个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事.所以,劝各位不要因为面试失败而灰心. 丧失斗志.也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油! 本篇分享的面试题内容 ...
- Java面试知识点总结及解析
声明:有人说, 有些面试题很变态,个人认为其实是因为我们基础不扎实或者没有深入.本篇文章来自一位很资深的前辈对于最近java面试题目所做的总结归纳,有170道题目 ,知识面很广 ,而且这位前辈对于每个 ...
- 最近面试java后端开发的感受:如果就以平时项目经验来面试,通过估计很难——再论面试前的准备
在上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间.我的标准其实不复杂:第一能干活,第二Java基础要好,第三最好熟悉些分布式框架,我相信其它公司招初级开发时,应该也照着这个标准来面 ...
- java面试宝典2019(好东西先留着)
java面试宝典2019 1.meta标签的作用是什么 2.ReenTrantLock可重入锁(和synchronized的区别)总结 3.Spring中的自动装配有哪些限制? 4.什么是可变参数? ...
- 转:最近5年133个Java面试问题列表
最近5年133个Java面试问题列表 Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来 ...
- java面试宝典(蓝桥学院)
Java面试宝典(蓝桥学院) 回答技巧 这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的学生在笔试/面试时更好地赢得好的结果.由于这套试题涉及的范围 ...
- JAVA面试精选【Java基础第一部分】
这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对于那些正打算找工作JAVA软件开发工作的童 ...
- Java面试宝典2013版(超长版)
一. Java基础部分......................................................................................... ...
随机推荐
- Http Header信息
REMOTE_ADDR – 访问客户端的 IP 地址 HTTP_VIA – 如果有该条信息, 就证明您使用了代理服务器,代理服务器的地址就是后面的数值. HTTP_X_FORWARDED_FOR – ...
- mysql分表经验总结
一.为什么要分表? 当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,有可能会死在那儿了.分表的目的就在于此,减小数据库的负担,缩短查询时间.根据个人经验,mysql执行一个s ...
- SSM-SpringMVC-01:SpringMVC是什么?SpringMVC执行流程
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- SpringMVC简介: SpringMVC也叫Spring Web mvc,属于表现层的框架.Sprin ...
- datePicker.js 应用
var calendar2 = new datePicker();calendar.init({ 'trigger': '#datetime-picker-start', /*选择器,触发弹出插件*/ ...
- 分布式服务跟踪及Spring Cloud的实现
在分布式服务架构中,需要对分布式服务进行治理——在分布式服务协同向用户提供服务时,每个请求都被哪些服务处理?在遇到问题时,在调用哪个服务上发生了问题?在分析性能时,调用各个服务都花了多长时间?哪些调用 ...
- tkinter做一个简单的登陆页面
做一个简单的登陆页面 import tkinter wuya = tkinter.Tk() wuya.title("wuya") wuya.geometry("900x3 ...
- 电梯调度算法---SCAN算法
请珍惜小编劳动成果,该文章为小编原创,转载请注明出处. 扫描(SCAN)调度算法:总是从磁臂当前位置开始,沿磁臂的移动方向去选择离当前磁臂最近的那个柱面的访问者.如果沿磁臂的方向无请求访问时,就改变磁 ...
- SourceTree安装跳过注册
问题描述 SourceTree是一个可视化管理版本文件的工具,但是注册的时候需要打开外国的网站. 因此要安装时需要绕过这一步才能使用. 解决方案 1. 在下面路径下创建一个accounts.json文 ...
- java编程思想-第五章-某些练习题
参考https://blog.csdn.net/caroline_wendy/article/details/46844651 10&11 finalize()被调用的条件 Java1.6以下 ...
- "二分法"-"折半法"-查找算法-之通俗易懂,图文+代码详解-java编程
转自http://blog.csdn.net/nzfxx/article/details/51615439 1.特点及概念介绍 下面给大家讲解一下"二分法查找"这个java基础查找 ...