亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
? 高效能的實(shí)務(wù)方案" >? 高效能的實(shí)務(wù)方案
? 高可用的實(shí)踐方案" >? 高可用的實(shí)踐方案
? 高擴(kuò)展的實(shí)踐方案" >? 高擴(kuò)展的實(shí)踐方案
首頁 Java Java面試題 面試官:你對(duì)高並發(fā)了解多少?我:emmm...

面試官:你對(duì)高並發(fā)了解多少?我:emmm...

Jul 26, 2023 pm 04:07 PM
面試題

面試官:你對(duì)高並發(fā)了解多少?我:emmm...

#高並發(fā),幾乎是每個(gè)程式設(shè)計(jì)師都想擁有的經(jīng)驗(yàn)。 原因很簡(jiǎn)單:隨著流量變大,會(huì)遇到各種各樣的技術(shù)問題,例如介面響應(yīng)逾時(shí)、CPU load升高、GC頻繁、死鎖、大數(shù)據(jù)量存儲(chǔ)等等,這些問題能推動(dòng)我們?cè)诩夹g(shù)深度上不斷精進(jìn)。

在過往的面試中,如果候選人做過高並發(fā)的項(xiàng)目,我通常會(huì)讓對(duì)方談?wù)剬?duì)於高並發(fā)的理解,但是能係統(tǒng)性地回答好此問題的人並不多,大概分成這樣幾類:

1、##對(duì)資料化的指標(biāo)沒有概念:不清楚選擇什麼樣的指標(biāo)來衡量高並發(fā)系統(tǒng)?分不清並發(fā)量和QPS,甚至不知道自己系統(tǒng)的總用戶量、活躍用戶量,平峰和高峰時(shí)的QPS和TPS等關(guān)鍵數(shù)據(jù)。

2、設(shè)計(jì)了一些方案,但細(xì)節(jié)掌握不透徹:##講不出該方案要關(guān)注的技術(shù)點(diǎn)和可能帶來的副作用。例如讀取效能有瓶頸會(huì)引入緩存,但是忽略了快取命中率、熱點(diǎn)key、資料一致性等問題。

3、理解片面,把高並發(fā)設(shè)計(jì)等同於效能優(yōu)化:大談並發(fā)程式設(shè)計(jì)、多層快取、非同步化、水平擴(kuò)容,卻忽略高可用設(shè)計(jì)、服務(wù)治理及維運(yùn)保障。

4、掌握大方案,卻忽略最基本的東西:能講清楚垂直分層、水平分區(qū)、快取等大思路,卻沒意識(shí)去分析資料結(jié)構(gòu)是否合理,演算法是否高效,沒想過從最根本的IO和計(jì)算兩個(gè)維度去做細(xì)節(jié)優(yōu)化。

這篇文章,我想結(jié)合自己的高並發(fā)專案經(jīng)驗(yàn),系統(tǒng)性地總結(jié)下高並發(fā)需要掌握的知識(shí)和實(shí)踐思路,希望對(duì)你有所幫助。 內(nèi)容分成以下3個(gè)部分:

  • 如何理解高並發(fā)?
  • 高並發(fā)系統(tǒng)設(shè)計(jì)的目標(biāo)是什麼?
  • 高並發(fā)的實(shí)踐方案有哪些?

01 如何理解高並發(fā)?

高並發(fā)意味著大流量,需要運(yùn)用技術(shù)手段抵抗流量的衝擊,這些手段好比操作流量,能讓流量更平穩(wěn)地被系統(tǒng)所處理,帶給用戶更好的體驗(yàn)。

我們常見的高並發(fā)場(chǎng)景有:淘寶的雙11、春運(yùn)時(shí)的搶票、微博大V的熱點(diǎn)新聞等。除了這些典型事情,每秒數(shù)十萬請(qǐng)求的秒殺系統(tǒng)、每天千萬級(jí)的訂單系統(tǒng)、每天億級(jí)日活的資訊流系統(tǒng)等,都可以歸為高並發(fā)。

