第一部分:java基礎javascript
JVM和GC:java虛擬機內存分配,類加載機制(雙親委派模型,Bootstrap Classloader, Extension ClassLoader, Application ClassLoader),Eden space,from space,to space,old generation,perm generation,minor GC,full GC,垃圾回收算法(複製,標記整理,標記清除,分代),JVM監測和性能優化工具,JVisualVM,jmap,jConsole;css
java概述:標識符,關鍵字,基本變量類型四類八種,判斷循環表達式,遞歸;html
java面向對象:abstract,interface,static,final,extends,重寫和重載,構造方法,內存分配,反射,註解;前端
異常處理:try, catch, throw, throws, finally,異常處理與重寫的關係;運行時異常與非運行時異常;先逮小的,後逮大的;html5
數組:數組的內存結構,經常使用的數組方法;java
經常使用類:String,StringBuffer,StringBuilder,File,Math;linux
容器和併發容器:Collection,List,Set,Queue,Deque,Map,Vector,ArrayList,LinkedList,Hashtable,HashMap,LinkedHashMap,CoucurrentHashMap,BlockingQueue,BlockingDeque,ArrayBlockingQueue,LinkedBlockingQueue,泛型,生產者-消費者模型;git
IO/NIO:InputStream,OutputStream,Reader,Writer,File,Socket,Buffer,Channel,FileChannel,DatagramChannel,SocketChannel,ServerSocketChannel,Selector,SelectionKey,同步異步,阻塞非阻塞ajax
多線程/併發編程:synchronize,ReentrantLock,ReentrantReadWriteLock,AtomicInteger,volatile,線程池算法
網絡編程:TCP/IP協議詳解,http協議及狀態碼;
java設計模式:建立性,工廠方法,抽象工廠,單例,建造者,原型,結構性,適配器,代理,裝飾,橋接,享元,組合,行爲性,模板方法,策略,觀察者,責任鏈;
經常使用的數據結構和算法:線性結構,線性表,鏈表,隊列,棧,數組,串,非線性結構,樹,二叉樹,紅黑樹,經常使用的排序算法,冒泡排序,快速排序,選擇排序;
jsp,servlet,cookie,sesssion,jdbc,session的分佈式管理;
第二部分:框架應用狀況
SpringMVC,hibernate,spring IOC,AOP框架的理解和原理;
緩存機制:Ehcache,Redis,Memcached原理;
消息機制:ActiveMQ,ZeroMQ,RabbitMQ,RocketMQ原理;
搜索機制:Lucene,solor原理;
網絡通訊:MINA,Netty原理;
構建高性能、高可用、可伸縮、可擴展和安全性的分佈式、集羣服務;
系統性能優化知識;
Maven,git,checkstyle,findbugs等代碼管理管理工具的使用;
第三部分:數據庫知識
數據庫優化;
索引;
事務;
分庫分表;
第四部分:Linux
經常使用的linux命令;
linux環境下的應用部署和平常維護;
第五部分:前端知識
html,css,javascript,jQuery,html5,ajax;
前端性能優化;
https://askingwindy.gitbooks.io/gitbook-java-interview-note/content/