就在今年的某一天箍铲,小編的領(lǐng)導(dǎo)突然告訴小編雇卷,咱們要招新人了,你去從這些簡歷里篩一下颠猴,去面試看看关划,有沒有還不錯的。
然后就發(fā)現(xiàn)領(lǐng)導(dǎo)突然把小編拽進(jìn)了一個群里翘瓮,一封一封的簡歷把小編徹底淹沒贮折。。资盅。调榄。踊赠。
就這樣小編顫顫巍巍的把幾封認(rèn)為還不錯的給到了HR。心想每庆,這第一次面試別人筐带,比自己面試還緊張,這要是面試者有啥問題問我缤灵,被問住了伦籍,那就只能尷尬的笑一笑嗎 emo。腮出。鸽斟。。利诺。
翌日
“你好呀富蓄,我是xx公司的面試官,感謝你參加我們本次的面試慢逾,請先做個自我介紹吧立倍!”
“面試官你好,巴拉巴拉巴拉巴拉”侣滩。
中間省略一堆項目的介紹和提問口注。小編真的挺認(rèn)真對待第一次當(dāng)面試官的,只要是簡歷上寫了君珠,小編都問了寝志,但是好像面試者不太開心。策添。材部。。唯竹。乐导。。
下面我們直奔這篇文章的主題
"嗯浸颓,我看你項目經(jīng)歷還不錯物臂,那我們再聊一聊Java基礎(chǔ)和常用框架吧,你可以先說一說Spring單例模式下Controller層為什么能多線程同時處理請求參數(shù)"
“嗯...... 产上,因為加鎖了棵磷。” 面試者答道晋涣。
“加鎖了...那在什么地方加鎖了呢仪媒?具體體現(xiàn)在哪里?”
"嗯...... 這個我還不太了解姻僧,我回去再看看源碼规丽。你能給我點(diǎn)思路嗎蒲牧?"
其實面試到這里也快結(jié)束了,但是小編還是給面試者解釋了一下這個問題赌莺。
像我們以前在不用spring的時候冰抢,寫一個對外的接口,要先繼承 HttpServlet 類艘狭,去重寫doGet和doPost方法挎扰,tomcat會在接收到一個socket連接的時候,將其請求參數(shù)封裝巢音,并調(diào)用這個doGet或doPost鉤子方法(這里我們只說這兩種常用的遵倦,其他的PUT HEAD等方法這里不提了)。 調(diào)用流程如下官撼。
其中 FrameworkServlet.processRequest()方法會將你的入?yún)⒎湃氲揭粋€ThreadLocal里梧躺,這就解決了單例Controller在多線程下同時處理請求參數(shù)的問題。
因為ThreadLocal是線程獨(dú)有的傲绣,在這里不會出現(xiàn)線程安全問題掠哥。
解釋完這些后,小編很禮貌的和面試者說秃诵。
“我們今天的面試就先到這吧续搀,我們會在本周內(nèi)給你答復(fù)〔ぞ唬”
微信搜一搜:云下鳳瀾
和小編一起聊一聊最新面試題