1. 程式人生 > 其它 >我拿到了夢寐以求的位元組跳動和騰訊雙offer!終獲offer

我拿到了夢寐以求的位元組跳動和騰訊雙offer!終獲offer

我拿到了夢寐以求的位元組跳動和騰訊雙offer!終獲offer

阿里巴巴Java崗面試題分享

1.HashMap 的內部結構?內部原理?和 HashTable 的區別,假如發?了 hash 碰撞,如何設計能讓遍歷效率??

2.講一講講講 ConcurrentHashMap吧。

3.講一下JVM虛擬機器記憶體結構,以及它們的作?。

4.講講JVM的類載入過程&&雙親委派模型。

5.談談Java的垃圾回收演算法。

6.談談Java垃圾回收的觸發條件。

7.synchronized和Lock的區別。

8.volatile的作?,為什麼會出現變數讀取不?致的情況,與 synchronized 的區別?

9.++i 在多執行緒環境下是否存在問題,怎麼解決?

10.講一講Thread.sleep() 和 Thread.yield() 區別?

11.講講常?的容器類?

12.如何去除 ArrayList 的重複元素?

  • 直接採? HashSet 即可。作為它的引數,然後再 addAll。但這種?式不能保證原來的順序,如果要求順序,可以使? LinkedHashSet 即可。

13.講講 Java 的泛型擦除,泛型主要是為了解決什麼問題?如何?泛型做 Json 的解析的?

14.談談 Java 的 Error 和 Exception 的區別聯絡。

  • Error 和 Exception 均整合? Throwable,但 Error ?般指的是和虛擬機器相關的問題,?如系統崩潰,虛擬機器錯誤,OOM 等,遇到這樣的錯誤,程式應該被終?。? Exception 表示程式可以處理的異常,可以捕獲並且可能恢復。

15.說一下軟引?和弱引?的區別?

16.成員變數和靜態?法可以被重寫麼?重寫的規則是怎樣的?

17.內部類訪問區域性變數的時候,為什麼變數必須加上fifinal修飾符?

  • 因為?命週期不同。

18.什麼情況會造成記憶體洩漏?

19.什麼是執行緒死鎖,如何解決?

20.十億條淘寶購買記錄,怎麼獲取出現最多的前十個 ?

  • 這是一道典型的有限記憶體的海量資料處理的題目。一般這類題目的解答無非是以下幾種:
  • 分治,hash對映,堆排序,雙層桶劃分,Bloom Filter,bitmap,資料庫索引,mapreduce等。
  • 具體情形都有很多不同的方案。這類題目可以到網上搜索一下,瞭解下套路,後面就基本都會了。

21.說一下Innodb和MySIAM的區別

22.說一下jvm記憶體模型,介紹一下你瞭解的垃圾收集器

  • 其實並沒有jvm記憶體模型的概念。應該是Java記憶體模型或者jvm記憶體結構,這裡面試者一定要聽清楚問的是哪個,再回答。

23.如何訪問連結串列中間節點

  • 對於這個問題,我們首先能夠想到的就是先遍歷一遍整個的連結串列,然後計算出連結串列的長度,進而遍歷第二遍找出中間位置的資料。這種方式非常簡單。
  • 若題目要求只能遍歷一次連結串列,那又當如何解決問題?
  • 可以採取建立兩個指標,一個指標一次遍歷兩個節點,另一個節點一次遍歷一個節點,當快指標遍歷到空節點時,慢指標指向的位置為連結串列的中間位置,這種解決問題的方法稱為快慢指標方法。

23.HR問

  • 從技術角度來說,你覺得你跟前同事比怎麼樣?
  • 說一下自己的個人優勢。
  • 工作中覺得哪方面欠缺?
  • 為什麼想來阿里?阿里的什麼方面吸引了你?

寫在最後

以上就是我的面試過程,為了這次面試,也收集了很多的面試題,反正我已經面過了,那就免費分享出來吧!

需要的朋友:關注一下,然後點選這裡即可免費領取

以下是部分面試題截圖