一 jvm和jmm
1.類加載過程
2.常用的類加載器 tomcat中涉及的加載器
3.能否自己寫個(gè)類叫java.lang.string
4.jvm內(nèi)存劃分
5.垃圾回收算法以及常用的收集器cms褒链,g1
6.何時(shí)觸發(fā)yonggc和fullgc
7.oom分析贷岸,常用的分析工具以及命令
8.jmm的理解
9.內(nèi)存屏障,指令重排序,happy-befor原則
二 jdk源碼和集合框架
1.介紹下object里常用的方法
2.為何重寫equal一定重寫hash方法刻恭,hash方法是否可以寫死返回一個(gè)常量,為什么
解決hash沖突的方法
3.什么是是不可變對(duì)象营密,為何String是不可變對(duì)象痴奏,常量池概念,string常用的方法胸遇,如何實(shí)現(xiàn)split方法
collection和map
?list:arraylist linkedlist 區(qū)別
?set: hashset sortset 如何實(shí)現(xiàn)有序
queue?
map:
hashmap 實(shí)現(xiàn)原理 1.7荧呐,1.8有啥區(qū)別和改進(jìn) 是否安全,多線程環(huán)境下如何保證安全纸镊,有幾種方式
concurrenthashmap 實(shí)現(xiàn)原理 1.7倍阐,1.8區(qū)別,1.7中為何采用分段鎖技術(shù)逗威,如何進(jìn)行分段
三 框架原理
spring
1.spring介紹
spring開源峰搪,輕量級(jí)框架,分層架構(gòu)凯旭,各個(gè)模塊介紹概耻,不僅僅介紹ioc使套,aop
2.spring 2.5,3.0鞠柄,4侦高,5各個(gè)版本有什么改進(jìn),新增了什么內(nèi)容
spring boot厌杜,spring cloud
3.spring bean執(zhí)行初始化的三種方式
4.如何解決bean的循環(huán)依賴
5.factorybean和beanfactory有什么區(qū)別
6.什么是aop和ioc奉呛,spring aop實(shí)現(xiàn)原理
hibernate
1.n+1問題,如何避免
2.對(duì)象的幾種狀態(tài)
3.一級(jí)緩存和二級(jí)緩存夯尽,使用場景
4.hibernate 執(zhí)行原理
5 hibernate 一些高級(jí)特性瞧壮,級(jí)聯(lián)操作等
6.sessionfactory是否是線程安全,如何實(shí)現(xiàn)的
mybatis
1.mybatis 和hibernate有什么區(qū)別匙握,mybatis的運(yùn)行原理
2.mybatis中#和$? 區(qū)別咆槽,如何防止sql注入
3.開發(fā)過程中,mybatis一般都會(huì)寫一個(gè)dao與一個(gè)xml映射文件對(duì)應(yīng)圈纺,這個(gè)mapping映射原理罗晕?dao接口里的方法是否可以重載
4.mybatis是否支持延遲加載,實(shí)現(xiàn)原理是什么赠堵,與hibernate延遲加載是否有區(qū)別
5.mybatis 里的一級(jí)緩存和二級(jí)緩存
四 數(shù)據(jù)庫
1.常用的數(shù)據(jù)庫小渊,oracle和mysql區(qū)別
2.什么是事務(wù),作用茫叭,隔離級(jí)別酬屉,spring中事務(wù)如何使用的,傳播行為 nested和required_new的區(qū)別
3.什么是索引揍愁,都有哪些索引呐萨,索引的作用,索引的數(shù)據(jù)結(jié)構(gòu)莽囤,優(yōu)缺點(diǎn)
4.mysql存儲(chǔ)引擎谬擦,myIsam和Innodb
5.數(shù)據(jù)優(yōu)化,了解的分庫分表實(shí)際操作經(jīng)驗(yàn)
五.rpc 框架 和mq
1.用過的rpc框架有哪些朽缎,dubbo接觸過嗎惨远,實(shí)現(xiàn)原理
2.dubbo里涉及的一系列問題:通信框架,注冊(cè)中心话肖,序列化框架等等
3.常見的mq北秽,涉及的一些名詞術(shù)語,consumer,provider,broker最筒,消息交互方式等
六鎖和多線程
1. synchronized用法贺氓,原理 ,與lock有啥區(qū)別床蜘,分別在什么場景使用
2.volatile ,threadlocal 用法辙培,常見的使用場景
3countdownlatch蔑水,CyclicBarrier ,semophone用法 ,適用場景扬蕊,cas的了解搀别,如何解決aba問題
4. 創(chuàng)建線程的方法,線程的狀態(tài) join厨相,yield用法,守護(hù)線程的理解
5.線程池運(yùn)行原理领曼,如何創(chuàng)建一個(gè)線程池鸥鹉,常用的阻塞隊(duì)列蛮穿,有什么區(qū)別,以及使用場景毁渗,從性能上分析一下arrayblockqueue和linkedblockqueu
七. 通信