本人从事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核心知识库的更多相关文章

  1. Java基础-Java中23种设计模式之常用的设计模式

    Java基础-Java中23种设计模式之常用的设计模式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   一.设计模式分类 设计模式是针对特定场景给出的专家级的解决方案.总的来说设 ...

  2. java基础---->java中正则表达式二

    跟正则表达式相关的类有:Pattern.Matcher和String.今天我们就开始Java中正则表达式的学习. Pattern和Matcher的理解 一.正则表达式的使用方法 一般推荐使用的方式如下 ...

  3. Java基础-Java中的堆内存和离堆内存机制

    Java基础-Java中的堆内存和离堆内存机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  4. Java基础-Java中的内存分配与回收机制

    Java基础-Java中的内存分配与回收机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一. 二.

  5. Java基础-Java中的并法库之重入读写锁(ReentrantReadWriteLock)

    Java基础-Java中的并法库之重入读写锁(ReentrantReadWriteLock) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在学习Java的之前,你可能已经听说过读 ...

  6. Java基础-Java中的并法库之线程池技术

    Java基础-Java中的并法库之线程池技术 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是线程池技术 二.

  7. Java基础-JAVA中常见的数据结构介绍

    Java基础-JAVA中常见的数据结构介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是数据结构 答:数据结构是指数据存储的组织方式.大致上分为线性表.栈(Stack) ...

  8. Java基础-Java数据类型

    Java基础-Java数据类型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据类型的作用 数据类型就是一组值,以及这一组值上的操作,数据类型可以决定数据的存储方式,取值范围 ...

  9. [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html   谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...

随机推荐

  1. java mvc web 项目web.xml头改错了,死活加载不上springMvc的jar

    Description    Resource    Path    Location    TypeOne or more constraints have not been satisfied.  ...

  2. Android 扫一扫----ZXing 的使用

    1. 首先现在ZXing的lib 2. 在Android Studio集成ZXing. public void scan(View view){ startActivityForResult(new ...

  3. 字符数组,字符指针,字符串常量,以及sizeof的一些总结

    1.以字符串形式出现的,编译器都会为该字符串自动添加一个\0作为结尾 如在代码中写"abc",编译器帮你存储的是"abc\0". 2.数组的类型是由该数组所存放 ...

  4. Openstack Neutron L2 Population

    Why do we need it, whatever it is? VM unicast, multicast and broadcast traffic flow is detailed in m ...

  5. [经验交流] 简单安装 centreon 3.2

    centreon 是一个自动化监控平台,监控数据存储在 mysql 中,监控配置在UI中操作,方便且功能强大. 1. centreon 监控引擎 centreon 可以与 nagios 结合,使用 n ...

  6. Eplan PPE Pro-panel Electric fluid P8 2.4图文安装教程

    Eplan ppe pro-panel electric fluid P8等多个最新2.4中文版本的安装,都是使用相同的虚拟驱动MultiKey,还是只有win32位的安装包,不过支持64位操作系统的 ...

  7. oracle控制文件丢失恢复

    在学习群里有个同学误删除了控制文件,于是我也把自己数据库的控制文件删除了,看看能不能进行恢复,以下是整个实验的过程~~在做之前,先看看控制文件的备份方式:1.生成可以重建控制文件的脚本.2.备份二进制 ...

  8. codeforces 689 E. Mike and Geometry Problem 组合数学 优先队列

    给定一个函数: f([l,r]) = r - l + 1; f(空集) = 0; 即f函数表示闭区间[l,r]的整点的个数 现在给出n个闭区间,和一个数k 从n个区间里面拿出k个区间,然后对这k个区间 ...

  9. php include require

    includ和require都是把其他页面加载当前页面,不过不同的是,require如果没有找到,或者所包含的页面里面有错误就不会往下执行了 <?php include 'form.php'; ...

  10. SQL语句 DML,DDL,DCL

    数据控制语言(DCL)是用来设置或者更改数据库用户或角色权限的语句,这些语句包括GRANT.DENY.REVOKE等语句,在默认状态下,只有 sysadmin.dbcreator.db_owner或d ...