美團(tuán)一面(大概率涼面)
面的后端,開始問的我jvm內(nèi)存模型是啥,之前面經(jīng)背過結(jié)果一緊張有點(diǎn)沒答上來。后面感覺問得有些……深(我不知道該不該這么形容吧),問了分布式系統(tǒng)怎么保證線程同步,我除了java中原子類sychronized以及Lock老三樣就想出個(gè)信號(hào)量(然后面試官還捎帶手問了下我原子類的底層實(shí)現(xiàn)是啥、sychronized的“輕量級”體現(xiàn)在何處),然后面試官推薦我下來了解下ThreadLocal;后面開始問hashmap(感覺最近面得幾家真的喜歡問這個(gè)),先是問的基本結(jié)構(gòu)、底層原理我還答得上來,后面問我key適合用什么類型、不適合用什么類型我就有些麻了;后面問我為啥重寫equal方法后還要重寫hashcode方法我也不知道,最后問我hashmap安不安全,這我總算會(huì)答了,我說不安全因?yàn)樗艽鎯?chǔ)null值、安全的話推薦用currenthashmap啥的blabla,然后面試官打斷我問我為啥能存null值就代表線程不安全我也懵逼了,下來百度了下也沒找到答案,有知道的uu可以解惑下?
接著是數(shù)據(jù)庫(它問了些我redis的問題,但我壓根不會(huì)redis所以他問了些之后就放棄了),數(shù)據(jù)庫他開始問我索引相關(guān)的我能答上來,問我聚簇和非聚簇有啥差別我還能說出個(gè)一二,后面他問我什么場合下適合用什么、以及非聚簇得到最底層索引之后還要不要返回表去查數(shù)據(jù)我就徹底懵逼了。
最后手撕代碼,先是手撕單例模型,稍有點(diǎn)小失誤但還好,后面他讓我給不安全的懶漢式加鎖我按照牛客這背的加在getSingleton方法上,他說這效率低了讓我再想想(然后沒想出來);然后是floorsort()方法,求一個(gè)數(shù)的開方向下取整,平常我本來應(yīng)該二分查找快速想出來的但是我在之前的一系列打擊下人已經(jīng)麻了,大腦一片混亂下寫了個(gè)O(n)的算法被愉悅送走了。
最后問項(xiàng)目,他問我如果你回到一年前去處理你當(dāng)時(shí)遇到的一個(gè)困擾我很久的難題你會(huì)怎么處理,然后又問如果領(lǐng)導(dǎo)給你個(gè)期限一周的任務(wù)、你三天都沒一點(diǎn)思路你會(huì)怎么辦(我說先向公司前輩求助、再到網(wǎng)上求助,看出來他不是很滿意這個(gè)回答)
最后我讓面試官評價(jià)下我這次表現(xiàn),得到個(gè)“廣度有余、深度不夠”的評價(jià)。面試官人真的很好沒得說(大廠面試官我見過的大都很棒),但是問題屬實(shí)是有點(diǎn)深(也可能是我太菜雞了),分享出來博大家一笑吧。#美團(tuán)信息集散地##23屆找工作求助陣地#
接著是數(shù)據(jù)庫(它問了些我redis的問題,但我壓根不會(huì)redis所以他問了些之后就放棄了),數(shù)據(jù)庫他開始問我索引相關(guān)的我能答上來,問我聚簇和非聚簇有啥差別我還能說出個(gè)一二,后面他問我什么場合下適合用什么、以及非聚簇得到最底層索引之后還要不要返回表去查數(shù)據(jù)我就徹底懵逼了。
最后手撕代碼,先是手撕單例模型,稍有點(diǎn)小失誤但還好,后面他讓我給不安全的懶漢式加鎖我按照牛客這背的加在getSingleton方法上,他說這效率低了讓我再想想(然后沒想出來);然后是floorsort()方法,求一個(gè)數(shù)的開方向下取整,平常我本來應(yīng)該二分查找快速想出來的但是我在之前的一系列打擊下人已經(jīng)麻了,大腦一片混亂下寫了個(gè)O(n)的算法被愉悅送走了。
最后問項(xiàng)目,他問我如果你回到一年前去處理你當(dāng)時(shí)遇到的一個(gè)困擾我很久的難題你會(huì)怎么處理,然后又問如果領(lǐng)導(dǎo)給你個(gè)期限一周的任務(wù)、你三天都沒一點(diǎn)思路你會(huì)怎么辦(我說先向公司前輩求助、再到網(wǎng)上求助,看出來他不是很滿意這個(gè)回答)
最后我讓面試官評價(jià)下我這次表現(xiàn),得到個(gè)“廣度有余、深度不夠”的評價(jià)。面試官人真的很好沒得說(大廠面試官我見過的大都很棒),但是問題屬實(shí)是有點(diǎn)深(也可能是我太菜雞了),分享出來博大家一笑吧。#美團(tuán)信息集散地##23屆找工作求助陣地#
全部評論
hashmap不安全指的是線程不安全,沒有做并發(fā)相關(guān)處理,不能存null是指防止出現(xiàn)歧義。
concurrentHashmap不能存儲(chǔ)null是因?yàn)樗恢肋@個(gè)null是因?yàn)椴淮嬖谶€是本來就是存的null,導(dǎo)致歧義
什么部門呀
“領(lǐng)導(dǎo)給你個(gè)期限一周的任務(wù)、你三天都沒一點(diǎn)思路你會(huì)怎么辦”兄弟們這個(gè)應(yīng)該咋答?
兄弟們哪里看是不是進(jìn)人才庫啊
單例那個(gè)鎖的最外層加個(gè)判空可以解決效率問題,不用每一次進(jìn)方法都鎖住
hashmap不安全是因?yàn)闆]做線程安全處理,比如鎖之類的,就導(dǎo)致put的時(shí)候可能會(huì)覆蓋掉
不是秒進(jìn)人才庫就還有機(jī)會(huì)
嘟嘟嘟
單例是要寫雙重檢查的那個(gè)么
非聚簇的數(shù)據(jù)與節(jié)點(diǎn)不分離,找到節(jié)點(diǎn)就可以找到數(shù)據(jù),是不用回表的。聚簇索引以innodb為例,二級索引的葉子節(jié)點(diǎn)存儲(chǔ)主鍵的值,所以需要用這個(gè)主鍵回表查詢主鍵索引,再得到對應(yīng)的值
上上周面的,問的比樓主難,有幾個(gè)沒答好,掛了
有結(jié)果了嗎
相關(guān)推薦
點(diǎn)贊 評論 收藏
分享
05-11 20:45
贛南科技學(xué)院 Java 點(diǎn)贊 評論 收藏
分享