阿里一面就被虐了,幸獲內推華為技術四面,成功拿到offer

java架構00發表於2020-10-24

上個月,哥們從某小廠離職,轉投阿里雲,簡歷優秀,很順利地拿到了面試通知,但之後的進展卻讓哥們懷疑人生了,或者說讓哥們懵逼的是,面試阿里雲居然第一面就被吊打?讓哥們開始懷疑自己,是不是這些年工作下來,自己沒有一丁點的進步呢?

幸運的是,經過他朋友推薦,去面試了華為,面試華為的過程極為順利,很快就拿到了offer。這讓哥們更弄不懂了,4面拿華為offer的水平,面試阿里居然一面就被吊打?

索性,哥們想分享一下這次的面試經歷,讓各位老鐵好好幫他參考參考,出一出主意!

另外,我下文還整理了一些哥們的複習資料,有需要的朋友關注之後掃一掃加"VX" 即可免費領取!

阿里一面涼經(一面竟然就問了2小時,什麼情況?)

這次一面感覺是在打心理戰,哥們自己的心裡防線基本是被擊潰,面到懷疑人生的程度,所以過程感覺不是太好,很多題哥們自己也感覺沒答好,要麼答得“缺胳膊少腿”,要麼就是“畫蛇添足”。

  1. 先是聊專案,從專案的架構設計到部署流程。
  2. Java容器有哪些?哪些是同步容器,哪些是併發容器?
  3. ArrayList和LinkedList的插入和訪問的時間複雜度?
  4. Java反射原理, 註解原理?
  5. 新生代分為幾個區?使用什麼演算法進行垃圾回收?為什麼使用這個演算法?
  6. HashMap在什麼情況下會擴容,或者有哪些操作會導致擴容?
  7. HashMap push方法的執行過程?
  8. HashMap檢測到hash衝突後,將元素插入在連結串列的末尾還是開頭?
  9. 1.8還採用了紅黑樹,講講紅黑樹的特性,為什麼人家一定要用紅黑樹而不是AVL、B樹之類的?
  10. https和http區別,有沒有用過其他安全傳輸手段?
  11. 執行緒池的工作原理,幾個重要引數,然後給了具體幾個引數分析執行緒池會怎麼做,最後問阻塞佇列的作用是什麼?
  12. Linux怎麼檢視系統負載情況?
  13. 請詳細描述springmvc處理請求全流程?
  14. 講一講AtomicInteger,為什麼要用CAS而不是synchronized?
  15. 查詢中哪些情況不會使用索引?
  16. 資料庫索引,底層是怎樣實現的,為什麼要用B樹索引?
  17. Mysql主從同步的實現原理?
  18. MySQL是怎麼用B+樹?
  19. 談談資料庫樂觀鎖與悲觀鎖?
  20. 有使用過哪些NoSQL資料庫?MongoDB和Redis適用哪些場景?
  21. 描述分散式事務之TCC服務設計?
  22. Redis和memcache有什麼區別?Redis為什麼比memcache有優勢?
  23. 考慮redis的時候,有沒有考慮容量?大概資料量會有多少?
  24. 談談分散式鎖、以及分散式全域性唯一ID的實現比較?
  25. 叢集監控的時候,重點需要關注哪些技術指標?這些指標如何最佳化?
  26. 從千萬的資料到億級的資料,會面臨哪些技術挑戰?你的技術解決思路?
  27. 最近兩年遇到的最大的挫折,從挫折中學到了什麼?
  28. 最近有沒有學習過新技術?

華為四面:3輪技術面+HR面(華為真經,值得參考)

華為面試過程很順,一面問得比較基礎,所以哥們整個人都還挺自信的一個狀態,面試官也全程是一個比較“和藹”的問題方式,所以比較輕鬆,因此面試得順利,拿offer也快。以下是哥們華為4面的技術題,不包括HR面。

華為技術一面:

  1. 簡單說一下物件導向的特徵以及六大原則
  2. 談談final、finally、finalize的區別
  3. Java中==、equals與hashCode的區別和聯絡
  4. 談談Java容器ArrayList、LinkedList、HashMap、HashSet的理解,以及應用場景
  5. 談談執行緒的基本狀態,其中的wait() sleep() yield()方法的區別。
  6. JVM效能調優的監控工具瞭解那些?
  7. 簡單談談JVM記憶體模型,以及volatile關鍵字
  8. 垃圾收集器與記憶體分配策略
  9. 垃圾收集演算法
  10. MySQL幾種常用的儲存引擎區別
  11. 資料庫的隔離級別
  12. 5億整數的大檔案,怎麼排?

