Java進階備戰金九銀十88道真題:多線程+集合+鎖+JVM+數據庫+算法

工作兩年有餘,本人第一份工作是在一家外包公司
第二份工作是在一家做SAAS平臺的公司

Java進階備戰金九銀十88道真題:多線程+集合+鎖+JVM+數據庫+算法

第一家公司讓我入門,進入了軟件開發的行業,瞭解了一些基礎的東西;第二家公司由於規模不大,很多活兒都是一個人來做,從產品到開發、測試、運維我都瞭解了,對於整體的軟件開發流程有了很大的瞭解。但是,為了自己的更好發展,決定去一家大公司,於5月初提出了離職,雖然領導挽留,但是我還是離職了,然後我自己面試了很多家公司,大公司小公司都有,積累了足夠的經驗,開始向大公司投遞簡歷,面了幾家之後,終於拿到了自己滿意的offer,我是在積累了足夠的經驗之後才提出離職的,離職時一件很重大的事情,自己要慎重考慮,要從職業發展和個人規劃上考慮清楚再去做出選擇。

大公司面試考驗基礎和項目經驗,小公司比較偏向於項目經驗。這裡我都總結下,給大家一個參考,希望可以幫助到正在面臨跳槽的同志,文末有答案附送。

Java基礎

  1. Java基本數據類型
  2. 原始數據類型和封裝類的區別
  3. String、StringBuffer、StringBuilder區別
  4. 運行時異常和非運行時異常區別
  5. 簡述一下面向對象的特徵,並舉例說明你對面向對象的理解
  6. 正則表達式的用法
  7. Java 語言如何進行異常處理,關鍵字:throws、throw、try、catch、finally分別代表什麼意義?finally代碼是在return之後還是之前執行?
  8. abstract class和interface有什麼區別?接口可以繼承接口嗎?接口可以繼承抽象類嗎,為什麼?
  9. 構造器(constructor)是否可被重寫(override)?
  10. 是否可以繼承String類?
  11. Java 中的final關鍵字有哪些用法?
  12. try{}裡有一個return語句,那麼緊跟在這個try後的finally{}裡的代碼會不會被執行,什麼時候被執行,在return前還是後?
  13. 闡述final、finally、finalize的區別。
  14. 如何通過反射創建對象?
  15. Java 8的新特性
  16. Java數組和鏈表的兩種結構的操作效率
  17. ava的引用類型有哪幾種
Java進階備戰金九銀十88道真題:多線程+集合+鎖+JVM+數據庫+算法

多線程、IO、集合

  1. ArrayList、Vector、LinkedList的存儲性能和特性
  2. List、Set、Map是否繼承自Collection接口?
  3. List、Map、Set三個接口存取元素時,各有什麼特點?
  4. 請說出與線程同步以及線程調度相關的方法。
  5. 編寫多線程程序有幾種實現方式?
  6. 簡述synchronized 和java.util.concurrent.locks.Lock的異同?
  7. hash碰撞以及hash算法、如何解決哈希衝突
  8. ArrayList和HsahSet的區別,HashMap和Hashtable的區別?
  9. HashMap的存儲原理,需要了解HashMap的源碼。
  10. ArrayList和LinkedList的各自實現和區別
  11. HashMap和HashTable區別
  12. Hashtable,HashMap,ConcurrentHashMap 底層實現原理與線程安全問題
  13. Hash衝突怎麼辦?哪些解決散列衝突的方法?
  14. 講講IO裡面的常見類,字節流、字符流、接口、實現類、方法阻塞。
  15. 講講NIO。
  16. 遞歸讀取文件夾下的文件,代碼怎麼實現
  17. 常用的線程池模式以及不同線程池的使用場景
  18. newFixedThreadPool此種線程池如果線程數達到最大值後會怎麼辦,底層原理。
  19. 瞭解可重入鎖的含義,以及ReentrantLock 和synchronized的區別
  20. atomicinteger和volatile等線程安全操作的關鍵字的理解和使用
  21. 進程和線程的區別
  22. 同步和異步,阻塞和非阻塞
Java進階備戰金九銀十88道真題:多線程+集合+鎖+JVM+數據庫+算法

設計模式

  1. 簡述一下你瞭解的設計模式。
  2. 寫出單利模式,懶漢和餓漢
Java進階備戰金九銀十88道真題:多線程+集合+鎖+JVM+數據庫+算法

Java進階備戰金九銀十88道真題:多線程+集合+鎖+JVM+數據庫+算法

