2020年最新阿里、字節、騰訊、京東等一線大廠高頻面試(Java崗)真題合集,面試輕鬆無壓力

本文涵蓋了阿里巴巴、騰訊、字節跳動、京東、華爲等大廠的Java面試真題,無論你是要面試大廠仍是普通的互聯網公司,這些面試題對你確定是有幫助的,畢竟大廠必定是行業的發展方向標杆,不少公司的面試官一樣會研究大廠的面試題。面試

與此同時,今年算法面試必定是會被問的,而算法不是光靠背面試題就有用的,它是須要數學邏輯思惟的,所以,小編會在文末爲你們準備一份很是優質的算法學習手冊,重點在於學習思惟方法,話很少說,直接開始上精選的大廠面試真題!算法

因爲文章篇幅限制,不可能將全部面試題以文字形式把大廠面試題展現出來,本篇爲你們精選了一些面試題sql

Java基礎

1.JAVA 中的幾種數據類型是什麼,各自佔用多少字節。緩存

2.String 類能被繼承嗎,爲何。安全

3. 兩個對象的 hashCode() 相同,則 equals() 也必定爲 true,對嗎?網絡

4. String 屬於基礎的數據類型嗎?數據結構

5.Java 中操做字符串都有哪些類?它們之間有什麼區別?多線程

6.Java 中 IO 流分爲幾種?併發

7.BIO、NIO、AIO 有什麼區別?負載均衡

8.用過哪些 Map 類,都有什麼區別,HashMap 時線程安全的嗎,併發下使用的 Map 是什麼,他們的內部原理分別是什麼,好比存儲方法,hashcode,擴容,默認容量等。

9. 如何將字符串反轉?

10.抽象類必需要有抽象方法嗎?

11.普通類和抽象類有哪些區別?

12.抽象類能使用 final 修飾嗎?

13.ArrayList 和 LinkedList 有什麼區別?

14.ConcurrentHashMap的數據結構(必考)

15.volatile做用(必考)

16.Atomic類如何保證原子性(CAS操做)(必考)

17.爲何要使用線程池(必考)

Redis
  • Redis的應用場景
  • Redis支持的數據類型(必考)
  • zset跳錶的數據結構(必考)
  • Redis的數據過時策略(必考)
  • Redis的LRU過時策略的具體實現
  • 如何解決Redis緩存雪崩,緩存穿透問題
  • Redis的持久化機制(必考)
  • Redis爲何是單線程的?
  • 什麼是緩存穿透?怎麼解決?
  • Redis持久化有幾種方式?
  • Redis爲何這麼快?(必考)
  • Redis怎麼實現分佈式鎖?
  • Redis如何作內存優化?
  • Redis淘汰策略有哪些?
  • Redis常見的性能問題有哪些?該如何解決?
  • Redis的使用要注意什麼?

ZooKeeper
  • CAP定理
  • ZAB協議
  • leader選舉算法和流程
  • zookeeper 是什麼?
  • zookeeper 有幾種部署模式?
  • zookeeper 怎麼保證主從節點的狀態同步?

Mysql
  • 事務的基本要素
  • 事務隔離級別(必考)
  • 如何解決事務的併發問題(髒讀,幻讀)(必考)
  • MVCC多版本併發控制(必考)
  • binlog,redolog,undolog都是什麼,起什麼做用
  • InnoDB的行鎖/表鎖
  • myisam和innodb的區別,何時選擇myisam
  • 爲何選擇B+樹做爲索引結構(必考)
  • 索引B+樹的葉子節點均可以存哪些東西(必考)
  • 查詢在何時不走(預期中的)索引(必考)
  • sql如何優化
  • explain是如何解析sql的
  • order by原理

JVM
  • 運行時數據區域(內存模型)(必考)
  • 垃圾回收機制(必考)
  • 垃圾回收算法(必考)
  • Minor GC和Full GC觸發條件
  • GC中Stop the world(STW)
  • 各垃圾回收器的特色及區別
  • 雙親委派模型
  • JDBC和雙親委派模型關係
  • JVM 中一次完整的 GC 流程是什麼樣子的,對象如何晉升到老年代,說說你知道的幾種主要的 JVM 參數

Spring
  • Spring的IOC/AOP的實現(必考)
  • 動態代理的實現方式(必考)
  • Spring如何解決循環依賴(三級緩存)(必考)
  • Spring的後置處理器
  • Spring的@Transactional如何實現的(必考)
  • Spring的事務傳播級別
  • BeanFactory和ApplicationContext的聯繫和區別

其餘
  • 高併發系統的限流如何實現
  • 高併發秒殺系統的設計
  • 負載均衡如何設計
操做系統篇
  • 進程和線程的區別
  • 進程同步的幾種方式
  • 線程間同步的方式
  • 什麼是緩衝區溢出。有什麼危害,其緣由是什麼
  • 進程中有哪幾種狀態
  • 分頁和分段有什麼區別

多線程篇
  • 多線程的幾種實現方式,什麼是線程安全
  • volatile 的原理,做用,能代替鎖嗎?
  • sleep 和 wait 的區別
  • sleep(0)的意義
  • Lock 和 Synchronized 的區別
  • synchronized 的原理是什麼,通常用在什麼地方(好比加載靜態方法和非靜態方法的區別)

補充

另外還會考一些計算機網絡之類的。像消息隊列,RPC框架這種考的比較少。計算機網絡就是分層啊,tcp/udp啊,三次握手之類的。操做系統就是進程與線程啊,進程的數據結構以及如何通訊之類的。

數據結構的排序算法也比較常考,考的話必定會讓你手寫個快排。剩下的算法題就靠LeetCode的積累了。其實非算法崗考的算法題都蠻簡單的,不少題徹底就是考察你智力是否正常,稍微難點的涉及到一些算法思想的按照LeetCode題目類型的分類,每種題作一兩道基本就能徹底應付面試了。

最後

面試是跳槽漲薪最直接有效的方式,立刻金九銀十來了,各位作好面試造飛機,工做擰螺絲的準備了嗎?

掌握了這些知識點,面試時在候選人中又能夠奪目很多,暴擊9999點。機會都是留給有準備的人,只有充足的準備,纔可能讓本身能夠在候選人中脫穎而出。

 

相關文章
相關標籤/搜索