最新阿里、拼多多、快手Java崗面試題269 道送答案

Java面試,是對技術知識棧的梳理、考覈、覆盤java

每一次Java面試,其實都是一次學習機會,是對本身技術知識棧的梳理、考覈、覆盤。咱們應該抱着學習的態度,認真對待,找到本身比較薄弱的環節,儘快去查漏補缺學習鞏固。mysql

通過一輪認真複習以後,你會發現本身的技術知識棧愈來愈充實,這時候再去挑戰好offer,成功機率無疑會增大不少。當有機會參與心儀公司或BAT大廠面試時,你至少可以遊刃有餘回答大部分問題。web

刷大廠面試真題,則是查漏補缺的最好方法之一。面試

如下最新總結的2019阿里集團Java崗面試題目,分享給須要的讀者朋友。redis

最新總結的2019阿里4大核心事業部面試題

【阿里天貓、螞蟻、釘釘面試題目】算法

一、微信紅包怎麼實現。spring

二、海量數據分析。sql

三、測試職位問的線程安全和非線程安全。數據庫

四、HTTP2.0、thrift。後端

五、面試電話溝通可能先讓自我介紹。

六、分佈式事務一致性。

七、nio的底層實現。

八、jvm基礎是必問的,jvm GC原理,JVM怎麼回收內存。

九、Java是什麼。

十、API接口與SDI接口的區別(API是提供給別人的接口)。

十一、dubbo如何一條連接併發多個調用。Dubbo的原理,序列化相關問題。

十二、用過哪些中間件。

1三、作過工做流引擎沒有。

1四、之前的工做經歷,本身以爲出彩的地方(釘釘)

1五、線程池的一些原理,鎖的機制升降級(天貓、螞蟻)

1六、從系統層面考慮,分佈式從哪些緯度考慮(天貓)

1七、Hadoop底層怎麼實現(天貓)

1八、threadLocal,線程池,hashMap/hashTable/coccurentHashMap等(天貓)

1九、秒殺系統的設計(天貓)

20、虛擬機,IO相關知識點(天貓)

2一、Linux的命令(天貓)

2二、一個整形數組,給定一個數,在數組中找出兩個數的和等於這個數,並打印出來,我寫的時間複雜度高,要求O(n)。(天貓)

2三、n個整數,找出連續的m個數加和是最大。(天貓)

2四、更重視開源技術(螞蟻金服上海)

2五、數據庫鎖隱原理(螞蟻金服網商)

2六、1000個線程同時運行,怎麼防止不卡(航旅)

2七、並列的併發消費問題(航旅)

2八、高併發量大的話怎麼處理熱點,數據等(螞蟻金服)

2九、如何獲取一個本地服務器上可用的端口

30、流量控制相關問題(螞蟻金服)

3一、數據庫TPS是多少,是否進行測試過(天貓)

3二、緩存擊穿有哪些方案解決(天貓)

3三、Java怎麼挖取回收器相關原理(財富)

3四、Java的集合都有哪些,都有什麼特色(信息平臺)

3五、分佈式鎖,redis緩存,spring aop,系統架構圖,MySQL的特性(信息平臺)

3六、場景,同時給10萬我的發工資,怎麼樣設計併發方案,能確保在1分鐘內所有發完 打個比方會提出相似的場景(信息平臺)

【阿里巴巴面試題目】

一、java事件機制包括哪三個部分?分別介紹。

二、爲何要使用線程池?

三、線程池有什麼做用?

四、說說幾種常見的線程池及使用場景。

五、線程池都有哪幾種工做隊列?

六、怎麼理解無界隊列和有界隊列?

七、線程池中的幾種重要的參數及流程說明。

八、什麼是反射機制?

九、說說反射機制的做用。

十、反射機制會不會有性能問題?

十一、你怎麼理解http協議?

十二、說說http協議的工做流程。

1三、http有哪些請求提交方式?

1四、http中的200,302,403,404,500,503都表明什麼狀態?

1五、http get和post有什麼區別?

1六、你怎麼理解cookie和session,有哪些不一樣點?

1七、什麼是web緩存?有什麼優勢?

1八、什麼是https,說說https的工做原理?

1九、什麼是http代理服務器,有什麼用?

20、什麼是虛擬主機及實現原理?