很顯然,上面談到的高並發(fā)場(chǎng)景,並發(fā)量各不相同,那到底多大並發(fā)才算高並發(fā)呢?

1、不能只看數(shù)字,要看具體的業(yè)務(wù)場(chǎng)景。不能說10W QPS的秒殺是高並發(fā),而1W QPS的訊息流就不是高並發(fā)。資訊流場(chǎng)景涉及複雜的推薦模型和各種人工策略,它的業(yè)務(wù)邏輯可能比秒殺場(chǎng)景複雜10倍不止。因此,不在同一個(gè)維度,沒有任何比較意義。

2、業(yè)務(wù)都是從0到1做起來的,並發(fā)量和QPS只是參考指標(biāo),最重要的是:在業(yè)務(wù)量逐漸變成原來的10倍、100倍的過程中,你是否用到了高並發(fā)的處理方法去演進(jìn)你的系統(tǒng),從架構(gòu)設(shè)計(jì)、編碼實(shí)現(xiàn)、甚至產(chǎn)品方案等維度去預(yù)防和解決高並發(fā)引起的問題?而不是一味的升級(jí)硬體、加機(jī)器做水平擴(kuò)充。

此外,各個(gè)高並發(fā)場(chǎng)景的業(yè)務(wù)特徵完全不同:有讀多寫少的資訊流場(chǎng)景、有讀多寫多的交易場(chǎng)景,那是否有通用的技術(shù)方案解決不同場(chǎng)景的高並發(fā)問題呢

我覺得大的思路可以藉鑑,別人的方案也可以參考,但是真正落地過程中,細(xì)節(jié)上還會(huì)有無數(shù)的坑。另外,由於軟硬體環(huán)境、技術(shù)堆疊、以及產(chǎn)品邏輯都沒辦法做到完全一致,這些都會(huì)導(dǎo)致同樣的業(yè)務(wù)場(chǎng)景,就算用相同的技術(shù)方案也會(huì)面臨不同的問題,這些坑還得一個(gè)個(gè)趟。

因此,這篇文章我會(huì)將重點(diǎn)放在基礎(chǔ)知識(shí)、通用思路、和我曾經(jīng)實(shí)踐過的有效經(jīng)驗(yàn)上,希望讓你對(duì)高並發(fā)有更深的理解。

02 高並發(fā)系統(tǒng)設(shè)計(jì)的目標(biāo)是什麼?

先搞清楚高並發(fā)系統(tǒng)設(shè)計(jì)的目標(biāo),在此基礎(chǔ)上再討論設(shè)計(jì)方案和實(shí)務(wù)經(jīng)驗(yàn)才有意義和針對(duì)性。

#
2.1 宏觀目標(biāo)

#高並發(fā)絕不表示只追求高性能,這是很多人片面的理解。 從宏觀角度看,高並發(fā)系統(tǒng)設(shè)計(jì)的目標(biāo)有三:高效能、高可用,以及高可擴(kuò)展。

1、高效能:效能體現(xiàn)了系統(tǒng)的平行處理能力,在有限的硬體投入下,提高效能意味著節(jié)省成本。同時(shí),效能也反映了使用者體驗(yàn),回應(yīng)時(shí)間分別是100毫秒和1秒,給使用者的感受是完全不同的。

2、高可用表示系統(tǒng)可以正常服務(wù)的時(shí)間。一個(gè)全年不停機(jī)、無故障;另一個(gè)隔三差五出線上事故、宕機(jī),用戶肯定選擇前者。另外,如果系統(tǒng)只能做到90%可用,也會(huì)大大拖累業(yè)務(wù)。

3、高擴(kuò)展:表示系統(tǒng)的擴(kuò)展能力,流量高峰時(shí)能否在短時(shí)間內(nèi)完成擴(kuò)容,更平穩(wěn)地承接尖峰流量,例如雙11活動(dòng)、明星離婚等熱點(diǎn)事件。

面試官:你對(duì)高並發(fā)了解多少?我:emmm...

