網易面試總結(Java開發)

編程語言 Java 面試 程序員 碼農那些事 碼農那些事 2017-09-09

網易面試總結(Java開發)

本頭條號會不定期分享程序員的面試經驗,以及程序員需要掌握的技術乾貨,喜歡就關注我~

阿里巴巴面試題,看看你能回答出多少?

美團點評面試總結(Java後臺開發)

多線程基本概念總結,面試必備

Java併發編程之多線程基礎(一)

Java併發編程之多線程基礎(二)

一面

1、HashMap和Hashtable的區別

2、HashMap的數據結構,為什麼新添加的節點要添加到鏈表頭部?

3、ConcurrentHashMap支持高併發的原理,段鎖為什麼要採用重入鎖而不是synchronized?

4、講一講AtomicInteger,為什麼要用CAS而不是synchronized?

5、線程池的工作原理,幾個重要參數,然後給了具體幾個參數分析線程池會怎麼做,最後問阻塞隊列的作用是什麼?

6、JMM如何保證內存可見性,Happens-before

7、Java運行時數據區域畫出來,如果有一個對象有一個域是String s = “abc”;,這個s在哪裡,“abc”在哪裡

二面

1、項目介紹,把項目的角色和用戶的表結構畫出來,這個表設計符合幾範式?讓你來改進這個表設計,你會怎麼改?

2、Java反射熟悉嗎?如何訪問一個類的私有成員?私有函數呢?

3、為什麼會出現死鎖?你來寫一個死鎖,如何改一改這個代碼避免死鎖?(我把synchronized改成重入鎖的tryLock)

4、場景設計題,據說是考拉真實場景:

(1)查詢某個用戶收藏了哪些商品;

(2)查詢某個商品被哪些用戶收藏了;

(3)查詢某個商品被收藏的次數;

設計了四個表,用戶表、商品表、收藏表和商品收藏次數表;

如果一個用戶快速點擊收藏按鈕怎麼做?

怎麼在高併發下保證性能?

怎麼保證數據的一致性?等等各種問題。

完。

相關推薦

推薦中...