2一、什麼是Java虛擬機,爲何要使用?

2二、說說Java虛擬機的生命週期及體系結構。

2三、說一說Java內存區域。

2四、什麼是分佈式系統?

2五、分佈式系統你會考慮哪些方面?

2六、講一講TCP協議的三次握手和四次揮手流程。

2七、爲何TCP創建鏈接協議是三次握手,而關閉鏈接倒是四次握手呢?爲何不能用兩次握手進行鏈接?

2八、爲何TCP TIME_WAIT狀態還須要等2MSL後才能返回到CLOSED狀態?

2九、什麼是DoS、DDoS、DRDoS攻擊?如何防護?

30、描述一下Java異常層次結構。

3一、什麼是檢查異常,不受檢查異常,運行時異常?並分別舉例說明。

3二、finally塊必定會執行嗎?

3三、正常狀況下,當在try塊或catch塊中遇到return語句時,finally語句塊在方法返回以前仍是以後被執行?

3四、try、catch、finally語句塊的執行順序。

3五、Java虛擬機中,數據類型能夠分爲哪幾類?

3六、怎麼理解棧、堆?堆中存什麼?棧中存什麼?

3七、爲何要把堆和棧區分出來呢?棧中不是也能夠存儲數據嗎?

3八、在Java中,什麼是是棧的起始點,同是也是程序的起始點?

3九、爲何不把基本類型放堆中呢?

40、Java中的參數傳遞時傳值呢?仍是傳引用?

4一、Java中有沒有指針的概念?

4二、Java中,棧的大小經過什麼參數來設置?

4三、一個空Object對象的佔多大空間?

4四、對象引用類型分爲哪幾類?

4五、講一講垃圾回收算法。

4六、如何解決內存碎片的問題?

4七、如何解決同時存在的對象建立和對象回收問題?

4八、講一講內存分代及生命週期。

4九、什麼狀況下觸發垃圾回收?

50、如何選擇合適的垃圾收集算法?

5一、JVM中最大堆大小有沒有限制?

5二、堆大小經過什麼參數設置?

5三、JVM有哪三種垃圾回收器?

5四、吞吐量優先選擇什麼垃圾回收器?響應時間優先呢?

5五、如何進行JVM調優?有哪些方法?

5六、如何理解內存泄漏問題?有哪些狀況會致使內存泄露?如何解決?

5七、從分佈式系統部署角度考慮,分哪幾層?

5八、如何解決業務層的數據訪問問題?

5九、爲了解決數據庫服務器的負擔,如何作數據庫的分佈?

60、什麼是著名的拜占庭將軍問題?

6一、爲何說TCP/IP協議是不可靠的?

6二、講講CAP理念。

6三、怎麼理解強一致性、單調一致性和最終一致性?

6四、分佈式系統設計你會考慮哪些策略?

6五、最多見的數據分佈方式是什麼?

6六、談一談一致性哈希算法。

6七、paxos是什麼?

6八、什麼是Lease機制?

6九、如何理解選主算法?

70、OSI有哪七層模型?TCP/IP是哪四層模型。

拼多多Java後端團隊面試題:epoll+集羣+事務隔離+Kafka+分佈式等

一面

  1. 自我介紹
  2. 介紹一下mysql索引?爲何用B+樹?
  3. 網絡IO模型?什麼是多路複用IO?select和epoll的差異?select具體過程?
  4. java類加載機制?雙親委派模型的好處?
  5. 進程和線程的區別?線程是否是越多越好,爲何?操做系統怎麼調度的,調度算法?java中cpu調度是線程仍是進程?
  6. 數據庫事務?隔離級別?
  7. java線程變量怎麼實現的?內存模型?
  8. 手撕代碼
  9. 用數組模擬循環鏈表
  10. 堆排序實現
  11. JAVA併發包組件瞭解多少
  12. 線程的一個狀態轉換圖
  13. HashMap和HashTable以及CocurrentHashMap詳細說明
  14. SpringMVC的整個執行流程

