面經(jīng)準(zhǔn)備

算法

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ù)如何處理

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控制方式
  • 通道控制方式
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1-------- 走進(jìn)前端 2-------- jQuery 3-------- CSS 4-------- A...
    依依玖玥閱讀 2,425評(píng)論 0 34
  • 本系列出于AWeiLoveAndroid的分享,在此感謝,再結(jié)合自身經(jīng)驗(yàn)查漏補(bǔ)缺,完善答案。以成系統(tǒng)。 Java基...
    濟(jì)公大將閱讀 1,621評(píng)論 1 6
  • 網(wǎng)站: http://ui4app.com/category 技術(shù)網(wǎng)站: http://www.bestsdk.c...
    LYPC_下里巴人閱讀 1,310評(píng)論 0 1
  • 剛剛在看中國(guó)式關(guān)系,奇怪的是我看了這么久,從下午到晚上,現(xiàn)在卻只記得三個(gè)人的名字,主人公叫什么已經(jīng)忘記了,只記得姓...
    噗嗒閱讀 664評(píng)論 0 0
  • 今天其實(shí)過(guò)的很疲勞,感覺(jué)自己被掏空了,早晨起來(lái)就是緊張兮兮的,媛崽崽感冒第三天了,比前兩天狀態(tài)稍微好一些,但是還是...
    清晏先生閱讀 215評(píng)論 0 0

友情鏈接更多精彩內(nèi)容