本人从事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. MSClass 和setInterval 的并发,ajax定时有采集信息滚动显示

    setTimeout 用于延时器,只执行一次. setInterval:用于多次执行. //****************************************** 项目中引用到jquer ...

  2. 写了一个自动打包并发布到tomcat的脚本

    #!/bin/sh #获取tomcat的PID tomcat_pid=` | awk '{print $1}'`#判断tomcat是否结束,未结束则kill掉 if [ -z $tomcat_pid ...

  3. NSUserDefaults简介及使用

    NSUserDefaults类提供了一个与默认系统进行交互的编程接口.NSUserDefaults对象是用来保存,恢复应用程序相关的偏好设置,配置数据等等.默认系统允许应用程序自定义它的行为去迎合用户 ...

  4. centos 7 下安装Nginx

    下载Nginx wget nginx.tar.gz http://nginx.org/download/nginx-1.11.3.tar.gz 解压源码 .tar.gz 然后进入目录编译安装 cd n ...

  5. [IIS]IIS扫盲(三)

      IIS扫盲贴 --==[精品]==--   IIS扫盲贴     --==[精品]==-- 2000对应iis5.0  xp对应iis5.1  2003对应iis6.0        作者: II ...

  6. 这些年我们一起搞过的持续集成~Jenkins+Perl and Shell script

    这些年我们一起搞过的持续集成~Jenkins+Perl and Shell script ##转载注明出处:http://www.cnblogs.com/wade-xu/p/4378224.html ...

  7. java中数据类型转换

    1.自动类型转换:首先两者数据类型要兼容,且目标类型要大于源类型如(int类型转换成double类型) 2.强制转换:两者数据类型要兼容,会使破坏数据的结构

  8. UINavigationItem UINavigationBar 关系分析[转]

    http://blog.csdn.net/luoyeffcs/article/details/16106707 目录 1.关系分析 2.关系综述 3.概念点 4.疑问 1.关系分析 UIBarItem ...

  9. loadrunner 联机跑负载 win server 2012 r2环境部署

    下列为在实际loadrunner 联机跑负载 win server 2012 r2环境部署中进行的成功案例,遇到的问题和解决方法,仅作整理和记录,如转载请署名及原文地址. ps:欢迎加q群872584 ...

  10. EXT学习之——EXT下拉框默认绑定第一个值

    //默认第一个下拉框绑定值if (this.moduleCombo.store.getAt(0) != undefined) { this.moduleCombo.setValue(this.modu ...