算法
1,最長(zhǎng)回文子串
https://www.cnblogs.com/mini-coconut/p/9074315.html
2,爬樓梯問(wèn)題
https://blog.csdn.net/rocling/article/details/81193431
數(shù)據(jù)結(jié)構(gòu)
1,紅黑樹(shù)
http://www.360doc.com/content/18/0904/19/25944647_783893127.shtml
http://www.itdecent.cn/p/6f6642b982af
https://github.com/julycoding/The-Art-Of-Programming-By-July/blob/master/ebook/zh/03.01.md
2,hashmap底層實(shí)現(xiàn)
1.8之前是鏈表+entrySet,1.8之后使用鏈表+紅黑樹(shù)
3,hashmap的擴(kuò)容機(jī)制
https://www.cnblogs.com/yanzige/p/8392142.html
4,一致性哈希
https://www.cnblogs.com/study-everyday/p/8629100.html
http://www.itdecent.cn/p/e968c081f563
5,布隆過(guò)濾器
https://segmentfault.com/a/1190000015482091
https://my.oschina.net/LucasZhu/blog/1813110
http://www.itdecent.cn/p/2104d11ee0a2
6,跳表
http://www.itdecent.cn/p/dd01e8dc4d1f
https://blog.csdn.net/pcwl1206/article/details/83512600
網(wǎng)絡(luò)
1,三次握手和四次揮手
https://blog.csdn.net/qq_38950316/article/details/81087809
2,TCP和UDP的區(qū)別
https://www.cnblogs.com/williamjie/p/9390164.html
面向報(bào)文與面向字節(jié)
https://blog.csdn.net/ce123_zhouwei/article/details/8976006
3,TCP如何保證可靠傳輸
https://blog.csdn.net/liuchenxia8/article/details/80428157
4,TCP如何進(jìn)行流量控制
5,TCP如何進(jìn)行擁塞控制
https://blog.csdn.net/m0_37962600/article/details/79993310
6,HTTP狀態(tài)碼
https://www.cnblogs.com/xflonga/p/9368993.html
7,漏桶算法
8,HTTP POST和GET
https://www.cnblogs.com/liziweiblog/p/11066333.html
https://blog.csdn.net/bieleyang/article/details/76272699
https://baijiahao.baidu.com/s?id=1626599028653203490&wfr=spider&for=pc
9,
InetAddress IP協(xié)議
URL URL
URLConnection
HTTPURLConnection
Socket/ServerSocket
https://www.cnblogs.com/kuangzhisen/p/7053689.html
UrlConnection連接和Socket連接的區(qū)別
https://blog.csdn.net/iteye_1429/article/details/82168974
https://blog.csdn.net/bibi1314123/article/details/17090927
10,三次握手中ack的值是什么?SYN攻擊與防護(hù)
https://www.cnblogs.com/huskiesir/p/10212053.html
https://baijiahao.baidu.com/s?id=1627339324399698792&wfr=spider&for=pc
11,tcp的time wait 和 close wait
12,長(zhǎng)連接及心跳連接
http://www.itdecent.cn/p/16c8c9e09feb
數(shù)據(jù)庫(kù)/MySql
1,Mysql的事務(wù)隔離級(jí)別
https://www.cnblogs.com/rxbook/p/8975924.html
設(shè)置mysql的事務(wù)隔離級(jí)別
https://www.cnblogs.com/huasky/p/11190086.html
https://www.cnblogs.com/satng/p/7759899.html
2,數(shù)據(jù)庫(kù)的連接池
https://blog.csdn.net/qq_39659876/article/details/80958450
https://blog.csdn.net/qq_34468186/article/details/83892496
https://baijiahao.baidu.com/s?id=1599699339020031595&wfr=spider&for=pc
3,樂(lè)觀鎖悲觀鎖
https://www.cnblogs.com/suger43894/p/11024102.html
4,數(shù)據(jù)庫(kù)分頁(yè)優(yōu)化
https://www.cnblogs.com/geningchao/p/6649907.html
https://www.cnblogs.com/RunForLove/p/5100009.html
https://www.cnblogs.com/waterystone/p/9392421.html
5,mysql數(shù)據(jù)引擎知道幾種?innodb和mylsam區(qū)別
6種,InnoDB,MyISAM,NDB,Memory,Archive,Federated,Maria
https://www.cnblogs.com/zhangchaoyang/articles/4214237.html
6,索引失效
- 復(fù)合索引不能跨列或者無(wú)序使用;盡量使用全索引匹配
- 不要在索引上進(jìn)行任何操作(計(jì)算,函數(shù),類型轉(zhuǎn)換)
- 復(fù)合索引不能使用不等于或is null,否則自身及右側(cè)全部失效
- 復(fù)合索引中有>,<,in,之后的索引失效
- like盡量用常量開(kāi)頭,不以“%”開(kāi)頭;如果必須以“%”開(kāi)頭,可以用索引覆蓋挽救一部分
- 盡量不要用or,否則or左側(cè)的索引也失效
7,覆蓋索引
https://blog.csdn.net/qq_15037231/article/details/87891683
https://www.cnblogs.com/happyflyingpig/p/7662881.html
https://www.cnblogs.com/pyng/p/9599977.html
8,倒排序索引
https://www.cnblogs.com/gered/p/9561710.html
https://www.cnblogs.com/luminous1/p/8383777.html
https://blog.csdn.net/zsd_31/article/details/79979818
9,MVCC
https://blog.csdn.net/rocling/article/details/81193431
https://www.cnblogs.com/liulvzhong/articles/9242299.html
redis
1,Redis數(shù)據(jù)結(jié)構(gòu)及持久化機(jī)制
https://www.cnblogs.com/neooelric/p/9621736.html
2,Redis持久化機(jī)制
https://www.cnblogs.com/yyjie/p/7487937.html
MyBatis
1, mybatis 如何獲取自增ID
https://blog.csdn.net/zonghao123/article/details/78374169
2, mybatis 一二級(jí)緩存
JavaSE
1,根據(jù)反射加載一個(gè)類的具體步驟
https://www.cnblogs.com/xiaobiqiang/p/6047146.html
https://www.cnblogs.com/FanJava/p/9512775.html
2,泛型
https://www.cnblogs.com/coprince/p/8603492.html
3,面向?qū)ο?br>
4,HashMap為什么初始化為16
https://blog.csdn.net/l18848956739/article/details/85998121
5,hashCode 怎么對(duì)應(yīng)桶的位置
https://blog.csdn.net/yue31313/article/details/77513353
6,hashCode的計(jì)算
https://blog.csdn.net/tanggao1314/article/details/51457585
https://blog.csdn.net/zhucegemingzizheng/article/details/81289479
7,字符串快速去重
8,Error和Exception的區(qū)別
https://www.cnblogs.com/lcl-dcr/p/7653274.html
https://www.cnblogs.com/hustzzl/p/7840780.html
9,聊一下java里的對(duì)象(java里的包)
10,HashMap底層轉(zhuǎn)紅黑樹(shù)的時(shí)機(jī)
https://www.cnblogs.com/laipimei/p/11282055.html
https://www.cnblogs.com/laipimei/p/11275235.html
11,io類型;nio是其中哪一種
https://blog.csdn.net/datadev_sh/article/details/79241186
https://blog.csdn.net/Yufail/article/details/88825123
JavaEE
1,Session和Cookie的區(qū)別
https://www.cnblogs.com/zlw-xf/p/8001383.html
https://www.cnblogs.com/roxy/p/7805858.html
2,Servlet的生命周期
設(shè)計(jì)模式
1,單例模式的好處,應(yīng)用
https://www.cnblogs.com/restartyang/articles/7770856.html
2,工廠模式
https://blog.csdn.net/weixin_41843053/article/details/80853758
http://www.itdecent.cn/p/ae2e22aa6147
3,Java單例的飽漢與餓漢模式
https://blog.csdn.net/sai739295732/article/details/62411016
https://blog.csdn.net/qq_37768482/article/details/77539850
JVM
1,JVM中的gc,F(xiàn)ull GC
https://baijiahao.baidu.com/s?id=1632743030610982339&wfr=spider&for=pc
https://blog.csdn.net/hellozhxy/article/details/80649342
https://blog.csdn.net/weixin_39788856/article/details/80388002
https://www.cnblogs.com/jenkov/p/full_gc_old_gc_cms_gc.html
https://www.cnblogs.com/williamjie/p/9516264.html
2,垃圾回收及算法
垃圾回收算法:
- 標(biāo)記-清除
- 標(biāo)記-復(fù)制
- 標(biāo)記-整理
- 分代回收
垃圾收集器
年輕代
Serial:?jiǎn)尉€程
ParNew:多線程
Parallel Scavenge:使用復(fù)制算法,強(qiáng)調(diào)精確控制吞吐量
老年代
Serial Old:?jiǎn)尉€程,Serial 的老年代版本
Parallel Old:Parallel Scavenge 使用多線程和”標(biāo)記-整理“算法 吞吐量?jī)?yōu)先
CMS:”標(biāo)記-清除“算法,強(qiáng)調(diào)最短回收停頓時(shí)間
兼顧年輕代和老年代:
G1收集器:并行與并發(fā),分代回收,"標(biāo)記-整理"算法,可預(yù)測(cè)的停頓
3,假設(shè)有一個(gè)加法類從編譯到最終使用的整個(gè)過(guò)程
4,如何判斷對(duì)象是否需要被回收??jī)蓚€(gè)相互引用的對(duì)象如何被回收
- 引用計(jì)數(shù)
- 可達(dá)性分析
附:GCRoot的對(duì)象包括:
- 虛擬機(jī)棧中引用的對(duì)象
- 方法區(qū)中類靜態(tài)屬性引用的對(duì)象
- 方法區(qū)中常量引用的對(duì)象
- 本地方法棧中JNI引用的對(duì)象
5,虛擬機(jī)棧異常類型以及復(fù)現(xiàn)代碼
6,堆內(nèi)存異常類型以及復(fù)現(xiàn)
7,直接內(nèi)存怎么使用以及jvm對(duì)其管理
多線程
http://www.itdecent.cn/p/125ccf0046f3
1,線程池的參數(shù)
public ThreadPoolExecutor(
int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
ThreadFactory threadFactory,
RejectedExecutionHandler handler
);
2,為什么要使用線程池
https://blog.csdn.net/a497393102/article/details/8597819
https://blog.csdn.net/Muz_victory/article/details/81216771
3,如何合理的配置線程池
CPU密集型 Ncpu+1
IO密集型 2*Ncpu
混合型任務(wù) 進(jìn)行任務(wù)拆分
4,飽和策略/任務(wù)隊(duì)列滿了以后再來(lái)一個(gè)任務(wù)如何處理
- AbortPolicy
- CallerRunsPolicy
- DiscardOldestPolicy
- DiscardPolicy
https://www.cnblogs.com/skywang12345/p/3512947.html
5,JUC包里的東西,有哪些常用鎖
https://www.cnblogs.com/doit8791/p/9131148.html
Lock,AQS,ReentrantLock,ReadWriteLock,LockSupport,Condition
6,線程同步的幾種方法?
https://www.cnblogs.com/baizhanshi/p/7025974.html
7,線程同步使用哪些鎖?
https://www.cnblogs.com/lixiangyang521/p/6861768.html
8,死鎖和死循環(huán)都會(huì)導(dǎo)致程序hold住,怎么判斷是死鎖還是死循環(huán)
https://blog.csdn.net/wanglha/article/details/51133819
9,并發(fā)容器種類
https://www.cnblogs.com/ygj0930/p/6543877.html
https://blog.csdn.net/cdefggg/article/details/86426917
http://www.itdecent.cn/p/7f50497b7f30
10,concurrenthashmap數(shù)據(jù)結(jié)構(gòu)
11,線程狀態(tài)(blocked waiting timed_waiting)
https://www.cnblogs.com/cowboys/p/9315331.html
12,等待和阻塞的區(qū)別
https://blog.csdn.net/woshiyigeliangliang/article/details/81116872
13,wait和sleep的區(qū)別
https://blog.csdn.net/kangkanglou/article/details/82221301
14,volatile變量i++
https://www.cnblogs.com/zemliu/p/3298685.html
spring
1,spring的主要特點(diǎn)?介紹一下AOP和IOC;AOP的實(shí)現(xiàn)方式;IOC的實(shí)現(xiàn)方式
AOP和IOC;AOP是面向切面編程;IOC是控制反轉(zhuǎn);spring AOC的實(shí)現(xiàn)是 jdk動(dòng)態(tài)代理和cglib代理;
AOP的實(shí)現(xiàn)
https://blog.csdn.net/wyl6019/article/details/80136000
IOC的實(shí)現(xiàn)
https://www.cnblogs.com/neon/p/10929759.html
https://www.cnblogs.com/study-everyday/p/8566532.html
http://www.itdecent.cn/p/4b31dacf3a63
附:常見(jiàn)的四種代理方式
https://blog.csdn.net/luanlouis/article/details/24589193
cglib和jdk動(dòng)態(tài)代理的比較
https://blog.csdn.net/liangwenmail/article/details/78457106
2,spring中如何配置事務(wù)管理級(jí)別
https://www.cnblogs.com/cxyj/p/3906402.html
3,springMVC的處理流程
https://www.cnblogs.com/5ishare/p/8683971.html
4,一個(gè)Controller中會(huì)涉及到哪些注解
@Controller
@Autowire
@RequestMapping
@RequestParam
@RequestBody
@ResponseBody
@ModelAttribute
5,Spring和Spring boot的區(qū)別
http://www.itdecent.cn/p/ffe5ebe17c3a
https://blog.csdn.net/wang_666_/article/details/80527113
https://www.codercto.com/a/27048.html
6,@transaction
分布式
1,分布式鎖的實(shí)現(xiàn)
https://blog.csdn.net/qq_32924343/article/details/79814133
附:
CAP原理
http://www.ruanyifeng.com/blog/2018/07/cap.html
2,了解微服務(wù)嗎?
操作系統(tǒng) Linux
1,Linux Cpu的輪詢方式
2,Linux中查詢當(dāng)前系統(tǒng)有多少個(gè)進(jìn)程的指令
3,Linux的五種io模式,javaNIO
https://blog.csdn.net/datadev_sh/article/details/79241186
https://blog.csdn.net/Yufail/article/details/88825123
4,Linux 的swap分區(qū)
https://www.cnblogs.com/saneri/p/10319412.html
緒論
4,內(nèi)核態(tài)與用戶態(tài),特權(quán)指令
內(nèi)核態(tài):又稱管態(tài),是操作系統(tǒng)管理程序執(zhí)行時(shí)機(jī)器所處的狀態(tài)。它具有較高的特權(quán),能夠執(zhí)行包括特權(quán)指令的一切指令,能夠訪問(wèn)所有的寄存器和存儲(chǔ)區(qū)
用戶態(tài):又稱目態(tài),是用戶程序執(zhí)行時(shí)機(jī)器所處的狀態(tài)。它具有較低的特權(quán),只能執(zhí)行規(guī)定的指令,只能訪問(wèn)指定的寄存器和存儲(chǔ)區(qū)
特權(quán)指令:只能由操作系統(tǒng)內(nèi)核使用的,不允許用戶程序使用的指令,如IO指令,設(shè)置中斷屏蔽指令,清內(nèi)存指令,存儲(chǔ)保護(hù)指令和設(shè)置時(shí)鐘指令
5,中斷與異常
https://blog.csdn.net/u014134180/article/details/78418428
什么是中斷
https://www.cnblogs.com/jacklong-yin/p/11263052.html
6,系統(tǒng)調(diào)用
操作系統(tǒng)提供給用戶程序請(qǐng)求內(nèi)核完成某種功能的一種過(guò)程調(diào)用
https://blog.csdn.net/xiaomimi1993/article/details/81710623
進(jìn)程管理
7,進(jìn)程的組成
- 進(jìn)程控制塊(PCB)
- 程序段
- 數(shù)據(jù)段
8,進(jìn)程的狀態(tài)與轉(zhuǎn)換
https://blog.csdn.net/qwe6112071/article/details/70473905
9,內(nèi)核級(jí)線程與用戶級(jí)線程
https://www.cnblogs.com/feng9exe/p/7890934.html
10,常見(jiàn)的調(diào)度算法
a,先來(lái)先服務(wù)
b,短作業(yè)優(yōu)先
c,優(yōu)先級(jí)調(diào)度
d,時(shí)間片輪轉(zhuǎn)
e,高相應(yīng)比調(diào)度
f,多級(jí)隊(duì)列調(diào)度
g,多級(jí)反饋隊(duì)列調(diào)度
11,互斥的要求
- 空閑讓進(jìn)
- 忙則等待
- 有限等待
- 讓權(quán)等待
12,互斥的實(shí)現(xiàn)
信號(hào)量機(jī)制;PV原子操作
13,經(jīng)典同步問(wèn)題
a,生產(chǎn)者消費(fèi)問(wèn)題
b,讀者-寫(xiě)者問(wèn)題
c,哲學(xué)家進(jìn)餐問(wèn)題
d,理發(fā)師問(wèn)題
14,管程
15,死鎖產(chǎn)生的原因和必要條件
原因:競(jìng)爭(zhēng)資源;系統(tǒng)資源不足和進(jìn)程推進(jìn)順序不當(dāng)
必要條件:
- 互斥條件
- 不剝奪條件
- 請(qǐng)求與保持條件
- 環(huán)路等待條件
16,死鎖的預(yù)防
https://www.cnblogs.com/bopo/p/9228834.html
17,死鎖代碼demo
https://blog.csdn.net/wanglha/article/details/51133819
內(nèi)存管理
1,交換與覆蓋
2,存儲(chǔ)管理方式
連續(xù)管理方式
非連續(xù)管理方式
3,MMU和快表
MMU
https://www.cnblogs.com/alantu2018/p/9002309.html
快表TLB
https://blog.csdn.net/weixin_36725931/article/details/85344814
TLB和MMU的區(qū)別
https://www.cnblogs.com/linhaostudy/p/7771437.html
4,虛擬內(nèi)存
https://www.cnblogs.com/kexinxin/p/9939085.html
5,缺頁(yè)中斷與普通中斷的區(qū)別
a,在指令的執(zhí)行期間產(chǎn)生和處理中斷
b,一條指令可以產(chǎn)生多個(gè)缺頁(yè)中斷
6,頁(yè)面置換算法
a,OPT最佳置換算法
b,F(xiàn)IFO先進(jìn)先出
c,LRU最近最少使用
d,CLOCK時(shí)鐘置換算法
5,改進(jìn)時(shí)鐘算法
文件管理
1,軟鏈接和硬鏈接
https://www.cnblogs.com/rswss/p/9466882.html
2,
設(shè)備管理
1,IO控制方式
- 程序直接控制方式
- 中斷控制方式
- DMA控制方式
- 通道控制方式