順豐java校招面試總結(jié)
15號投遞,做完測評。16號收到面試通知。
18號下午一面(30分鐘不到)
面試官視頻有問題,于是換成了電話面試。
-
介紹最近做的一個項目(用到了Redis,Dubbo,Zookeeper)
-
Redis為什么快
-
IO多路復(fù)用講一下怎么實現(xiàn)的
-
Redis常用的一些數(shù)據(jù)結(jié)構(gòu)
-
Redis中對String的存儲是怎么優(yōu)化的?
-
緩存擊穿和穿透是什么,應(yīng)該怎么預(yù)防
-
zookeeper選主是怎么做的
-
分布式鎖的話你會選擇用redis還是zookeeper
-
項目中有用到多線程的東西嗎(Tomcat自帶,不需要自己設(shè)計)
-
項目實現(xiàn)了點贊,要是多次點贊或者一次點贊的過程中發(fā)生了超時重傳會怎么樣。(兩次點贊會取消點贊,重傳的話是冪等性問題)
-
了解過網(wǎng)絡(luò)嗎(問到了那必須了解?。?
-
我們視頻通話用的是什么協(xié)議,為什么用它(UDP)
-
UDP報文頭包含了什么(一下沒想起來,胡言亂語)
-
說一下java中的鎖機制
-
自旋鎖是什么
-
平時編程會用到什么數(shù)據(jù)結(jié)構(gòu)
-
你的項目中哪些地方可以用到?;蛘哧犃?
-
多個人同時聊天的時候,怎么保證每個人都收到數(shù)據(jù)(消息隊列)
-
詳細(xì)說一下用消息隊列的話應(yīng)該要怎么做
-
其它沒想起來,想起來再補充
反問:用到的技術(shù)棧。
20號下午二面(30分鐘左右)
- 問項目大概有什么功能(沒有讓我完整介紹項目)
- 介紹一下RPC是什么,Dubbo由哪幾部分組成。
- 介紹一下利用Dubbo具體是怎么通信的,比如一個登錄的請求,是怎么傳輸?shù)摹?
- 數(shù)據(jù)是明文傳輸?shù)膯幔ㄊ堑模?
- 你知道都有哪些序列化的協(xié)議(不知道??)
- 你實現(xiàn)了熱點文章的二級緩存,那文章大小過大的怎么辦,讀寫的時候由于是單線程的會阻塞嗎(會吧)
- 那有什么解決辦法(拆分成多個key-value,或使用hash,多個field)
- Redis的一致性hash是什么(我說成了hash環(huán),但面試官就讓我講講hash環(huán)也行)(我感覺一致性hash就是hash環(huán)啊,請大佬賜教)
- Redis過期節(jié)點的刪除策略
- 緩存雪崩是什么,怎么解決
- 布隆過濾器是什么
- ZK的CAP了解嗎(忘了??)
- ZK的選舉說一下
- 選舉的過程中可以正常提供服務(wù)嗎(我以為問的zk,我就說可以正常提供。結(jié)果會錯意了,選舉的時候選舉服務(wù)器是不能提供服務(wù)的)
- Kafka了解過嗎(了解過RocketMQ)
- 說說都由什么組成的(沒有這么復(fù)習(xí)這個,說的不太行)
- 隊列中的消息可以被重復(fù)讀取嗎
- 如果文章的數(shù)據(jù)過大,在傳輸?shù)倪^程中會出現(xiàn)問題嗎(我說的不會有什么問題,但后來查Dubbo好像不適合傳過大的數(shù)據(jù))
- 粘包是什么(亂說一通)
- 八大數(shù)據(jù)類型
- int占多少bit
- Integer可以用==比較嗎
- 128以下呢
- ==和equal的區(qū)別
- 講一下JVM都包括什么
- 堆都存什么
- 堆里面都發(fā)生什么GC
- 棧會垃圾回收嗎
- 棧溢出是什么
- CMS處理新生代還是老年代(老年代吧)
- G1呢(都會處理吧)
- 運行時異常都有哪些(一下蒙了,尷尬了半天說了個棧和堆的溢出)(事后總結(jié):空指針,數(shù)組下標(biāo)越界,索引越界等)
- OM是什么(本來是OOM,聽成了OM,說不知道是啥)
- 數(shù)據(jù)庫查詢的時候,怎么對多個變量進(jìn)行排序(order by)
- Mybatis$和#的區(qū)別
- 索引是什么
- MySQL用的什么索引
- ACID是什么(一下沒意識到是什么,面試官說了個原子性才想起來)
- Redis滿足ACID嗎
- 知道ConcurrentHashMap嗎,講一下,用了樂觀鎖還是悲觀鎖
- 將一下紅黑樹的一些性質(zhì)
- 左旋右旋(不記得了)
- 時間復(fù)雜度是多少
- ArrayList的呢
- 反問(以為自己涼涼了,沒問什么)