幾乎是我所見過的最可怕的面試了预茄。刷新了我的三觀岭妖。幾乎沒一個(gè)回答上來(lái)。
自我介紹
手寫HashMap
聽到問題懵逼了。根據(jù)Java源碼的印象寫了二十分鐘昵慌,還剩一堆假夺,大佬讓我停了講講思路。
如何優(yōu)化這個(gè)HashMap
這里講了不能同步斋攀,大佬說是性能方面如何提升已卷,講了源碼的幾個(gè)優(yōu)點(diǎn),大佬說這是已經(jīng)實(shí)現(xiàn)好的淳蔼,現(xiàn)在讓你對(duì)源碼進(jìn)行優(yōu)化侧蘸。投降。
CAS操作是如何實(shí)現(xiàn)的
上面說了同步鹉梨,大佬讓我說說如何同步讳癌,就講了ConcurrentHashMap,提到了CAS存皂。說了下unsafe晌坤,是硬件支持的。大佬繼續(xù)追問底層旦袋,不會(huì)骤菠。
閑聊
幾個(gè)印象深刻的點(diǎn)。還有挺多記得不清楚了疤孕。
- 讓你讀讀Spark源碼需要多久商乎。
- 我們可能不會(huì)用C++的STL庫(kù)(Java的集合庫(kù)),會(huì)自己實(shí)現(xiàn)一個(gè)更合適的祭阀。
- 我們是要對(duì)性能進(jìn)行優(yōu)化鹉戚,不但在軟件層面,在硬件層面也需要進(jìn)行選擇专控。
- 你覺得自己對(duì)這方面有興趣嗎抹凳,因?yàn)閷W(xué)習(xí)曲線很陡峭。
- ACM方面的問題踩官。