這3個(gè)目標(biāo)是需要通盤考慮的,因?yàn)樗鼈兓ハ嚓P(guān)聯(lián)、甚至也會(huì)互相影響。

#如說考慮系統(tǒng)的擴(kuò)充能力,你會(huì)將服務(wù)設(shè)計(jì)#成無狀態(tài)的 #這種群集設(shè)計(jì)保證了高擴(kuò)展性,其實(shí)也間接提升了系統(tǒng)的性能和可用性。

再比如說:為了確??捎眯裕ǔ?huì)對(duì)服務(wù)介面進(jìn)行超時(shí)設(shè)置,以防大量執(zhí)行緒阻塞在慢請(qǐng)求上造成系統(tǒng)雪崩,那超時(shí)時(shí)間設(shè)定成多少合理呢?一般,我們會(huì)參考依賴服務(wù)的效能表現(xiàn)進(jìn)行設(shè)定。

2.2?微觀目標(biāo)

再?gòu)奈⒂^角度來看,高效能、高可用和高擴(kuò)展又有哪些具體的指標(biāo)來衡量?為什麼會(huì)選擇這些指標(biāo)呢?

??效能指標(biāo)

#透過效能指標(biāo)可以測(cè)量目前存在的效能問題,同時(shí)作為效能最佳化的評(píng)估依據(jù)。一般來說,會(huì)採(cǎi)用一段時(shí)間內(nèi)的介面回應(yīng)時(shí)間作為指標(biāo)。

1、平均回應(yīng)時(shí)間:最常用,但是缺陷很明顯,對(duì)於慢請(qǐng)求不敏感。例如1萬次請(qǐng)求,其中9900次是1ms,100次是100ms,則平均回應(yīng)時(shí)間為1.99ms,雖然平均耗時(shí)僅增加了0.99ms,但是1%請(qǐng)求的回應(yīng)時(shí)間已經(jīng)增加了100倍。

2、TP90、TP99等分位值:將回應(yīng)時(shí)間依照從小到大排序,TP90表示排在第90分位元的回應(yīng)時(shí)間, 分位值越大,對(duì)慢請(qǐng)求越敏感。

面試官:你對(duì)高並發(fā)了解多少?我:emmm...

#3、吞吐量:和回應(yīng)時(shí)間呈反比,例如回應(yīng)時(shí)間是1ms,則吞吐量為每秒1000次。

通常,設(shè)定效能目標(biāo)時(shí)會(huì)兼顧吞吐量和回應(yīng)時(shí)間,例如這樣表述:在每秒1萬次請(qǐng)求下,AVG控制在50ms以下,TP99控制在100ms以下。對(duì)於高並發(fā)系統(tǒng),AVG和TP分位值必須同時(shí)考慮。

另外,從使用者體驗(yàn)角度來看,200毫秒被認(rèn)為是第一個(gè)分界點(diǎn),使用者感覺不到延遲,1秒是第二個(gè)分界點(diǎn),使用者能感受到延遲,但是可以接受。

因此,對(duì)於一個(gè)健康的高並發(fā)系統(tǒng),TP99應(yīng)該控制在200毫秒以內(nèi),TP999或TP9999應(yīng)該控制在1秒以內(nèi)。

? 可用性指標(biāo)

高可用性是指系統(tǒng)具有較高的無故障運(yùn)作能力,可用性= 正常運(yùn)作時(shí)間/ 系統(tǒng)總運(yùn)作時(shí)間,一般使用幾個(gè)9來描述系統(tǒng)的可用性。

面試官:你對(duì)高並發(fā)了解多少?我:emmm...

對(duì)於高並發(fā)系統(tǒng)來說,最基本的要求是:保證3個(gè)9或4個(gè)9。原因很簡(jiǎn)單,如果你只能做到2個(gè)9,代表有1%的故障時(shí)間,像一些大公司每年動(dòng)輒千億以上的GMV或收入,1%就是10億等級(jí)的業(yè)務(wù)影響。

? 可擴(kuò)展性指標(biāo)

