個(gè)人背景介紹
2017年畢業(yè)于一所不知名雙非本科大學(xué)履澳,畢業(yè)時(shí)就有著一顆想進(jìn)大廠的心嘶窄,但又想留在成都,不愿意去北上廣距贷,現(xiàn)在其實(shí)相當(dāng)后悔柄冲。當(dāng)年在成都的大廠少之又少,再加上校招時(shí)非常努力地玩耍忠蝗,導(dǎo)致投的幾個(gè)大廠面試都全部掛掉现横。也錯(cuò)失了進(jìn)大廠最好的機(jī)會(huì),所以我奉勸大三的同學(xué)如果對(duì)自己的職業(yè)有追求什湘,有進(jìn)大廠的夢(mèng)想长赞,在大三的時(shí)候一定要好好準(zhǔn)備,在校招的時(shí)候拿offer闽撤。
最后我在成都一家本地科技公司做了Java開(kāi)發(fā)得哆,中間也跳過(guò)一次槽,也是做的Java哟旗。但這幾年時(shí)間里總感覺(jué)公司能給的成長(zhǎng)太慢贩据,雖然自己也在學(xué)習(xí)栋操,還是免不了焦慮,特別是像自己這種學(xué)歷和公司背景都一般的程序員饱亮,要保證自己以后不被淘汰矾芙,必須得做點(diǎn)什么。所以在聽(tīng)到一個(gè)前同事被公司裁掉近上,最后進(jìn)入大廠這個(gè)事情之后剔宪,徹底點(diǎn)燃了我心中想進(jìn)大廠的那把火,我也準(zhǔn)備內(nèi)推試試字節(jié)跳動(dòng)壹无。
自身情況
因?yàn)橐咔樵虼腥蓿芏嗥髽I(yè)生存困難。我也保持了理智斗锭,沒(méi)有辭職進(jìn)行面試地淀。而是給自己制定了學(xué)習(xí)計(jì)劃,不得不說(shuō)岖是,在職的情況下復(fù)習(xí)確實(shí)很難帮毁,因?yàn)榭赡芗影啻騺y計(jì)劃。于是我把所有能利用的個(gè)人時(shí)間全部利用了起來(lái)豺撑,比如早上十點(diǎn)上班烈疚,我六點(diǎn)鐘就會(huì)起床,刷兩個(gè)小時(shí)LeetCode聪轿,八點(diǎn)鐘洗漱之后去上班胞得。晚上如果有時(shí)間就會(huì)把早上刷過(guò)的題拿出來(lái)繼續(xù)復(fù)習(xí),花了兩個(gè)月的時(shí)間屹电,一邊復(fù)習(xí)(預(yù)習(xí))數(shù)據(jù)結(jié)構(gòu),一邊做題跃巡,LeetCode上面的高頻題基本都過(guò)了一遍危号。花了那么多時(shí)間刷題素邪,都是因?yàn)樽约核惴ㄌ送饬郧皼](méi)有進(jìn)行專(zhuān)門(mén)的練習(xí)。題做得差不多之后兔朦,就開(kāi)始復(fù)習(xí)專(zhuān)業(yè)知識(shí)了偷线,具體內(nèi)容我都會(huì)總結(jié)出來(lái)。前前后后準(zhǔn)備了三個(gè)月沽甥,我才敢進(jìn)行內(nèi)推声邦,經(jīng)歷了八次面試之后,面試時(shí)間又持續(xù)三個(gè)月摆舟,皇天不負(fù)有心人亥曹,終于在這個(gè)月等到了oc邓了。
下面是面試內(nèi)容,時(shí)間太久了媳瞪,可能記得不太全骗炉,但基本上包含了所有問(wèn)題,白天上班蛇受,我都是選擇晚上進(jìn)行面試句葵,哈哈
一面A部門(mén)
- 講項(xiàng)目,串起來(lái)講兢仰,可能遇到的問(wèn)題乍丈,怎么解決,怎么實(shí)現(xiàn)旨别,講了發(fā)送客服消息
- Spring里面的bean怎么回事
- HashMap和ConcurrentHashMap诗赌,HashMap中的紅黑樹(shù),兩者rehash的區(qū)別
- Mysql的一致性是什么秸弛,數(shù)據(jù)庫(kù)redolog铭若,undo log,MySQL的索引結(jié)構(gòu)递览,為什么二級(jí)索引葉子節(jié)點(diǎn)不能直接存儲(chǔ)行數(shù)據(jù)的指針叼屠,這樣可以不回表,怎么考慮的绞铃?
- redis里面的zset镜雨,跳表怎么實(shí)現(xiàn),怎么增刪儿捧,
- redis是怎么rehash的
- 算法荚坞,二叉樹(shù)轉(zhuǎn)雙向鏈表
二面A部門(mén)
- 自我介紹
- 再一次聊項(xiàng)目,功能菲盾,架構(gòu)颓影,角色,量級(jí)
- Spring里面有哪些設(shè)計(jì)模式
- SpringMVC和SpringBoot有什么區(qū)別
- SpringBoot的自動(dòng)配置是怎么實(shí)現(xiàn)的
- 剛剛你說(shuō)了線(xiàn)程池懒鉴,你線(xiàn)程池是用的什么诡挂,參數(shù)有哪些,為什么這么設(shè)置
- 線(xiàn)程池核心線(xiàn)程滿(mǎn)了怎么辦临谱,里面的阻塞隊(duì)列是干什么的
- 說(shuō)說(shuō)ThreadLocal是什么
- CAP理論知道嗎璃俗,為什么不能同時(shí)滿(mǎn)足
- Redis里面的數(shù)據(jù)結(jié)構(gòu)有什么場(chǎng)景
- Redis怎么實(shí)現(xiàn)鎖(redis鎖的所有坑都說(shuō)了一遍)
- 分布式事務(wù)知道嗎,有哪些方案(說(shuō)了2PC悉默,3PC城豁,TCC,MQ)
- 算法題麦牺,樹(shù)的直徑
- 有什么要問(wèn)我的
三面A部門(mén)
- 介紹項(xiàng)目
- 場(chǎng)景題钮蛛,設(shè)計(jì)一個(gè)朋友圈鞭缭,讀QPS 1000w,寫(xiě)QPS 10w
- 算法題LFU
- 你有什么問(wèn)題
- 這個(gè)面試官是個(gè)leader魏颓,比較強(qiáng)勢(shì)岭辣,很多細(xì)節(jié)回答的不是很好,所以臉色一直不好甸饱,給人壓力較大沦童,面完就覺(jué)得涼了瘩燥。果然面完之后和前兩次不一樣空骚,HR那里就沒(méi)有任何通知了,到這里還是很失落伟姐,準(zhǔn)備了那么久驼壶,因?yàn)樽詈笠幻鏇](méi)表現(xiàn)好導(dǎo)致掛掉氏豌。之后等了一個(gè)月,這一個(gè)月沒(méi)有任何消息热凹,一個(gè)月過(guò)后又接到字節(jié)HR的電話(huà)泵喘,說(shuō)我之前兩面面評(píng)都不錯(cuò),讓我試試他們部門(mén)般妙,我就同意了纪铺。
一面B部門(mén)
- 介紹項(xiàng)目,細(xì)節(jié)
- 怎么做服務(wù)拆分碟渺,邊界怎么劃分的
- 分布式之后會(huì)遇到什么問(wèn)題鲜锚,CAP的各個(gè)情況介紹一下
- dubbo調(diào)用過(guò)程是怎樣的,PB知道嗎
- thrift了解過(guò)嗎
- zk介紹一下苫拍,有哪些節(jié)點(diǎn)類(lèi)型芜繁,特點(diǎn)
- 怎么知道項(xiàng)目中接口的重要性,怎么做監(jiān)控绒极,你說(shuō)的自動(dòng)化測(cè)試是怎么做到的(這個(gè)問(wèn)題回答完浆洗,他笑了。集峦。。)
- 你所理解的SLA是什么抠刺,要達(dá)到什么等級(jí)
- 說(shuō)說(shuō)你理解的k8s
- nginx的upstream是干什么的
- nginx有哪些負(fù)載均衡策略
- 算法題:島嶼數(shù)量
- 你有什么問(wèn)題要問(wèn)我
二面B部門(mén)
- 介紹項(xiàng)目塔淤,細(xì)節(jié)
- 鎖有哪些實(shí)現(xiàn)方式
- 分布式鎖的實(shí)現(xiàn)方式
- JVM的內(nèi)存模型,垃圾回收算法
- MySQL的事務(wù)介紹速妖,ACID的實(shí)現(xiàn)原理是什么(想問(wèn)MySQL的日志)
- HashMap的原理高蜂,其他線(xiàn)程安全的Map
- Redis的高可用,有哪些持久化方式
- Redis的數(shù)據(jù)結(jié)構(gòu)罕容,線(xiàn)程模型
- 用過(guò)什么消息隊(duì)列备恤,有什么特點(diǎn)
- 怎么保證消息冪等消費(fèi)
- docker的網(wǎng)絡(luò)模式
- 算法題:比較版本號(hào)
- 提問(wèn)
三面B部門(mén)(交叉面)
- 介紹項(xiàng)目稿饰,細(xì)節(jié)
- Linux的內(nèi)存管理
- 瀏覽器打開(kāi)一個(gè)網(wǎng)站的過(guò)程中會(huì)經(jīng)歷哪些網(wǎng)絡(luò)處理,DNS的具體過(guò)程是啥
- zk是什么分布式模型(想問(wèn)的CAP定理)露泊,主從怎么做選舉
- zk只有一個(gè)主節(jié)點(diǎn)喉镰,寫(xiě)性能不高,zk怎么解決的
- etcd或consul知道嗎
- 多個(gè)服務(wù)中如何快速排查問(wèn)題
- Redis中的淘汰方式有哪些惭笑,Redis性能高的原因是啥
- docker的實(shí)現(xiàn)原理
- 算法題:相交鏈表
四面B部門(mén) (leader面)
- 介紹項(xiàng)目侣姆,細(xì)節(jié)
- 項(xiàng)目量級(jí)多大,QPS最高的接口是怎么做的
- rpc怎么實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)
- zk中的watch機(jī)制是怎么實(shí)現(xiàn)的
- 分布式鎖有哪些實(shí)現(xiàn)沉噩,MySQL捺宗,zk,Redis都說(shuō)了一遍川蒙,并且分析了各自的優(yōu)缺點(diǎn)蚜厉,這個(gè)問(wèn)題問(wèn)的頻率太高了
- 怎么提高數(shù)據(jù)庫(kù)讀寫(xiě)性能
- k8s了解嗎
- servicemesh有做過(guò)嗎
五面B部門(mén)(HR面)
- 離職原因
- 職業(yè)規(guī)劃
- 期望薪資
基礎(chǔ)知識(shí)
- 常用集合、數(shù)據(jù)結(jié)構(gòu)(數(shù)據(jù)增刪改查操作的原理具體實(shí)現(xiàn)畜眨、各參數(shù)的含義昼牛,以及如何組合使用)
- Java的語(yǔ)法,OO的思想要熟悉胶果,常用設(shè)計(jì)模式要知道場(chǎng)景
- JVM內(nèi)存模型匾嘱,垃圾回收算法,垃圾收集器的區(qū)別早抠,GC調(diào)優(yōu)
- 線(xiàn)程模型
- IO模型(包括操作系統(tǒng)底層IO模型和常見(jiàn)BIO霎烙、NIO、AIO蕊连、IO多路復(fù)用的原理)
- Redis(數(shù)據(jù)結(jié)構(gòu)的內(nèi)部實(shí)現(xiàn)悬垃、淘汰原理策略、持久化甘苍、集群尝蠕、擴(kuò)容、數(shù)據(jù)同步载庭、以及一些常見(jiàn)緩存問(wèn)題的解決方案)
- MySQL(索引原理看彼,查詢(xún)優(yōu)化,三大日志)
- 消息隊(duì)列(內(nèi)部原理囚聚,常見(jiàn)消息問(wèn)題解決方案)
- 分布式原理靖榕、算法、rpc原理(paxos顽铸、raft茁计、zookeeper的原理)
- 分布式場(chǎng)景題(高可用,高性能相關(guān))
其他知識(shí)
- 位運(yùn)算
- 大數(shù)據(jù)量操作(在有限時(shí)間內(nèi)完成谓松、在有限空間內(nèi)完成)
- 設(shè)計(jì)題(看一些常見(jiàn)的分布式ID星压、分布式計(jì)數(shù)服務(wù)等等)
算法
- 數(shù)組
- 鏈表
- 位運(yùn)算
- 二叉樹(shù)(dfs践剂,bfs,相當(dāng)重要娜膘,只要會(huì)了二叉樹(shù)逊脯,回溯那些算法也會(huì)了)
- 設(shè)計(jì)題
- LRU/LFU
- 排序
- 查找
總結(jié)
我給大家的建議就是慢慢來(lái),不管是社招還是校招劲绪,制定自己的計(jì)劃男窟,一定要有自己的知識(shí)體系,針對(duì)自己薄弱的地方進(jìn)行強(qiáng)化復(fù)習(xí)贾富,不放過(guò)任何一個(gè)細(xì)節(jié)歉眷。
簡(jiǎn)歷上寫(xiě)的東西一定要會(huì),一般都是針對(duì)簡(jiǎn)歷來(lái)提問(wèn)的颤枪。如果在預(yù)習(xí)的過(guò)程中感到困難或者吃力汗捡,那就對(duì)了,等你熬過(guò)去了畏纲,就是勝利扇住。祝福大家都能拿到滿(mǎn)意的offer。
最后
歡迎關(guān)注公眾號(hào):前程有光盗胀,領(lǐng)取一線(xiàn)大廠Java面試題總結(jié)+各知識(shí)點(diǎn)學(xué)習(xí)思維導(dǎo)+一份300頁(yè)pdf文檔的Java核心知識(shí)點(diǎn)總結(jié)艘蹋! 這些資料的內(nèi)容都是面試時(shí)面試官必問(wèn)的知識(shí)點(diǎn),篇章包括了很多知識(shí)點(diǎn)票灰,其中包括了有基礎(chǔ)知識(shí)女阀、Java集合、JVM屑迂、多線(xiàn)程并發(fā)浸策、spring原理、微服務(wù)惹盼、Netty 與RPC 庸汗、Kafka、日記手报、設(shè)計(jì)模式蚯舱、Java算法、數(shù)據(jù)庫(kù)掩蛤、Zookeeper晓淀、分布式緩存、數(shù)據(jù)結(jié)構(gòu)等等盏档。