java基础-java核心知识库
本人从事java开发6年左右,主要从事互联网相关的开发,目前还是奋战在一线的码农,痛并快乐着。受互联网产品热潮的影响,关注高性能低成本架构,互联网开发框架,以下是我认为作为一个资深java程序员应该掌握的技术。
集合里面那些对象的原理
扩容原理,特别是map的底层
Hashmap、Hashtable和cocurrentHashMap的区别,要讲出它们各自的实现原理才行,比如Hashmap的扩容机制、cocurrentHashMap的段锁原理、多线程安全性。
几种造线程池的方法,区别
线程有哪几种状态,他们是如何转换的
Rpc原理,以及大致流程
Nio和netty的区别,为什么netty的性能高,nio,bio,aio的区别
阻塞io,和非阻塞io的区别
redis的集群
各种锁的区别,原理使用,并发包的熟悉程度
Redis和数据库结合的使用场景
Memached过程和原理
Redis做队列的原理
zk做订阅的原理,底层,zk的选举算法,是怎么处理的
Hash碰撞的解决办法
treemap红黑树(问的少)
jvm调优经验
jvm内存模型,jvm双亲委派,jvm常用参数,你平时调优怎么设置的,举例子。
类加载器机制
数据库索引使用
手写递归,手写二分查找,手写生产者,消费者模型
Java 的序列化做什么用的 序列化id会出现哪些问题?
深入理解java中的ThreadLocal
Java中的volatile关键是什么作用?怎样使用它?在Java中它跟synchronized方法有什么不同?
在Java中Executor和Executors的区别?
为什么使用Executor框架比使用应用创建和管理线程好?
怎么通过linux命令去分析jvm里面那个线程阻塞了
Java中用到的线程调度算法是什么?
什么是多线程中的上下文切换?
classloader结构,是否可以自己定义一个java.lang.String类,为什么? 双亲代理机制。
有没有做过jvm内存调优,如何做的,举例子,用过哪些工具?
介绍Java中垃圾回收机制,程序员平时需要关注这个吗?为什么?请举例说明。
数据库隔离级别介绍、举例说明。
override和overload的区别。
求二叉树的最大距离(即相距最远的两个叶子节点),写代码。
两个栈实现一个队列,写代码。
数据库sql调优,慢sql定位
索引有哪几种,区别,使用场景
mysql存储引擎,哪几种,区别使用场景
linux shell脚本的使用,统计,排序等等
linux 常用命令,例如top命令查看进程的后每个参数的意义
乐观锁和悲观锁
nginx的配置
你遇到的OOM问题,怎么解决的。
你在项目中遇到过那些高并发的问题
谈谈常见的负载均衡策略 分别有什么优缺点
jdk\bin下的工具
算法基础
写java的基本上都是做应用系统的,用到算法的机会几乎没有,所以一般不会考。但是如果工作年限比较长,保不齐面试官怀疑你的编程能力,故意要考考,所以快排、堆排、逆转链表、遍历二叉树之类的基础还是复习复习吧。
如果面的是bat核心部门,担心碰见装逼人士的话,也可以提前复习下《编程之美》之类的。
算法问题,写不出代码,但是如果说出思路会有加分
java基础
hashmap一定要搞明白原理。
treemap知道就可以,应该没人闲的蛋疼考红黑树。
threadlocal面试官也喜欢考,要搞明白原理
反射、动态代理、ioc、aop
nio、aio几乎都会问,抽空写写例程,知道netty mina
class loader: 知道双亲委派,如果知道tomcat、jetty class loader异同更佳
gc
面试前背熟各种gc算法的区别,理解原理。
G1很多面试官自己都不明白,没时间就不用管。
高并发
传统IT一般接触不到高并发,不过没关系按下面说的做,应付面试问题不大
把java.util.concurrent下面所有的包和类通读一遍,理解原理、记住核心代码、写例程,网上有很多concurrent相关类原理解析的文章,对着文章看源代码理解起来问题不大。
有些类代码很复杂比如aqs,看不明白就算了,也不用太花功夫,记住原理即可,因为大部分面试官也不明白。
一定要写例程,例程最好跟你的业务能扯上一点点关系,这样面试的时候就是你实际项目里面的代码了。
常用类有:ConcurrentHashMap、读写锁、Condition、线程池、Barrier、CountDownLatch、Callable、BlockingQueue
hdfs和mr
传统IT一般也接触不到,如果不想准备就算了,如果想准备的话,就在自己的开发机上撘3个linux虚机, 按照网上的教程自己一步一步撘一个hadoop环境出来,然后找几个实际业务中生成出来的log,写几个map reduce程序处理一下。
面试的时候就可以很谦虚的说,实际项目里面用过,但是用的不多
application server
主要是tomcat,jetty,如果再懂点jboos更好,至于商业的weblogic和WebSphere还是算了
有时间的话,看看tomcat和jetty的源代码,重点看线程模型和io,以及tomcat中用到的一些模式。
服务器集群与负载均衡。
db
oracle、mysql,postgresql,最好还懂点nosql
理解myisam和innodb的区别 2、理解关系型数据库索引的原理,理解一些简单的索引优化的原则。
面试官很喜欢给出一堆where子句,考索引、复合索引什么情况下起作用
导致数据库索引失效的场景有哪些
not in 与 not exists 有什么区别? in查询不对null进行处理
like 是否走索引?什么情况下走 什么情况下不走
框架知识
mvc框架
数据持久化框架
java基础-java核心知识库的更多相关文章
- Java基础-Java中23种设计模式之常用的设计模式
Java基础-Java中23种设计模式之常用的设计模式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.设计模式分类 设计模式是针对特定场景给出的专家级的解决方案.总的来说设 ...
- java基础---->java中正则表达式二
跟正则表达式相关的类有:Pattern.Matcher和String.今天我们就开始Java中正则表达式的学习. Pattern和Matcher的理解 一.正则表达式的使用方法 一般推荐使用的方式如下 ...
- Java基础-Java中的堆内存和离堆内存机制
Java基础-Java中的堆内存和离堆内存机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- Java基础-Java中的内存分配与回收机制
Java基础-Java中的内存分配与回收机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一. 二.
- Java基础-Java中的并法库之重入读写锁(ReentrantReadWriteLock)
Java基础-Java中的并法库之重入读写锁(ReentrantReadWriteLock) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在学习Java的之前,你可能已经听说过读 ...
- Java基础-Java中的并法库之线程池技术
Java基础-Java中的并法库之线程池技术 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是线程池技术 二.
- Java基础-JAVA中常见的数据结构介绍
Java基础-JAVA中常见的数据结构介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是数据结构 答:数据结构是指数据存储的组织方式.大致上分为线性表.栈(Stack) ...
- Java基础-Java数据类型
Java基础-Java数据类型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据类型的作用 数据类型就是一组值,以及这一组值上的操作,数据类型可以决定数据的存储方式,取值范围 ...
- [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)
如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html 谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...
随机推荐
- 微信公众平台开发教程(八)Session处理
微信公众平台开发教程(八)Session处理 在微信窗口,输入的信息有限,我们需要将一些信息分多次请求. 比如:在进行用户绑定时,我们需要输入用户的相关信息,比如:用户名.密码,或者姓名.电话号码,服 ...
- LVS的四种模式的实现
LVS 是四层负载均衡,也就是说建立在 OSI 模型的第四层——传输层之上,传输层上有我们熟悉的 TCP/UDP,LVS 支持 TCP/UDP 的负载均衡. LVS 的转发主要通过修改 IP 地址(N ...
- TMS320C54x系列DSP指令和编程指南——第1章 汇编语言工具概述
第1章 汇编语言工具概述 TMS320C54x DSP的汇编语言开发工具包括: ■ Assembler ■ Archiver ■ Linker ■ Absolut ...
- 仿微信朋友圈图片查看-glide加载网络图片,photoview 实现缩放
http://www.cnblogs.com/csonezp/p/5083286.html 这里实现的效果就和微信朋友圈点击图片后查看大图一样,如果你不清楚是什么效果,可以拿出手机,打开朋友圈,找到一 ...
- (C#) 基本概念一览表
A abstract class An abstract class is a class that must be inherited and have the methods overridden ...
- UML精粹5 - 状态图,活动图,通信图,组合结构,组件图,协作,交互概述图,时间图
状态机图state machine diagram 下面是状态图的一个例子(一个城堡中的秘密保险箱的控制面板). 转换transition包括3个部分:trigger-signature [guard ...
- “NOT_IN”与“NULL”的邂逅
今天处理了一个因“NOT IN”与“NULL”邂逅导致的问题,值得思考和总结,记录在此,供参考.(感谢John抛出的问题) 我们以实验的形式先再现一下这个问题,然后对其分析,最后给出几种解决方案. 1 ...
- str转unsigned int
用法 1 参数:参数类型为char, 十六进制字符串形式:0X××××××[NUT],十进制字符串形式:×××××××[NUT],字符串的最大长度为16,字符串结尾符必须为ascii码值0(NUT). ...
- 4. read命令
4.1 作用 从标准输入中读取一行. 4.2 参数 -p 允许在read命令行中直接指定一个提示. -t 给用户的输入作限时规定. -n 规定read后变量所接收的字符的个数. -s 使得read命令 ...
- SeedDms 文档管理系统安装
在xampp下安装SeedDms 1.下载seeddms-quickstart-4.3.24.tar.gz,解压出来三个目录 \data\ \pear\ \seeddms-4.3.24\ 我把seed ...