華為技術二面:

  1. Java記憶體模型
  2. full gc怎麼觸發?
  3. gc演算法
  4. JVM回收策略
  5. ClassLoader原理和應用
  6. 高吞吐量的話用哪種gc演算法
  7. ConcurrentHashMap和HashMap
  8. volatile的底層如何實現,怎麼就能保住可見性了?
  9. 有參與過開源的專案嗎?
  10. 執行緒池原理,拒絕策略,核心執行緒數
  11. 1億個手機號碼,判斷重複
  12. 執行緒之間的互動方式有哪些?有沒有執行緒互動的封裝類 (join)?

華為技術三面:

  1. 兩次點選,怎麼防止重複下訂單?
  2. 資料庫表設計,索引
  3. Redis的快取淘汰策略、更新策略
  4. dubbo、netty、RPC介紹原理
  5. 限流演算法
  6. zk掛了怎麼辦?
  7. 分散式鎖的實現方式,zk實現和Redis實現的比較
  8. 秒殺場景設計,應付突然的爆發流量
  9. 分散式資料一致性
  10. 一致性雜湊
  11. 訊息佇列原理介紹
  12. 註解的原理
  13. 資料庫原理,資料庫中介軟體,索引最佳化
  14. ioc原理、aop原理和應用
  15. 大資料相關,MapReduce
  16. Docker的原理

2019大廠面試題及答案

懵逼!阿里一面就被虐了,幸獲內推華為技術四面,成功拿到offer


懵逼!阿里一面就被虐了,幸獲內推華為技術四面,成功拿到offer


懵逼!阿里一面就被虐了,幸獲內推華為技術四面,成功拿到offer


實際上,哥們並不是一個幸運的人,而是一個努力的人,今天的這些,也全是靠哥們的努力得來的,儘管阿里雲一面就涼,但能進入華為,也算是哥們多年的累積, 以下是哥們分享的個人的一個學習方法和經驗總結。

學習方法及經驗總結

以下所展示的全部資料,均可以免費分享掃一掃加"VX" 即可免費獲取。

(1)多刷題

自己多刷一些面試題是非常重要的,即使是在自己不需要面試的情況下,也要經常瞭解現在的大廠小廠面試都會問一些什麼?現在比較流行的技術是什麼等等諸如此類。那麼哥們是如何刷題的呢?刷題主要分為Java技術以及演算法兩大類,蒐集了目前比較新的一些題冊,包括【Java核心知識】以及【演算法刷題】,如演算法方面就有LeetCode。

演算法刷題LeetCode:

懵逼!阿里一面就被虐了,幸獲內推華為技術四面,成功拿到offer


懵逼!阿里一面就被虐了,幸獲內推華為技術四面,成功拿到offer


(2)多看看技術牛的實戰書

實際上很多人目前的一個狀態是缺乏實戰經驗,或者說是不知道該如何上手實戰。那麼,看一些技術比較過硬的大牛寫的實戰書籍對自己是很有好處的,多少能夠學習到一些實戰經驗。目前我手上整理到的實戰書籍也算是比較全面, 包括Spring全家桶、JVM、併發程式設計技術、Redis相關、MySQL調優、Tomcat、ZooKeeper等高階技術。

懵逼!阿里一面就被虐了,幸獲內推華為技術四面,成功拿到offer


(3)多交流,多思考

最後要強調的重點就是——多交流,多思考。現在很多程式設計師陷入一個怪圈,整天只會在辦公室裡機械的工作,實際上程式設計師要想有很大很明顯的進步,交流是少不了的。那麼怎麼結識比自己厲害的技術牛呢?實際上渠道有很多, 哥們個人的做法是:①看一些技術直播,在直播間交友;②加一些技術性的交流群,多交流問題;③參加一些線下活動,如面基、研討會等等。

寫在最後

學習如攀登,雖然有身心的疲憊,但更有沿途的優美風光,更無論登頂之後的極目遠眺。之後,你總會感嘆曾經的付出是值得的。

以上所展示的面試題也好、學習資料也罷, 均可以免費分享給大家,有需要的老鐵掃一掃加"VX" 即可免費獲取。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69985897/viewspace-2729393/,如需轉載,請註明出處,否則將追究法律責任。

相關文章