二面

  1. 自我介紹
  2. 數據庫索引?B+樹?爲何要建索引?什麼樣的字段須要建索引,建索引的時候通常考慮什麼?怎麼解決分庫分表?
  3. 數據庫事務特色?事務隔離級別?項目中的事務實現?髒讀、不可重複讀、幻讀各舉個例子?
  4. Spring bean的生命週期?默認建立的模式是什麼?不想單例怎麼辦?
  5. 談談Kafka和ZooKeeper瞭解狀況?
  6. 設計模式,單例模式,怎麼保證線程安全?鎖效率過低,怎麼提升效率?CAS?CAS本質是什麼?什麼是原子性?Compare and Swap,爲何能保證原子性(涉及到CPU指令)?分佈式鎖?
  7. 還有什麼設計模式?工廠模式有幾種,都講講?
  8. 數據庫表怎麼設計的?數據庫範式?設計的過程當中須要注意什麼?enum類型的值通常怎麼存?若是有一個十幾位的小數爲了避免丟失精度怎麼存?tinyint幾個字節,int幾個字節?

三面

  1. 項目介紹
  2. Redis簡要介紹下,有哪些經常使用的數據結構?
  3. Redis是單線程的?Redis爲何查詢數據這麼快?
  4. Redis併發競爭key如何來解決?
  5. 有接觸過哪些消息隊列中間件?如何來選型?
  6. 談談你的SOA以及微服務的理解?
  7. 具體談談Spring Cloud服務和註冊?
  8. 分佈式場景面臨的最大挑戰是什麼?
  9. 分佈式場景數據同步如何來解決?

以上就是拼多多後端Java團隊面試題。

快手Java4面題目:策略模式+紅黑樹+Java鎖+Redis+Kafka等分佈式

一面(一個小時十分鐘)

1.自我介紹

2.說說B+樹和B樹的區別,優缺點等?

3聊聊Spring,主要IOC等等

4多線程JUC包下的一些常見的類,好比CountDownLatch、Semaphore等

5.鎖的概念,鎖相關的關鍵字,volatile,synchronized。還比較了ReentrantLock與synchronized。

6.你瞭解哪些收集器?CMS和G1。詳細談談G1的優勢?何時進行Full GC呢?

7.Spring中涉及的一些設計模式

8.算法題:無序數列中求第k大的數(維護最小堆,而後依次遍歷,與堆頂比較)

9.MySQL建立索引的原則,好處

10. 怎麼實現一個線程安全的計數器?

二面(四十多分鐘)

1. 設計模式:講了單例,工廠方法,抽象工廠,策略模式,觀察者模式,代理模式,還順便講了下spring動態代理的實現原理

2. 線程池有哪些參數?分別有什麼用?若是任務數超過的核心線程數,會發生什麼?阻塞隊列大小是多少?

3. HashMap的底層數據結構

4. 紅黑樹的具體結構及實現,紅黑樹與查找樹的區別體現

5. 接着聊ConcurrentHashMap,底層實現

6. HashMap哈希函數的認識,JDK1.8採用的hash函數

7. 數據庫索引,索引底層的實現,B+樹的結構以及與普通查找樹的優勢

9. TCP三次握手四次揮手,四次揮手過程當中服務端的哪幾種狀態,哪幾種包

10. 已經有一個查詢好友的接口,設計一個微信朋友圈,能夠實現發表朋友圈,添加評論,查看評論等功能。主要是設計數據結構

三面(50分鐘:主要分佈式這塊)

  1. 你對快手的瞭解,和抖音的區別,聊項目
  2. 項目中用到dubbo?那你說說什麼是rpc框架?和http調用的區別是什麼?
  3. Redis有哪些數據結構?持久化方案和區別?
  4. Redis哨兵、集羣的設計原理和區別?
  5. Redis緩存和數據庫會存在一致性問題嗎?怎麼解決
  6. Kafka怎麼保證數據可靠性?講了生產者端發送消息到broker持久化,分區和副本機制,消費者消費消息的at-least-once和at-most-once?怎麼實現Exactly-Once?

HR面:

常規的面試流程了,主要就是本身優缺點,以及將來的職業發展,以及薪資這塊。

以上就是快手技術三面和HR面試題目,如下最新總結的最全2019阿里集團資深Java必考題範圍和答案,僅用於參考~

最新阿里、拼多多、快手Java崗面試題269 道送答案

最新阿里、拼多多、快手Java崗面試題269 道送答案

最新阿里、拼多多、快手Java崗面試題269 道送答案

最新阿里、拼多多、快手Java崗面試題269 道送答案
相關文章
相關標籤/搜索