面試的前提:前端
姐姐有一個同窗在yy工做,通過該前輩的內推,在我大二升大三的暑假得到了一次yy的後端面試機會.java
面試的準備過程(有些廢話,選擇看):ios
首先yy的總部是在廣州番禺的南村萬博,我家在地鐵4號線過去還算方便. 出了地鐵後前面就是yy總部,說實話當初的第一眼印象是有些失望,由於周圍有圍牆在施工,還有一些沒蓋起來樓,感受是個剛剛發展起來的地方.面試
有一點要注意的是,yy的總部是一個辦公樓,由於人太多了我實在找不到電梯排隊的尾.最後仍是前臺姐姐叫保安帶我去排隊ajax
面試過程:數據庫
面試官是一個年輕的男性,首先上來叫我先自我介紹,而後開始技術面試(這裏開始我就緊張了,說話不天然,也是面試跪的一個很大緣由)json
(實際面試中我沒說這麼多,有些是後來補充的)axios
第一問:說說你對多線程的理解後端
我答:多線程主要是異步和同步兩種狀況,異步的話我說一個案例吧,好比一個用戶在註冊,咱們除了要對用戶的信息進行數據庫添加的一些簡單操做,還有一些複雜耗時的操做好比分析該用戶喜歡什麼,咱們要給他推送什麼文章,而這時咱們就要開一個線程去異步處理這些耗時的操做,等處理完就接口回調回來.而同步的話主要考慮的是線程安全的問題,線程安全通常是用synchronized去解決,synchronized 的原理就是同一時間只有一個線程能夠訪問synchronized括起來的的代碼 對象或方法,就只說這麼多了安全
第二問:說說你對get和post的理解
我答:get和post本質上沒有任何區別,區別是在一些規範使用上.好比前段的axios喜歡get的時候把參數放在url,post的時候把參數轉成json字符串放到請求體,可是不是get只能用urlquery.post只能用請求體,其實不是的,若是從最底層的ajax來寫的話,get能作的事post也能作.
而後對於後端來作一個http請求先通過filter而後再到servlet,servlet分別有兩個對調接口,分別是doget和dopost,但它們對於後端來講本質上也是沒有任何區別的,有一些比較厲害的架構師明白這點會把doget回調到dopost,這樣設計的restful框架就能同時兼容前端的get和post調用
第三問:ArrayList是否是線程安全?
我答:不是的.具體爲何沒了解過
第四問:說說數據庫映射?
我答:數據庫映射主要用的是java的反射機制,好比數據庫中有個字段叫xxx,那麼對應的它的實體類就會有一個getxxx的方法,這時候用java的反射機制建立對應的實例,而後再調用getMethod()找到對應set方法,就能夠把字段的值射進去
第四問:說說你的指望酬薪?
我答:6k(真的是瞎亂答的,如今想起來真想抽本身一巴掌)
(面到這裏面試官已經有些不開心,叫我回去多點準備下,我說謝謝前輩我下一年大四實習再來)
整個面試過程我太緊張,不少都說得邏輯不通,不過這是我第一次面試,緊張也是不免
而後祝我2019年9月yy秋招能順利經過,你們一塊兒加油(#^.^#)