java面试总结
一、java的集合框架
HashMap、HashTable、CurrentHashMap的底层数据结构与区别?
CurrentHashMap与HashTable是如何保证线程安全的?
ArrayList与LinkedList的底层数据结构与区别?
set、list、map有什么区别?他们的父类分别是什么?
http://blog.csdn.net/u011202334/article/details/51496381 HashMap的底层数据结构
https://www.cnblogs.com/xiaoxi/p/6170590.html LinkedHashMap的底层数据结构
https://www.cnblogs.com/java-zhao/p/5102342.html ArrayList的底层数据结构
https://www.cnblogs.com/leskang/p/6029780.html LinkedList的底层数据结构
http://blog.csdn.net/u012999869/article/details/51714290 ConcurrentHashMa底层数据结构
http://blog.csdn.net/baidu_28068985/article/details/78529246 相关数据结构的底层实现
http://blog.csdn.net/LYW_lyw/article/details/78809809
二、字符串
String、StringBuffer、StringBuilder的区别?
String str = new String("abd); String str = "abd"; 执行这两句话后分别创建了几个对象?
三、线程池与多线程
什么是线程池?线程池的作用?
如何实现多线程同步?
创建线程的方式有哪几种?
ThreadLocal的作用?
synchronized关键字与Lock、ReentrantLock的区别?
常见的有哪些锁?
什么是分布式锁?如何实现分布式锁?
java中AQS与CAS是什么?
什么是原子性操作?
volatile关键字的作用与原理?
http://blog.csdn.net/gol_phing/article/details/49032055 线程池原理讲解
https://blog.csdn.net/a837199685/article/details/50619311 线程池种类以及排队策略
https://blog.csdn.net/wenwen091100304/article/details/48318699 多线程同步的方法
http://blog.51cto.com/lavasoft/51926 ThreadLocal讲解
https://www.cnblogs.com/xzwblog/p/7227509.html 彻底理解ThreadLocal
http://www.importnew.com/23511.html 深入分析synchronized的原理
https://blog.csdn.net/baidu_37107022/article/details/77016993 偏向锁、轻量级锁、重量级锁(讲的很有条理,易懂)
http://www.infoq.com/cn/articles/ftf-java-volatile 深入分析Volatile的实现原理
https://www.cnblogs.com/zhengbin/p/5654805.html Java中Volatile关键字详解
https://www.cnblogs.com/waterystone/p/4920797.html Java并发之AQS详解
https://blog.csdn.net/fighterandknight/article/details/54906293 Java中CAS详解
https://www.cnblogs.com/davidwang456/p/4662099.html java原子操作的实现原理
https://blog.csdn.net/hejingyuan6/article/details/47053409 线程之间如何实现数据共享(举例说明,例子不错)
http://www.cnblogs.com/xrq730/p/5060921.html 关于线程的面试题(有时间可以看看)
https://www.cnblogs.com/baizhanshi/p/5437933.html 一个简单的死锁的例子
四、类加载器原理
https://www.cnblogs.com/fingerboy/p/5456371.html java中的类加载器的原理
五、乐观锁和悲观锁的区别与应用场景
什么是乐观锁和悲观锁?他们有什么区别?如何实现乐观锁? https://blog.csdn.net/claram/article/details/53959367
六、设计模式
什么是单例模式?请写一个单例模式的例子。
什么是观察者模式?
https://www.cnblogs.com/zhaoyan001/p/6365064.html 常见的八种单例模式?
https://www.cnblogs.com/lthIU/p/6240128.html 防反射注入的单例模式
七、java的概念性问题
什么是java的面向对象?(一般从java的面向对象的特点来回答)
抽象类和接口的区别?
什么是泛型?为什么用泛型?
什么情况下使用基本类型的包装类?
八、垃圾回收器
jvm内存溢出?内存泄漏?jvm的内存结构?
年轻代、老年代、终生代中,垃圾回收器回收时都采用什么回收算法?
http://www.sohu.com/a/134512799_695350 各种java垃圾回收器的比较
https://www.cnblogs.com/firstdream/p/5763646.html java GC系列,讲的比较好
https://www.cnblogs.com/cielosun/p/6674431.html java垃圾回收算法讲解
九、java中的nio与io
什么是io?什么是nio?二者有什么区别?为什么你哦是非阻塞的?
https://blog.csdn.net/zcl_love_wx/article/details/52126876 java的序列化与反序列化?
https://www.cnblogs.com/luoxn28/p/5641877.html
https://www.cnblogs.com/yyy-blog/p/7003693.html
十、网络协议
HTTP协议、TCP协议、IP协议分别工作在哪一层?
TCP协议的三次握手机制是什么?为什么采用这种机制?
HTTP协议与HTTPS协议的区别?
十一、浏览器的常用状态码
200、400、500、403、404等状态码什么意思?
十二、数据库
什么是ACID?
Oracle和mysql的区别?(若都用过会问)https://blog.csdn.net/baidu_37107022/article/details/77043959
oracle或mysql的底层数据结构?
Oracle或mysql的分页查询语句?
什么是索引?为什么会创建索引?什么是聚集索引?什么是组合索引?什么情况下会导致索引失效?创建索引需要注意的问题?
数据库的三范式?
sql优化?什么是存储过程?
创建表的时候需要注意的问题?
left join、right join、inner join的区别?
Oracle数据库如何实现自增?
执行了一条save语句但是没有提交事务,那么数据有没有存到库里面?
https://blog.csdn.net/qq_23217629/article/details/52516277 sql优化避免索引失效
https://blog.csdn.net/ybaog/article/details/53906300 (创建索引的优点和缺点)
https://www.cnblogs.com/xxiaoye/p/3679899.html 为何创建索引能提高查询效率
https://blog.csdn.net/zhangbo_0323/article/details/50156357 (对于B树、B+树的理解)
https://www.cnblogs.com/aspnethot/articles/1504082.html (聚集索引)
https://blog.csdn.net/litong09282039/article/details/46404139 (主键、外键、索引的关系)
https://www.cnblogs.com/Qian123/p/5669259.html sql语句的执行顺序?(不错)
https://www.cnblogs.com/augus007/articles/7999586.html sql语句的执行原理(很好)
https://blog.csdn.net/wanghjbuf/article/details/50792970 (辅助理解)
https://blog.csdn.net/zhangyuan19880606/article/details/51217952 (四中mysql的引擎,可能会问到)
十三、spring框架
spring中事务的传播属性有哪几种?区别是什么?隔离级别有哪几种?
spring 事务默认的回滚异常时什么?
spring和springMVC的关系是什么?
spring中的bean是如何被加载到容器中的?
spring 控制器默认是单例的吗?若是单例的话可能会有什么后果?是线程安全的吗?
spring的IOC和AOP是什么?
过滤器和拦截器的区别?
Spring AOP注解什么时候失效?如何解决?
springboot有了解过吗?
spring使用的两种代理jdk的动态代理和cglib动态代理的原理与区别分别是什么?
https://blog.csdn.net/trigl/article/details/50968079 (spring 事务管理,讲得好)
https://blog.csdn.net/liaohaojian/article/details/70139151 (spring 事务管理,讲的更具体)
https://www.cnblogs.com/hafiz/p/5875740.html (spring和springMVC的关系)
https://www.cnblogs.com/leeSmall/p/7653494.html (spring各个注解的作用与使用)
http://www.jb51.net/article/137255.htm Spring AOP注解失效及解决办法
https://www.cnblogs.com/hongwz/p/5764917.html spring AOP原理透彻讲解(带例子)
https://blog.csdn.net/u013126379/article/details/52121096 浅谈spring的两种代理的区别
十三、servlet技术
什么是servlet?与CGI的区别是什么?
servlet的生命周期?什么时候创建?什么时候销毁?DispatcherServlet什么时候创建?servlet的创建方式?
https://www.cnblogs.com/disneyland/p/4692339.html servlet什么时候被实例化
https://blog.csdn.net/u012129558/article/details/52329543 servlet的单例理解
十四、AJAX
请求是同步请求还是异步请求?
十五、hibernate与mybatis
MyBatis了解吗?与hibernate有什么区别?
https://blog.csdn.net/eaphyy/article/details/71190441 mybatis常见面试题
https://www.cnblogs.com/wang-meng/p/5701990.html (mybatis开发配置总结,总结的好)
十六、算法题
整数的反转?
常用排序算法有哪些?冒泡排序算法思路?快速排序算法思路?
两个有序的整型数组如何合并成一个有序的数组?
如何判断一个链表有没有环?
如何实现字符串的反转?不准用String类自带的方法
如何判断一个数是否是2的n次方?
如何层序遍历二叉树并输出每个节点?
最短路径算法?(只被问到一次)
十七、redis(若用过redis缓存会问)
redis都有哪几种数据结构?有哪些优点?适用于什么场合?
与memache有什么区别?
十八、maven工具(若用到会问)
使用maven时的常用命令?
如何解决jar包冲突?
十九、开放题
进程之间如何通讯?(被问过一次)
什么是敏捷开发?
jdk8有什么新特性?(重要)
什么是restful风格?(重要)
tomcat服务器的启动参数都配置过哪些?
区域链了解不?(被问过一次)
几种加密算法了解吗?比如base64加密,md5加密?Unicode url加密?
都用过什么工具?比如画原型用的工具,设计流程用的工具。
https://blog.csdn.net/qinmengdeCluntan/article/details/77532883?locationNum=5&fps=1 集群环境下如何实现session共享?(说下思路会加分)
https://www.bilibili.com/video/av14372754/ jdk8新特性视频讲解
https://blog.csdn.net/xlgen157387/article/details/79036337 分布式锁简单入门以及三种实现方式(说下思路会加分)
二十、项目题
一般会问你项目中遇到过哪些问题,是怎么解决的?
你们系统的整体架构是什么?
java面试总结的更多相关文章
- JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结
我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和 ...
- 转:最近5年133个Java面试问题列表
最近5年133个Java面试问题列表 Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来 ...
- java面试宝典(蓝桥学院)
Java面试宝典(蓝桥学院) 回答技巧 这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的学生在笔试/面试时更好地赢得好的结果.由于这套试题涉及的范围 ...
- JAVA面试精选【Java基础第一部分】
这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对于那些正打算找工作JAVA软件开发工作的童 ...
- Java面试必备知识
JAVA面试必备知识 第一,谈谈final, finally, finalize的区别. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可 ...
- java面试和笔试大全 分类: 面试 2015-07-10 22:07 10人阅读 评论(0) 收藏
2.String是最基本的数据类型吗? 基本数据类型包括byte.int.char.long.float.double.boolean和short. java.lang.String类是final类型 ...
- 近5年133个Java面试问题列表
Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入. 在我 ...
- java 面试
115个Java面试题和答案——终极列表(上) 本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力.下面的章节分为上下两篇,第一 ...
- 【Java面试】基础知识篇
[Java面试]基础知识篇 Java基础知识总结,主要包括数据类型,string类,集合,线程,时间,正则,流,jdk5--8各个版本的新特性,等等.不足的地方,欢迎大家补充.源码分享见个人公告.Ja ...
- JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结(转)
hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和学习,使自己在做项目中更加 ...
随机推荐
- [Java]数组排序-选择排序 冒泡排序 插入排序
1 选择排序 原理:a 将数组中的每个元素,与第一个元素比较 如果这个元素小于第一个元素, 就将这个 两个元素交换. b 每轮使用a的规则, 可以选择出 ...
- cuda中模板的使用
模板是C++的一个重要特征,它可以让我们简化代码,同时使代码更整洁.CUDA中也支持模板,这给我们编写cuda程序带来了方便.不过cuda4.0之前和之后使用模板的方法不一样,这给我们带来了少许困难. ...
- Leetcode_154_Find Minimum in Rotated Sorted Array
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/43416613 Suppose a sorted array ...
- java语法部分一些小问题
由于本人是个初学者希望自己的文章不会误导广大"群众",如果有错误之处还望前辈指出.谢谢! 一.键盘录入. A:导包 格式: import java.util.Scanner; 位置 ...
- 系统性能监测(使用nmon、nmonanalyser)
系统性能监测使用工具: l系统性能监测使用的主要监测工具是:nmon(AIX6.1及以上版本系统自带). l系统性能监测使用的主要分析工具是:nmonanalyser. NMON工具简介: NMON工 ...
- LeetCode之“动态规划”:Decode Ways
题目链接 题目要求: A message containing letters from A-Z is being encoded to numbers using the following map ...
- Gridview的item含有checkbox,setOnItemClickListener方法失效的问题
在开发中我们常常遇到一些莫名奇妙的问题,就比如Gridview的item含有checkbox,setOnItemClickListener方法失效的问题. 刚开始网上搜了一下,如http://my.o ...
- WIN7电脑文件莫名其妙被删除后的恢复
今天早上打开电脑,发现电脑F盘下的WINCE600文件夹下有剩下一小部分文件,绝大部分文件都找不到了,但是我记得自己没有删除过,而且在回收站也没有找到这些被删除的文件,怎恢复呢,今天尝试使用Recov ...
- Android高通平台调试Camera驱动全纪录
项目比较紧,3周内把一个带有外置ISP,MIPI数据通信,800万像素的camera从无驱动到实现客户全部需求. 1日 搭平台,建环境,编译内核,烧写代码. 我是一直在Window下搭个虚拟机登服务器 ...
- 面试之路(29)-TCP流量控制和拥塞控制-滑动窗口协议详解
拥塞: 拥塞发生的主要原因在于网络能够提供的资源不足以满足用户的需求,这些资源包括缓存空间.链路带宽容量和中间节点的处理能力.由于互联网的设计机制导致其缺乏"接纳控制"能力,因此在 ...