#面對(duì)突發(fā)流量,不可能暫時(shí)改造架構(gòu),最快的方式就是增加機(jī)器來線性提升系統(tǒng)的處理能力。

對(duì)於業(yè)務(wù)叢集或基礎(chǔ)元件來說,擴(kuò)充性=?效能提升比例?/?機(jī)器增加比例,理想的擴(kuò)充能力是:資源增加數(shù)倍,效能提升數(shù)倍。 通常來說,擴(kuò)充能力要維持在70%以上。

但是從高並發(fā)系統(tǒng)的整體架構(gòu)角度來看,擴(kuò)展的目標(biāo)不僅僅是把服務(wù)設(shè)計(jì)成無狀態(tài)就行了,因?yàn)楫?dāng)流量增加10倍,業(yè)務(wù)服務(wù)可以快速擴(kuò)容10倍,但是資料庫(kù)可能就變成了新的瓶頸。

像是MySQL這種有狀態(tài)的儲(chǔ)存服務(wù)通常是擴(kuò)充的技術(shù)困難,如果架構(gòu)上沒有事先做好規(guī)劃(垂直和水平分割),就會(huì)涉及到大量資料的遷移。

因此,高擴(kuò)展性需要考慮:服務(wù)叢集、資料庫(kù)、快取和訊息佇列等中間件、負(fù)載平衡、頻寬、依賴的第三方等,當(dāng)並發(fā)達(dá)到某一個(gè)量級(jí)後,上述每個(gè)因素都可能成為擴(kuò)展的瓶頸點(diǎn)。


#
03?高併發(fā)的實(shí)踐方案有哪些?
了解了高並發(fā)設(shè)計(jì)的3大目標(biāo)後,再系統(tǒng)性地總結(jié)下高並發(fā)的設(shè)計(jì)方案,會(huì)從以下兩部分展開:先總結(jié)下通用的設(shè)計(jì)方法,然後再圍繞高效能、高可用、高擴(kuò)展分別給出具體的實(shí)踐方案。
3.1 通用的設(shè)計(jì)方法
通用的設(shè)計(jì)方法主要從縱向橫向兩個(gè)維度出發(fā),俗稱高並發(fā)處理的兩板斧:縱向擴(kuò)展和橫向擴(kuò)展。

??縱向擴(kuò)充(scale-up)

#它的目標(biāo)是提升單機(jī)的處理能力,方案又包含:

1、提升單機(jī)的硬體效能:透過增加記憶體、CPU核數(shù)、儲(chǔ)存容量、或?qū)⒋诺?/span>#升級(jí)成SSD等堆硬#方提升
## 。
2、提升單機(jī)的軟體效能:使用快取減少IO次數(shù),使用並發(fā)或非同步的方式增加吞吐量。

? 橫向擴(kuò)展(scale-out)

#因?yàn)閱螜C(jī)效能總是會(huì)存在極限,所以最終還需要引入橫向擴(kuò)展,透過叢集部署以進(jìn)一步提高並發(fā)處理能力,又包含以下2個(gè)方向:


1、做好分層架構(gòu):這是橫向擴(kuò)展的提前,因?yàn)楦邅K發(fā)系統(tǒng)往往業(yè)務(wù)複雜,透過分層處理可以簡(jiǎn)化複雜問題,更容易做到橫向擴(kuò)展。

#######
面試官:你對(duì)高並發(fā)了解多少?我:emmm...

上面這種圖是網(wǎng)路最常見的分層架構(gòu),當(dāng)然真實(shí)的高並發(fā)系統(tǒng)架構(gòu)會(huì)在此基礎(chǔ)上進(jìn)一步完善。例如會(huì)做動(dòng)靜分離並引入CDN,反向代理層可以是LVS Nginx,Web層可以是統(tǒng)一的API網(wǎng)關(guān),業(yè)務(wù)服務(wù)層可進(jìn)一步按垂直業(yè)務(wù)做微服務(wù)化,儲(chǔ)存層可以是各種異質(zhì)資料庫(kù)。

