面的后端,開始問的我jvm內(nèi)存模型是啥,之前面經(jīng)背過結(jié)果一緊張有點(diǎn)沒答上來。后面感覺問得有些……深(我不知道該不該這么形容吧),問了分布式系統(tǒng)怎么保證線程同步,我除了java中原子類sychronized以及Lock老三樣就想出個信號量(然后面試官還捎帶手問了下我原子類的底層實(shí)現(xiàn)是啥、sychronized的“輕量級”體現(xiàn)在何處),然后面試官推薦我下來了解下ThreadLocal;后面開始問hashmap(感覺最近面得幾家真的喜歡問這個),先是問的基本結(jié)構(gòu)、底層原理我還答得上來,后面問我key適合用什么類型、不適合用什么類型我就有些麻了;后面問我為啥重寫equal方法后還要重寫hashcode方法我也不知道,最后問我hashmap安不安全,這我總算會答了,我說不安全因?yàn)樗艽鎯ull值、安全的話推薦用currenthashmap啥的blabla,然后面試官打斷我問我為啥能存null值就代表線程不安全我也懵逼了,下來百度了下也沒找到答案,有知道的uu可以解惑下?接著是數(shù)據(jù)庫(它問了些我redis的問題,但我壓根不會redis所以他問了些之后就放棄了),數(shù)據(jù)庫他開始問我索引相關(guān)的我能答上來,問我聚簇和非聚簇有啥差別我還能說出個一二,后面他問我什么場合下適合用什么、以及非聚簇得到最底層索引之后還要不要返回表去查數(shù)據(jù)我就徹底懵逼了。最后手撕代碼,先是手撕單例模型,稍有點(diǎn)小失誤但還好,后面他讓我給不安全的懶漢式加鎖我按照??瓦@背的加在getSingleton方法上,他說這效率低了讓我再想想(然后沒想出來);然后是floorsort()方法,求一個數(shù)的開方向下取整,平常我本來應(yīng)該二分查找快速想出來的但是我在之前的一系列打擊下人已經(jīng)麻了,大腦一片混亂下寫了個O(n)的算法被愉悅送走了。最后問項(xiàng)目,他問我如果你回到一年前去處理你當(dāng)時遇到的一個困擾我很久的難題你會怎么處理,然后又問如果領(lǐng)導(dǎo)給你個期限一周的任務(wù)、你三天都沒一點(diǎn)思路你會怎么辦(我說先向公司前輩求助、再到網(wǎng)上求助,看出來他不是很滿意這個回答)最后我讓面試官評價下我這次表現(xiàn),得到個“廣度有余、深度不夠”的評價。面試官人真的很好沒得說(大廠面試官我見過的大都很棒),但是問題屬實(shí)是有點(diǎn)深(也可能是我太菜雞了),分享出來博大家一笑吧。#美團(tuán)信息集散地##23屆找工作求助陣地#