Java面试经
最近趁有空整理下面试经常会被问到的知识点,参考的资料都是本人通过百度而挑选出来的,具有一定的参考意义。
一 、java基础
1.String和StringBuffer、StringBuild的区别:http://blog.csdn.net/rmn190/article/details/1492013
2.hashcode和equals方法的关系:http://blog.csdn.net/lijiecao0226/article/details/24609559
3.自动装箱和拆箱:https://www.cnblogs.com/danne823/archive/2011/04/22/2025332.html
4.java中的集合类:https://www.cnblogs.com/leeplogs/p/5891861.html
5.HashMap与HashTable、ConcurrentHashMap区别:https://www.cnblogs.com/wang-meng/p/5808006.html
6.java中的异常:http://www.importnew.com/26613.html
7.NIO、BIO与AIO:http://blog.51cto.com/stevex/1284437
[多线程]
8.多线程实现方式:https://www.cnblogs.com/felixzh/p/6036074.html
9.线程的状态转换:http://blog.csdn.net/sinat_36042530/article/details/52565296
10.如何停止一个线程:https://www.cnblogs.com/greta/p/5624839.html
11.什么是线程安全:http://blog.csdn.net/ghevinn/article/details/37764791
12.synchronized和lock的区别:http://blog.csdn.net/u012403290/article/details/64910926?locationNum=11&fps=1
13.sleep和wait区别:http://blog.csdn.net/u012050154/article/details/50903326
14.java线程池:http://www.importnew.com/19011.html
15.并发工具类:http://blog.csdn.net/sunxianghuang/article/details/52277394
16.并发容器类:http://blog.csdn.net/jianghuxiaojin/article/details/52006183
17.volatile关键字:http://blog.csdn.net/victor_cindy1/article/details/44310195
二、java虚拟机
1.Jvm垃圾收集器与内存分配策略:http://www.importnew.com/23035.html
2.Jvm运行和类加载过程:https://www.cnblogs.com/dooor/p/5289994.html
3.Jvm字节码执行:http://blog.csdn.net/u012077981/article/details/40156391
4.java内存模型:http://blog.csdn.net/suifeng3051/article/details/52611310;
http://www.hao124.net/article/49
三、spring
1.spring的特点及好处:https://www.cnblogs.com/song1314/articles/4568379.html
2.spring的69面试题:https://www.cnblogs.com/huajiezh/p/6415276.html
3.spring简化java开发复杂性的策略:http://blog.csdn.net/running_nz/article/details/54583100
4.spring循环依赖及解决办法:http://blog.csdn.net/caomiao2006/article/details/46511123
5.springmvc工作流程和原理:http://blog.csdn.net/liangzi_lucky/article/details/52459378
6.spring注解原理:http://blog.csdn.net/u010987379/article/details/52152795
四、mybatis
1.mybatis常用api:https://www.cnblogs.com/haimishasha/p/5710474.html
2.mybatis分页及分页插件原理:http://blog.csdn.net/jaryle/article/details/52315565
3.mybatis插件原理:http://blog.csdn.net/hupanfeng/article/details/9247379
4.mybatis动态sql原理:http://www.importnew.com/24160.html
5.mybatis延迟加载:http://blog.csdn.net/eson_15/article/details/51668523
五、mysql
1.各个数据库引擎区别:http://www.jb51.net/article/38004.htm
2.索引的使用注意事项:https://www.cnblogs.com/zlingh/p/3883716.html
六、redis
1.redis五大数据类型:http://www.runoob.com/redis/redis-data-types.html
2.redis的两个持久化策略:http://blog.csdn.net/u010785685/article/details/52366977
3.redis如何事务支持:https://www.cnblogs.com/kyrin/p/5967620.html
4.redis哨兵机制:http://blog.csdn.net/zbw18297786698/article/details/52891695
5.redis集群方案:https://www.zhihu.com/question/21419897
6.redis主从同步策略:http://blog.csdn.net/sk199048/article/details/50725369
七、通讯协议
1.TCP长连接和短连接:https://www.cnblogs.com/onlysun/p/4520553.html
2.TCP与UDP区别:http://blog.csdn.net/li_ning_/article/details/52117463
3.TCP三次握手四次挥手过程:https://www.cnblogs.com/Andya/p/7272462.html
4.http几个重要概念:http://blog.csdn.net/drixe/article/details/1893558
5.http的报文结构:http://blog.csdn.net/zhangliang_571/article/details/23508953
6.GET/POST以及幂等性:http://blog.csdn.net/dongzhiquan/article/details/6113966
7.http request的几种类型:https://www.cnblogs.com/liangxiaofeng/p/5798607.html
8.http几个版本之间的区别:http://blog.csdn.net/zocojoker/article/details/53868639
八、数据结构与算法
[数据结构]
1.队列:http://blog.csdn.net/javazejian/article/details/53375004
2.堆栈:http://blog.csdn.net/javazejian/article/details/53362993
3.链表:http://blog.csdn.net/jianyuerensheng/article/details/51200274
4.树:[二叉树]http://blog.csdn.net/javazejian/article/details/53727333
[B树]http://blog.csdn.net/liuquan0071/article/details/50521032
[哈夫曼树]http://blog.csdn.net/axi295309066/article/details/54019807
[算法]
5.(图)广度优先、深度优先:https://segmentfault.com/a/1190000002685939
6.常见排序算法:https://www.cnblogs.com/qqzy168/archive/2013/08/03/3219201.html
7.常见查找算法:http://blog.csdn.net/wqc_csdn/article/details/52691019
8.hash原理:http://blog.csdn.net/tanggao1314/article/details/51457585
9.hashmap实现:https://www.cnblogs.com/chengxiao/p/6059914.html
九、dubbo
1.什么是rcp框架:https://www.cnblogs.com/ChrisMurphy/p/6550184.html
2.序列化方式方式及作用:http://blog.csdn.net/u012554102/article/details/51902697
3.dubbo底层协议实现:https://www.cnblogs.com/1201x/p/6482638.html
4.dubbo注册中心如何设置:http://blog.csdn.net/u011659172/article/details/51491518
5.dubbo负载均衡的理解:https://www.cnblogs.com/qingfengbuluo/p/5527930.html
6.dubbo容错机制:https://www.2cto.com/kf/201612/572681.html
7.服务调用超时的实现原理:https://www.cnblogs.com/ASPNET2008/p/7292472.html
8.服务注册与发现的流程:http://doc.okbase.net/661116/archive/241946.html
未完待续...
还有好些内容,后面会慢慢整理出来
我有一个微信公众号,经常会分享一些Java技术相关的干货。如果你喜欢我的分享,可以用微信搜索“Java团长”或者“javatuanzhang”关注。
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做一下对比,便于大家更好的理解和学习,使自己在做项目中更加 ...
随机推荐
- PHP使用google api生成二维码
代码如下: <?php $urlToEncode="nickname:Feanmy,email:feanmy@qq.com"; generateQRfromGoogle($u ...
- 系统 TIME_WAIT累积与端口耗尽的问题
调整内核参数 net.ipv4.tcp_tw_reuse = net.ipv4.tcp_tw_recycle = 这两个参数可以让 tcp 连接回收.再利用. 摘录 『HTTP 权威指南』page ...
- Python的*args与**kwargs
当Python的函数的参数不确定时,可以使用*args与**kwargs来指代不定数量的参数. 两者的区别是,*args是个tuple(元组),而**kwargs是个dict(字典). 先通过代码来验 ...
- JS 详解 Cookie、 LocalStorage 与 SessionStorage
基本概念 Cookie Cookie 是小甜饼的意思.顾名思义,cookie 确实非常小,它的大小限制为4KB左右.它的主要用途有保存登录信息,比如你登录某个网站市场可以看到"记住密码&qu ...
- js 客户端打印html 并且去掉页眉、页脚
print() 方法用于打印当前窗口的内容,支持部分或者整个网页打印. 调用 print() 方法所引发的行为就像用户单击浏览器的打印按钮.通常,这会产生一个对话框,让用户可以取消或定制打印请求. w ...
- 使用dropwizard(4)-加入测试-jacoco代码覆盖率
前言 dropwizard提供了一个简单的测试框架.这里简单集成并加入jacoco测试. Demo source https://github.com/Ryan-Miao/l4dropwizard 本 ...
- git应用套路
git应用套路 一. 配置git别名 1.通过控制台命令vim ~/.gitconfig打开配置页面 2.配置如下内容: [user] name = your Name email = your E- ...
- 8、ABPZero系列教程之拼多多卖家工具 添加手机注册登录功能
现在网站基本都用手机注册,很少用邮箱注册,本篇内容比较多,代码我会尽量加备注,有些操作需要连续添加几个文件才不报错,如果VS显示错误,请继续后续步骤. 前面已经有一篇文章讲到集成短信发送模块:http ...
- 移动端300ms点击延迟
移动端300ms点击延迟 原因:早期的苹果手机存在点击缩放,用手指在屏幕上快速双击后,iOS自带的Safari浏览器会将网页缩放至原始比例,后来很多浏览器也跟着学了. 解决方法:禁止缩放 <me ...
- iOS 开发 右滑返回上一级控制器
#import <objc/runtime.h> @interface UINavigationController (Transition)<UIGestureRecognizer ...