2、各層進(jìn)行水平擴(kuò)展:無狀態(tài)水平擴(kuò)容,有狀態(tài)做分片路由。業(yè)務(wù)群集通常能設(shè)計(jì)成無狀態(tài)的,而資料庫(kù)和快取往往是有狀態(tài)的,因此需要設(shè)計(jì)分區(qū)鍵做好儲(chǔ)存分片,當(dāng)然也可以透過主從同步、讀寫分離的方案來提升讀取效能。

3.2?具體的實(shí)踐方案
#下面再結(jié)合我的個(gè)人經(jīng)驗(yàn),針對(duì)高效能、高可用、高擴(kuò)充3個(gè)方面,總結(jié)下可落地的實(shí)踐方案。

? 高效能的實(shí)務(wù)方案

#1、叢集部署,透過負(fù)載平衡減輕單機(jī)壓力。

2、多層緩存,包括靜態(tài)資料使用CDN、本地快取、分散式快取等,以及快取場(chǎng)景中的熱點(diǎn)key、快取穿透、快取並發(fā)、資料一致性等問題的處理。
3、分庫(kù)分錶和索引最佳化,以及借助搜尋引擎解決複雜查詢問題。
4、考慮NoSQL資料庫(kù)的使用,例如HBase、TiDB等,但團(tuán)隊(duì)必須熟悉這些元件,且有較強(qiáng)的運(yùn)作能力。
5、非同步化,將次要流程透過多執(zhí)行緒、MQ、甚至延時(shí)任務(wù)進(jìn)行非同步處理。
6、限流,需要先考慮業(yè)務(wù)是否允許限流(例如秒殺場(chǎng)景是允許的),包括前端限流、Nginx存取層的限流、服務(wù)端的限流。
7、對(duì)流量進(jìn)行#削峰填谷,透過 MQ承接流量。
8、並發(fā)處理,透過多執(zhí)行緒將串列邏輯並行化。
9、預(yù)計(jì)算,例如搶紅包場(chǎng)景,可以事先計(jì)算好紅包金額快取起來,發(fā)紅包時(shí)直接使用即可。
10、快取預(yù)熱,透過非同步任務(wù)提前預(yù)熱資料到本地快取或分散式快取。
11、減少IO次數(shù),例如資料庫(kù)和快取的批次讀寫、RPC的批次介面支援、或透過冗餘資料的方式來幹掉RPC呼叫。
12、減少IO時(shí)的封包大小,包括採(cǎi)用輕量級(jí)的通訊協(xié)定、適當(dāng)?shù)馁Y料結(jié)構(gòu)、去掉介面中的多餘欄位、減少快取key的大小、壓縮快取value等。
13、程式邏輯最佳化,例如將大機(jī)率阻斷執(zhí)行流程的判斷邏輯前置、For迴圈的運(yùn)算邏輯最佳化,或是採(cǎi)用更有效率的演算法。
14、各種池化技術(shù)的使用和池大小的設(shè)置,包括HTTP請(qǐng)求池、執(zhí)行緒池(考慮CPU密集型或IO密集型設(shè)定核心參數(shù))、資料庫(kù)和Redis連接池等。
15、JVM最佳化,包括新生代和老年代的大小、GC演算法的選擇等,盡可能減少GC頻率和耗時(shí)。
16、鎖選擇,讀多寫少的場(chǎng)景用樂觀鎖,或考慮透過分段鎖的方式減少鎖定衝突。

上述方案無外乎從計(jì)算和IO 兩個(gè)維度考慮所有可能的優(yōu)化點(diǎn),需要有配套的監(jiān)控系統(tǒng)實(shí)時(shí)了解當(dāng)前的性能表現(xiàn),並支撐你進(jìn)行效能瓶頸分析,然後再遵循二八原則,抓主要矛盾進(jìn)行最佳化。

? 高可用的實(shí)踐方案

#1、對(duì)等節(jié)點(diǎn)的故障轉(zhuǎn)移,Nginx和服務(wù)治理框架都支援一個(gè)節(jié)點(diǎn)失敗後訪問另一個(gè)節(jié)點(diǎn)。

