xx招聘app上投遞簡歷,hr聯系后面試
當天早上9點半到了后先做一份筆試題,基本都是Java基礎,還有網絡相關的題目,最后一道io編程題,做到10點半左右
做完后等初面,大概1個小時,到12點
本來是有二面,結果可能是大佬中午去吃飯還是有其他事,hr簡單面了下就撤了
筆試題:選擇題基本是Java基礎,簡答題:軟硬件如何實現負載均衡,正向代理跟反向代理是什么,為什么會出現TIME_WAIT,出現大量TIME_WAIT怎么解決
編程題:統計一個文件中指定3個詞出現的次數,倒序打印出來
面試題:大概如下
最近遇到的一個難點
Rocketmq為什么io快
mysql聚簇索引
二級索引
新寫的sql怎么處理
mvcc機制
cpu100
重構
用過哪些設計模式
netty的reator線程模型流程
限流基于什么配置規則
redis分布式鎖
持久化
aof重寫流程
是否搭建過redis
分布式鎖過期時間如何設置
冪等實現方式
synchronize跟lock區別
在boss上溝通投遞的簡歷,第二天收到通知,說是需要到現場面試,因為離得比較遠就約定先做個視頻面試,雙方都有繼續的想法再過去,第一面是騰訊視頻,主要是負責問題,早上面試結束,下午就通知二面,感覺也還可以就答應了二面,在海淀那邊,地鐵到不了,但是有擺渡車,現場面試應該是個主管還是總監,感覺架子很大,說話很不禮貌,問的都是項目中的問題
面試官問的面試題: 一面是視頻面試,問的比較基礎,線程,集合,jvm,gc,springAOP,IOC,SpringBoot 常用注解,啟動類注解組合了那些注解,springcloud的基礎組件,zk底層的數據結構,redis常用數據類型,高可用原理,作為緩存在并發情況下怎么保證一致性,數據庫事務,ACID,SQL優化方法,kafka消息丟失原因及解決方案
二面在現場,簡述簡歷中項目,自己做的任務,團隊情況,并發量多大,拿到需求任務時自己是怎么去考慮實現的,簡單畫下流程圖,那兒用到了kafka,主要作用目的,redis緩存了哪些數據,這些都是正常的后面的問題就比較離譜(面試的java崗位),hadoop集群部署需要注意什么,Hbase和MySql有什么不同,flink是做什么的?spark數據傾斜是什么,怎么解決?spark作業流程是怎樣的?
視頻面試:從項目開始要求介紹,詳細談談項目的架構設計,技術棧springboot的注解,自定義注解等。抽象類和接口的區別是什么?這里問的很細,對抽象類的應用場景、在哪些源碼有用到都問了,具體可以說明模板方法設計模式,對單例模式問的很細,線程安全性,餓漢懶漢加載,餓漢是在什么時候加載的呢?(這里應該說類加載的相關內容)雙向加鎖實現懶漢線程安全等。最后要求看一段我的項目代碼給他展示(沒什么高難度的代碼,這里卡住了)
面試官問的面試題: springboot和spring的區別,優缺點?
@controller和@service的區別?(本質上沒什么區別,都是對@component的引用而已,只是一個規范,但我當時亂說了)
@springbootApplication的作用(自動裝配,配置,componentScan的組合而已)
自定義注解用過嘛?
說一下設計模式(單例和模板方法模式,分別注意餓漢的線程安全與類加載機制(雙親委派模型),懶漢的線程不安全與加鎖原理;模板方法模式的抽象父類定義算法框架等)
介紹項目(對項目的架構、設計流程、突出代碼、使用過的技術要非常熟悉才可以)
線程池用過嘛?介紹一下fixed,cached,single線程池創建方式