最新頭條三面面試題匯總

往期全套面試題+答案領(lǐng)取方式:關(guān)注公眾號【Java爛豬皮】后臺回復【666】
頭條一面
特別說明:頭條是唯一一家需要你的代碼在牛客網(wǎng)那個IDE下AC的公司,直接面試官可能會給你測試樣例讓你測試,一般給20分鐘
算法:找零錢
Redis為什么這么快?多路復用io模型?跟多線程對比?select epoll模型?
epoll怎么實現(xiàn)的?都用了哪些存儲結(jié)構(gòu)?什么時候就緒事件?回掉函數(shù)在哪里注冊?epoll是怎么使用的步驟?epoll wait干了什么?給redis服務端發(fā)送get數(shù)據(jù)請求,是如何處理的?zset數(shù)據(jù)結(jié)構(gòu)是什么樣的?為什么采用跳表?insert一個數(shù)據(jù)是怎么樣的流程?get一個數(shù)據(jù)是怎么樣的流程?多級索引是怎么更新的?如何確定一個數(shù)據(jù)在第幾層?各自的時間復雜度是多少?你覺得還有什么優(yōu)化的地方?
Redis的高性能是怎么實現(xiàn)的?多主多從?一主多從?各自插入一個key的時候是什么樣的流程?主從復制是什么樣的?怎么強一致性?什么情況下不適合?主掛了,各自的選舉是什么樣的?怎么完成主備切換的?如果主掛了,從沒復制完全,會出現(xiàn)什么問題?什么樣的情況下可以使用這樣的組群方式?什么樣的情況下不適合?
raft協(xié)議 paxos算法
http狀態(tài)碼 300 400 500 499
dos ddos drdos 如何避免?怎么預防?怎么發(fā)現(xiàn)?利用了TCP什么特點?怎么改進TCP可以預防?服務端處理不了的請求怎么辦?連接數(shù)最大值需要設(shè)置嗎?怎么設(shè)置?
Thrift RPC過程是什么樣子的?異構(gòu)系統(tǒng)怎么完成通信?跟http相比什么優(yōu)缺點?了解grpc嗎?
https http1.1 2.0 3.0
hashmap如果的確需要很大容量的數(shù)據(jù)去操作的時候,怎么辦?怎么優(yōu)化?
頭條二面
linux fork子進程 如果在線程中fork會怎么樣?如果總共就4g內(nèi)存,一個進程有10個線程,在線程中fork,能不能fork出來?
TCP連接server端跟client端都有幾種狀態(tài)
linux作為client端可以最多建立多少個tcp連接?作為server端呢?
建立tcp連接時,如何connect時候阻塞了,那么怎么能不阻塞,去干別的事情?
linux怎么監(jiān)控cpu運行情況?端口連接情況?tcp連接情況?占用了多少內(nèi)存?
epoll 多個請求怎么處理?fd什么時候可讀,什么時候可寫?epoll模型有沒有用到什么隊列去等待的,來一個請求處理一個嗎?能寫處理流程的一些偽代碼嗎?
Redis是怎么處理請求的?單機的qps是多少?如果一直用get,你覺得達到qps的頂點,它的限制點在哪里?怎么能夠突破峰值qps?怎么用單線程處理的請求?如何解決單機qps達到峰值的問題?
redis分布式鎖,怎么樣實現(xiàn)?怎么理解?不用redis可以嗎?有什么問題?生產(chǎn)上出現(xiàn)過問題嗎?為什么會出現(xiàn)?怎么優(yōu)化?考慮過zk嗎?單機redis分布式鎖?集群狀態(tài)下分布式鎖?主從下分布式鎖?都是什么情況?redlock怎么理解?
系統(tǒng)怎么算高可用?多部署機器能實現(xiàn)什么?有什么弊端?有什么優(yōu)勢?怎么實現(xiàn)高可用?多部署機器能實現(xiàn)高可用嗎?熔斷機制是什么?怎么實現(xiàn)?
頭條三面
算法:兩個有序數(shù)組間相加和的Topk問題
分庫分表 數(shù)量級 系統(tǒng)qps 聚合怎么做?
擴容怎么做?
redis 淘汰策略?超過最大內(nèi)存限制發(fā)生什么?redis什么時候會慢?redis持久化機制
nosql es能解決什么問題?hbase呢?
強一致性?弱一致性?適用什么場合?***web端怎么實現(xiàn)強一致性?怎么設(shè)計緩存?

騰訊、阿里、滴滴后臺面試題匯總總結(jié) — (含答案)
面試:史上最全多線程面試題 !
最新阿里內(nèi)推Java后端面試題
JVM難學?那是因為你沒認真看完這篇文章

關(guān)注作者微信公眾號 —《JAVA爛豬皮》
了解更多java后端架構(gòu)知識以及最新面試寶典


看完本文記得給作者點贊+在看哦~~~大家的支持,是作者源源不斷出文的動力
