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 谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...
随机推荐
- Win7 Update 遭遇8024200D
可用办法如下: 1.点击开始菜单,点运行,输入cmd然后按回车.然后在命令行下输入: net stop WuAuServ 2.点击开始菜单,点运行,输入%windir%然后按回车. 3.在打开的文件夹 ...
- Document types require more than xhtml1.0
这个东西只会在比较低版本的浏览器中会出现,比如IE7及以下会出这个错误. 错误的根源是html页面没有考虑浏览器兼容性问题. 在页面头部加入下面的内容即可解决标题中的问题 <!DOCTYPE h ...
- Linux下安装php加速器xcache
一.环境说明 php安装目录:/usr/local/php php.ini配置文件路径:/usr/local/php/etc/php.ini Nginx安装目录:/usr/local/nginx Ng ...
- Tcpdump非常实用的抓包12实例
1.过滤主机---------------------------------------------------------------- - 抓取所有经过 eth1,目的或源地址是 192.168 ...
- 不重启程序使用最新版package
相信很多使用python者都对reload方法比较熟悉了,通过不间断地reload可以实现某一module的热更新,主要就能在不重启应用的情况下实现部分模块的更新.但这种方法仅限于reload当前工作 ...
- Android学习笔记(五)
Intent不仅用来启动一个活动,Intent还可以在启动活动的时候传递参数. 1.向下一个活动传递数据 启动活动的时候传递数据,Intent提供了一系列putExtra()方法的重载,可以把要传递的 ...
- [家里蹲大学数学杂志]第432期Hardy type inequalities
If $p>1$, $f\geq 0$, and $$\bex F(x)=\int_0^x f(t)\rd t, \eex$$ then $$\bee\label{Hardy:0 to x} \ ...
- c#数据类型之值类型和引用类型
C#数据类型分隔为值类型和引用类型.而所用数据类型都继承自Object. 1. 值类型继承自System.ValueType,引用类型继承自System.Object.ValueType也直接继承自O ...
- CRM HomePage.aspx
//added by bgx on 20160616 //隐藏指定title按钮 function hideISVButton(buttonTitle) { var comps = document. ...
- 如何用pdb进行python调试
本文章讲述了如何用pdb进行python调试讲解. 当手边 没有IDE,面对着python调试犯愁时,你就可以参考下本文;(pdb 命令调试) 参 考:http://docs.python.org/l ...