我拿到了夢寐以求的位元組跳動和騰訊雙offer!終獲offer
阿新 • • 發佈:2021-07-12
我拿到了夢寐以求的位元組跳動和騰訊雙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問
- 從技術角度來說,你覺得你跟前同事比怎麼樣?
- 說一下自己的個人優勢。
- 工作中覺得哪方面欠缺?
- 為什麼想來阿里?阿里的什麼方面吸引了你?
寫在最後
以上就是我的面試過程,為了這次面試,也收集了很多的面試題,反正我已經面過了,那就免費分享出來吧!
需要的朋友:關注一下,然後點選這裡即可免費領取
以下是部分面試題截圖