之前在学习或者整理知识点的时候也喜欢去找找面试题看,以下是我个人整理的面试题:
1.1集合
- ArrayList和Vector的区别
- HashMap和Hashtable的区别
- List和Map的区别
- Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()?
- Collection和Collections的区别
- 说出ArrayList,LinkedList的存储性能和特性
- Enumeration和Iterator接口的区别
- ListIterator有什么特点
- 并发集合类是什么?
- Java中HashMap的key值要是为类对象则该类需要满足什么条件?
- ArrayList集合加入1万条数据,应该怎么提高效率
- 与Java集合框架相关的有哪些最好的实践
1.2Servlet+Tomcat面试题
- Tomcat的缺省端口是多少,怎么修改
- Tomcat 有哪几种Connector 运行模式(优化)?
- Tomcat有几种部署方式
- Servlet生命周期
- get方式和post方式有何区别
- doGet与doPost方法的两个参数是什么
- 获取页面的元素的值有几种方式,分别说一下
- request.getAttribute()和request.getParameter()区别
- forward和redirect的区别
- tomcat容器是如何创建servlet类实例?用到了什么原理
- 什么是cookie?Session和cookie有什么区别?
- Servlet安全性问题
1.3JSP面试题
- jsp静态包含和动态包含的区别
- jsp有哪些内置对象?作用分别是什么?
- jsp和servlet的区别、共同点、各自应用的范围?
- 属性作用域范围
- 写出5种JSTL常用标签
- 写一个自定义标签要继承什么类
- JSP是如何被执行的?执行效率比SERVLET低吗?
- 如何避免jsp页面自动生成session对象?
- jsp的缺点?
- 说出Servlet和CGI的区别?
- 简述JSP的设计模式。
1.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的最佳实践?
1.5数据库
- 什么是存储过程?有哪些优缺点?
- 三个范式是什么
- 什么是视图?以及视图的使用场景有哪些?
- drop、delete与truncate分别在什么场景之下使用?
- 索引是什么?有什么作用以及优缺点?
- 什么是事务?
- 数据库的乐观锁和悲观锁是什么?
- 超键、候选键、主键、外键分别是什么?
- SQL 约束有哪几种?
- 数据库运行于哪种状态下可以防止数据的丢失?
- Mysql存储引擎
- MyIASM和Innodb两种引擎所使用的索引的数据结构是什么?
- varchar和char的区别
- mysql有关权限的表都有哪几个
- 数据表损坏的修复方式有哪些?
- MySQL中InnoDB引擎的行锁是通过加在什么上完成
- 数据库优化的思路
- Oracle和Mysql的区别
答案:
• 数据库面试题(开发者必看):https://segmentfault.com/a/1190000013517914
1.6HTTP
- Http与Https的区别:
- 什么是Http协议无状态协议?怎么解决Http协议无状态协议?
- URI和URL的区别
- 常用的HTTP方法有哪些?
- HTTP请求报文与响应报文格式
- HTTPS工作原理
- 一次完整的HTTP请求所经历的步骤
- 常见的HTTP相应状态码
- HTTP1.1版本新特性
- HTTP优化方案
1.7XML+JSON
- 什么是JSON和XML
- JSON与XML区别是什么? 有什么共同点
- JSON、XML解析有那些方式?
- XML和JSON优缺点
- XPath 是什么
- XML 命名空间是什么?它为什么很重要
- DOM 和 和 SAX 解析器有什么区别
- XSLT 是什么?
1.8过滤器和监听器面试题
- 监听器有哪些作用和用法?
- 过滤器有哪些作用和用法?
- web.xml 的作用?
- Servlet 3中的异步处理指的是什么?
1.9AJAX
- 什么是AJAX,为什么要使用Ajax
- AJAX应用和传统Web应用有什么不同?
- 请介绍一下XMLhttprequest对象
- 介绍一下XMLHttpRequest对象的常用方法和属性
- Ajax的实现流程是怎样的?
- AJAX请求总共有多少种CALLBACK
- XMLHttpRequest对象在IE和Firefox中创建方式有没有不同。
- AJAX有哪些有点和缺点?
- 请解释一下 JavaScript 的同源策略。
- 阐述一下异步加载JS。
- 如何解决跨域问题?
- Ajax 解决浏览器缓存问题?
1.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类?
1.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有哪些不同?
最后
如果大家还有一些比较好的面试题目。可以在下方评论大家一起分享,争取早日拿到大厂offer!
学习我们是认真的,拿offer是必须的。
前期我也和很多小伙伴一样,到处收集了很多资料,后面发现很多重复的!上面面都是自己整理好的!现在BAT梦想成真,我就把资料贡献出来给有需要的人!
顺便求一波关注,哈哈~各位小伙伴关注我后私信【Java】就可以免费领取哒!