五面阿里:螞蟻金服後台開發崗面試題整理(4次技術面+1次HR)

2019-10-10     老男孩的成長之路

總共4次技術面 1次hr面

作業系統

1.進程間通信有哪些,詳細說明自己在哪種場景下用過哪種方式

2.死鎖產生的條件

3.java中的線程有幾種狀態?詳細說明

4.os中管道的實現,問的很深,記不到具體的問題了

5.分段和分頁解釋一下

6.虛擬地址、邏輯地址、線性地址、物理地址的區別

7.協程和線程和進程的區別,談談你的理解

網絡

1.三次握手四次揮手,三次揮手可不可以

2.OSI和TCP/IP的區別(第一個問題是問我網絡看的哪本書學習的,我說tcp/ip詳解)

3.http server服務,現在要做一個針對用戶維度或者接口維度的頻控,假設一秒100這種,問在不改變原有接口服務的情況下,你如何實現

4.網絡安全相關,csrf這種攻擊如何防範

5.各種協議問我了解過沒有,例如TCP/UDP/ICMP,這個問題比較常見

6.微服務和http服務的區別,你對兩者的理解

資料庫

1.你自己使用mysql中遇到過亂碼問題沒有,如何解決的,產生原因是什麼

2.Select * From table_name where filed_name != NULL 這個sql語句是什麼意思,你覺得有沒有問題

3.關鍵字where和having的區別

4.介紹一下mysql資料庫引擎innodb,及mysql的四種隔離級別

5.用過什麼索引,使用這個索引有什麼要注意的

6.數據的分庫分表會產生什麼問題,如何解決

7.寫一個sql語句,給表t_score 欄位 id(int),score(varchar),team1_id(int),team2_id (int)

給表t_team 欄位id(int),name(varchar),完成輸出這種效果的語句(一條完成):id:xx,team1_name:中國,team2_name:日本,score:4:1

算法

1.給你一個正整數k,可能會很大但不超過integer_max,再給你一個正整數m(0-9),問1-k中間有多少個數,m出現了多少次,如給你k=12,給m=1,那麼11,1,12這三個數,1一共出現了4次

2.一個N階int矩陣,人從(0,0)開始走,只能往上或者往右走,矩陣內的數值是該坐標的分值,分值只能獲取一次,問這個人從(0,0)走到(N-1,N-1)再走回來,往返獲得的分值最大是多少

redis

1.redis里的五種數據類型

2.解釋一下redisObject和SDS

3.redis里的sort set為什麼要用跳表不用紅黑樹,那跳表實現原理說一下

4.緩存不一致如何解決

5.redis持久化,aof里的文件寫入和文件同步解釋一下

6.redis持久化aof和rdb分別適用於什麼場景

7.redis各種數據結構,操作的時間複雜度

8.redis的主從複製原理,有沒有可能寫操作寫到主,讀操作讀到從,那麼讀不到最新的數據,但是我如果偏要保證一致性,那如何解決

kafka

1.概念解釋,producer/consumer/partition/topic/offset/broker

2.kafka為什麼和其它mq比起來,吞吐量高這麼多,你有思考過kafka適用於什麼場景嗎,或者你說下你對不同mq產品的對比

3.kafka高可用里的cap理論,談一下你的理解

4.kafka如何保證消息不被重複消費

5.kafka里的消息我要指定存到不同的數據源該怎麼做

最後分享《BATJ面試大全.PDF》,「覆蓋了JVM、高並發、反射、Spring原理、分布式、微服務、MySQL、數據結構等等」,還有Java400道面試真題(含答案)的免費領取方式!掌握了這些知識點,面試時在候選人中又可以奪目不少。機會都是留給有準備的人,只有充足的準備,才可能讓自己可以在候選人中脫穎而出。

《BATJ面試大全.PDF》免費獲取方式:

轉發+關注後私信我「資料」即可!


對上面的資料感興趣的朋友可以後台私信我「資料」獲取更多面試集錦!

文章來源: https://twgreatdaily.com/64_4zW0BMH2_cNUgMjz3.html