Formax金融圈面試
約的三點半,三點就到了,差不多等了50多分鐘,HR小姐姐挺好的,還特意拿了一瓶水過來。其實剛進來的時候掃了一下辦公區,感覺也不是很大,後來藉著上廁所的機會逛了一下公司,發現其實辦公區蠻大的,人也挺多的。
沒筆試,直接面試的,二對一面試,面試官還挺好的,來的時候還說怎麼不叫他們,害得等了這麼久,還是挺暖心的,而且不知道為啥,他們看起來好面熟啊。整個面試過程五十分鐘左右吧,挺輕鬆的,而且問到有些回答得模稜兩可的問題會進行糾正,這是面試體驗最好的一次。就是有點奇怪面試完都沒和人事談一下,就直接和我說可以了,回去等通知(所以是掛掉了嗎?······)。
整個過程都是針對簡歷關聯發問,樓主憑不靠譜的記憶將面試過程中的問題零零散散的整理一下。
Q1介紹一下自己:都是搞技術的,就直接說了下公司、工作內容,比較短
Q2介紹一下最近做的專案:這部分說得太散了,技術應該更詳細一點,;專案產品應該說清楚一點,搞得介紹完他們都不知道是幹啥的,最後他們說是一個平臺系統,才畫龍點睛
Q3只做服務還是有寫頁面,前端用的啥框架
Q4為啥hibernate與mybatis同步使用:這個地方真的是糾纏了好久,不停地追問,有點措手不及
Q4.1hibernate與mybatis區別
hibernate:是一個標準的ORM框架(物件關係對映)。入門門檻較高,不需要寫sql,sql語句自動生成,對sql語句進行優化、修改比較困難
mybatis:專注sql本身,需要程式設計師自己編寫sql語句,sql修改、優化比較方便。mybatis是一個不完全的ORM框架,雖然程式設計師自己寫sql,mybatis也可以實現對映(輸入對映,輸出對映)
作用域不同,一級快取是session,而二級快取是sessionFactory(這應該是特指hibernate吧)
Q5講述了一下自己負責的整個模組,發訊息怎麼發的
Q6springmvc的工作方式
Q7用過的註解
Q8怎麼捕獲service異常的:面試官居然直接說應該不是直接在service丟擲異常吧,這麼多方法一個一個去寫很麻煩,事實上專案裡面好像就是這樣的,而且需要丟擲異常的方法也挺少的啊,估計是想讓我說採用AOP吧,因為後面有問到用過切面嗎,而且追問為啥不採用這種方式去捕獲異常。不太懂具體的捕獲異常是指啥......
Q9AOP
Q10關於zookeeper:這個應該是他們覺得最搞笑了,為啥會選擇單用zookeeper,也沒結合dubbo等啥的,感覺百口莫辯解釋都解釋不通,總之他們就覺得太奇怪了
Q11多執行緒有用過麼
Q11.1四種多執行緒實現方式
1、繼承Thread類建立執行緒
2、實現Runnable介面建立執行緒
3、實現Callable介面通過FutureTask包裝器來建立Thread執行緒
4、使用ExecutorService、Callable、Future實現有返回結果的執行緒(執行緒池吧)
Q12事物怎麼實現的
Q12.1事務實現方式共有兩種:程式設計式事務管理實現;宣告式事務管理方式
基於AOP技術實現的宣告式事務管理,實質就是:在方法執行前後進行攔截,然後再目標方法開始之前建立並加入事務,執行完目標方法後根據執行情況提交或回滾事務.
宣告式事務管理又有兩種實現方式:基於xml配置檔案的方式;另一個實在業務方法上進行@Transaction註解,將事務規則應用到業務邏輯中