2、非對(duì)等節(jié)點(diǎn)的故障轉(zhuǎn)移,透過心跳偵測(cè)並實(shí)作主備切換(例如redis的哨兵模式或叢集模式、MySQL的主從切換等)。
3、介面層面的超時(shí)設(shè)定、重試策略和冪等設(shè)計(jì)。
4、降級(jí)處理:確保核心服務(wù),犧牲非核心服務(wù),必要時(shí)進(jìn)行熔斷;或核心連結(jié)出問題時(shí),有備選連結(jié)。
5、限流處理:對(duì)超過系統(tǒng)處理能力的請(qǐng)求直接拒絕或回傳錯(cuò)誤碼。
6、MQ場(chǎng)景的訊息可靠性保證,包含producer端的重試機(jī)制、broker側(cè)的持久化、consumer端的ack機(jī)制等。
7、灰階發(fā)布,能支援以機(jī)器維度進(jìn)行小流量部署,觀察系統(tǒng)日誌和業(yè)務(wù)指標(biāo),等運(yùn)行平穩(wěn)後再推全量。
8、監(jiān)控警報(bào):全方位的監(jiān)控體系,包含最基礎(chǔ)的CPU、記憶體、磁碟、網(wǎng)路的監(jiān)控,以及Web伺服器、JVM、資料庫(kù)、各類中介軟體的監(jiān)控和業(yè)務(wù)指標(biāo)的監(jiān)控。
9、災(zāi)備演練:類似當(dāng)前的“混沌工程”,對(duì)系統(tǒng)進(jìn)行一些破壞性手段,觀察局部故障是否會(huì)引起可用性問題。

高可用的方案主要從冗餘、取捨、系統(tǒng)運(yùn)維3個(gè)方向考慮,同時(shí)需要有配套的值班機(jī)制和故障處理流程,當(dāng)出現(xiàn)線上問題時(shí),可及時(shí)跟進(jìn)處理。

? 高擴(kuò)展的實(shí)踐方案

#1、合理的分層架構(gòu):例如上面談到的網(wǎng)路最常見的分層架構(gòu),另外還能進(jìn)一步依照資料存取層、業(yè)務(wù)邏輯層對(duì)微服務(wù)做更細(xì)粒度的分層(但是需要評(píng)估效能,會(huì)存在網(wǎng)路多一跳的情況)。

2、儲(chǔ)存層的拆分:依照業(yè)務(wù)維度做垂直拆分、依照資料特徵維度進(jìn)一步做水平拆分(分庫(kù)分錶)。
3、業(yè)務(wù)層的分割:最常見的是依照業(yè)務(wù)維度拆(例如電商場(chǎng)景的商品服務(wù)、訂單服務(wù)等),也可以依照核心介面和非核心介面拆,也可以依照請(qǐng)求源拆(例如To C和To B,APP和H5)。


#
最後的話

高並發(fā)確實(shí)是一個(gè)複雜且系統(tǒng)性的問題,由於篇幅有限,諸如分散式Trace、全鏈路壓測(cè)、柔性事務(wù)都是要考慮的技術(shù)點(diǎn)。另外,如果業(yè)務(wù)場(chǎng)景不同,高並發(fā)的落地方案也會(huì)有差異,但是整體的設(shè)計(jì)思路和可參考的方案基本上類似。

高並發(fā)設(shè)計(jì)同樣要秉承架構(gòu)設(shè)計(jì)的3個(gè)原則:簡(jiǎn)單、合適和演進(jìn)。 “過早的優(yōu)化是萬惡之源”,不能脫離業(yè)務(wù)的實(shí)際情況,更不要過度設(shè)計(jì),合適的方案就是最完美的。

希望這篇文章能帶給你關(guān)於高並發(fā)更全面的認(rèn)識(shí),如果你也有可藉鑑的經(jīng)驗(yàn)和深入的思考,歡迎評(píng)論區(qū)留言討論。