JVM

  1. 描述一下JVM加載class文件的原理機制?
  2. Java 中會存在內存洩漏嗎,請簡單描述。
  3. GC是什麼?為什麼要有GC?
  4. JVM的內存模型(重要、GC算法、新生代、老年代、永久代等需要詳細瞭解)
  5. GC的工作原理
Java進階備戰金九銀十88道真題:多線程+集合+鎖+JVM+數據庫+算法

數據庫

  1. 事務的ACID是指什麼?
  2. 悲觀鎖和樂觀鎖的區別
  3. Left join、right join、inner join區別
  4. SQL優化
  5. redis緩存數據庫,需要了解,什麼是內存數據庫,支持的數據類型
  6. 單個索引、聯合索引、主鍵索引
  7. 索引的數據結構
  8. 數據庫的鎖,行鎖、表鎖、悲觀鎖、樂觀鎖
Java進階備戰金九銀十88道真題:多線程+集合+鎖+JVM+數據庫+算法

Java進階備戰金九銀十88道真題:多線程+集合+鎖+JVM+數據庫+算法

金九銀十是個跳槽旺季也是個機會,對於跳槽面試不自信、對面試文檔感興趣的小夥伴可以來私信我【面試資料】獲取到以上面試題目的文檔答案提升自己面試技能

框架

  1. web Service 常用註解 客戶端如何生成,還是手寫
  2. mybatis處理大數據
  3. AOP IOC優點缺點
  4. spring事務傳播屬性和隔離級別
  5. Web Service 客戶端和服務端實現技術
  6. Spring Mvc返回json技術
  7. Hibernate悲觀鎖和樂觀鎖
  8. Hibernate三種狀態
  9. hibernate和ibatis的區別
  10. 講講mybatis連接池
  11. SpringMVC的工作原理
  12. Spring的幾種注入方式
  13. Spring如何實現事務管理
  14. Spring IOC和AOP的原理

數據結構與算法

  1. 鏈表與數組?
  2. 隊列和棧,出錢與入棧?
  3. 鏈表的刪除、插入、反向?
  4. Hash表的hash函數,衝突解決方法有哪些?
  5. 各種俳序:冒泡、選擇、插入、希爾、歸併、快排、堆俳、桶排、基數的原理、平均時間複雜度、最壞時間複雜度、空間複雜度、是否穩定?對冒泡與快排的改進?
  6. 二分查找,與變種二分查找?
  7. 二叉樹、B+樹、AVL樹、紅黑樹、哈夫曼樹?
  8. 二叉樹的前中後續遍歷:遞歸與非遞歸寫法,層序遍歷算法?KMP算法?
  9. 排列組合問題?貪心算法、分治算法?

Linux基礎

  1. 常用命令
  2. Linux文件權限
  3. 端口占用

項目經驗面試真題

  1. 瀏覽器訪問www.taobao.com,經歷了怎樣的過程。
  2. 高併發情況下,我們系統是如何支撐大量的請求的
  3. 集群如何同步會話狀態
  4. 負載均衡的原理
  5. 如果有一個特別大的訪問量,到數據庫上,怎麼做優化(DB設計,DBIO,SQL優化,Java優化)
  6. 設計緩存,使用memcached、redis,讀寫分離,數據庫優化(優化表結構、索引、查詢語句等),使用集群,升級硬件,
  7. 手寫斐波那契數列、遞歸查找文件
  8. Mybatis的# $的區別
  9. prototype作用域的範圍
  10. Spring的動態代理
  11. 手寫生產者消費者模式
  12. 分佈式鎖
  13. 死鎖的原因以及如何避免
  14. 內存溢出的原因
  15. 秒殺系統的設計
  16. 100萬條記錄實現導出
  17. 字符串的比較、反轉
  18. CountDownLatch的應用場景

金九銀十是個跳槽旺季也是個機會,對於跳槽面試不自信、對面試文檔感興趣的小夥伴可以來私信我【面試資料】獲取到以上面試題目的文檔答案提升自己面試技能

轉發+轉發+轉發後關注我私信回覆【面試資料】

Java常問進階面試專題

  • MySQL面試題彙總
  • Redis面試題彙總
  • JVM面試題彙總
  • 併發編程面試題彙總
  • 設計模式面試題彙總
Java進階備戰金九銀十88道真題:多線程+集合+鎖+JVM+數據庫+算法

Java進階備戰金九銀十88道真題:多線程+集合+鎖+JVM+數據庫+算法

Java進階備戰金九銀十88道真題:多線程+集合+鎖+JVM+數據庫+算法


分享到:


相關文章: