java面試必問題你在項目中碰到過什么問題?
『如果讓你來做HashMap擴容,如何實現在不影響讀寫的情況下擴容?』我覺得逼格高,不是體現在問題多刁鉆,知識點多深,而是一個非常明確,無歧義的問題,能考察出面試者多方面的能力。這個問題背后:
1.了解java中,HashMap的實現;如果一個面試者了解這一點,說明至少他關心過java提供的數據類型的實現,甚至極可能看過源碼,他應該不會是一個純粹的苦力。
2.知道『不影響讀寫的情況下擴容』是什么含義,說明他在工作中了解多線程的相關知識。
3.如果他能提到ConcurrentHashMap中的相關內容,說明他日常編程中有使用到concurrent包,可以繼續聊聊,否則他對多線程的使用可能非常初級。
4.如果他能提出一些解決方案,即使不完整,也能看出他對類似cas等算法、分布式一致性等問題的了解程度。這問題是面試官問我的···