總共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》免費獲取方式:
轉發+關注後私信我「資料」即可!
對上面的資料感興趣的朋友可以後台私信我「資料」獲取更多面試集錦!