#

以上是面試官:你對(duì)高並發(fā)了解多少?我:emmm...的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
五個(gè)常見的Go語言面試問題及解答 五個(gè)常見的Go語言面試問題及解答 Jun 01, 2023 pm 08:10 PM

作為近年來備受熱捧的程式語言,Go語言已成為許多公司與企業(yè)的面試熱點(diǎn)。對(duì)於Go語言初學(xué)者而言,在面試過程中遇到相關(guān)問題時(shí),如何回答是一個(gè)值得探討的問題。以下列舉五個(gè)常見的Go語言面試題目及解答,供初學(xué)者參考。請(qǐng)介紹一下Go語言的垃圾回收機(jī)制是如何運(yùn)作的? Go語言的垃圾回收機(jī)制是基於標(biāo)記-清除演算法和三色標(biāo)記演算法。當(dāng)Go程式中的記憶體空間不夠用時(shí),Go垃圾回收器

2023年前端React面試題大總結(jié)(收藏) 2023年前端React面試題大總結(jié)(收藏) Aug 04, 2020 pm 05:33 PM

php中文網(wǎng)作為知名程式設(shè)計(jì)學(xué)習(xí)網(wǎng)站,為您整理了一些React面試題,幫助前端開發(fā)人員準(zhǔn)備和清除React面試障礙。

2023年精選Web前端面試題大全及答案(收藏) 2023年精選Web前端面試題大全及答案(收藏) Apr 08, 2021 am 10:11 AM

本篇文章為大家總結(jié)一些值得收藏的精選Web前端面試題(附答案)。有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)大家有幫助。

50個(gè)你必須掌握的Angular面試題(收藏) 50個(gè)你必須掌握的Angular面試題(收藏) Jul 23, 2021 am 10:12 AM

這篇文章跟大家分享50個(gè)必須掌握的Angular面試題,會(huì)從初學(xué)者-中級(jí)-高級(jí)三個(gè)部分來解析這50個(gè)面試題,帶大家吃透它們!

2023年vue高頻面試題分享(附答案分析) 2023年vue高頻面試題分享(附答案分析) Aug 01, 2022 pm 08:08 PM

本篇文章為大家總結(jié)一些值得收藏的2023年精選vue高頻面試題(附答案)。有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)大家有幫助。

面試官:你對(duì)高並發(fā)了解多少?我:emmm... 面試官:你對(duì)高並發(fā)了解多少?我:emmm... Jul 26, 2023 pm 04:07 PM

高並發(fā),幾乎是每個(gè)程式設(shè)計(jì)師都想擁有的經(jīng)驗(yàn)。原因很簡(jiǎn)單:隨著流量變大,會(huì)遇到各種各樣的技術(shù)問題,例如介面響應(yīng)逾時(shí)、CPU load升高、GC頻繁、死鎖、大數(shù)據(jù)量?jī)?chǔ)存等等,這些問題能推動(dòng)我們?cè)诩夹g(shù)深度上不斷精進(jìn)。

分享2023年最新的28道PHP面試題(附答案) 分享2023年最新的28道PHP面試題(附答案) Mar 03, 2022 pm 01:20 PM

本篇文章為大家整理分享28道PHP面試題(附答案分享),帶你整理基礎(chǔ)知識(shí),有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)大家有幫助。

看看這些前端面試題,帶你搞定高頻知識(shí)點(diǎn)(四) 看看這些前端面試題,帶你搞定高頻知識(shí)點(diǎn)(四) Feb 20, 2023 pm 07:19 PM

每天10題,100天后,搞定所有前端面試的高頻知識(shí)點(diǎn),加油! ! ! ,在看文章的同時(shí),希望不要直接看答案,先思考一下自己會(huì)不會(huì),如果會(huì),自己的答案是什麼?想過之後再與答案比對(duì),是不是會(huì)好一點(diǎn),當(dāng)然如果你有比我更好的答案,歡迎留言區(qū)留言,一起探討技術(shù)之美。

See all articles