1. 程式人生 > >美團一二三面經歷

美團一二三面經歷

繼百度阿里筆試跪掉,cvte一面跪掉,華為簡歷刷掉,騰訊一面跪掉後,

終於有了一次比較完整的筆試面試經歷了。

寫個面經,攢個RP,希望能給發offer

第一次,沒有寫好還請海涵。

我是西安這邊的,首先說一下筆試吧。美團今年的筆試題量非常大,前面8道題,7個寫程式的1個數學期望的。然後後面是幾道不同崗位的選做題。

校招筆試現場人真不是一般的多。。。

中午去的考場比較早,然後出去打了會dota。

從7點到8.30, 寫出來了5個程式。完事就回去等通知了。

過了兩天打來個電話,然後說給我定下來了面試時間了,尼瑪的早上8:30太早了有木有。結果還不能改。。

一大早就去了,預約的是8:30,到的時候好多面試官還沒有睡起來。過了一會,才陸續到來,在那裡待了快一早上,好多面試官都是穿著酒店的一次性拖鞋,話說這是程式設計師的通病麼-_-。。。

等了一會,就開始一面了。

一面的GG大概有30歲左右,去了之後,做了下簡單的自我介紹。

接下來就是問筆試題了。

筆試題是32分-_-,簡直不忍直視啊。不過,美團1個半小時那麼多題,確實有些太緊張了。

他拿出第一道題,一看。疑,你這第一道題寫的有問題啊,還給你滿分。

然後他就讓我開始找。。找了一下沒找到-_-囧。。。

然後他就開始提示了。。

一指一個指標,然後說了一句話,然後我一下就明白問題了。

完了他問,還有什麼問題沒有。

我看了看,他又給我一指,我立馬就說出了問題。沒有對除數為0的情況做檢測。

這種感覺真棒。不給我指出來具體哪裡出錯的原因,只是給我指出來。我想,如果我能夠進入美團的話,一定儘量找那個GG去當我的導師!

接著就開始問專案。

問我專案實現了什麼功能,什麼框架等等。。。

聊了一會,重點來了。讓寫一個兩個連結串列尋找第一個公共結點的程式。

No Problem。 中間寫的時候看見面試官吸了吸鼻子,我就順口說了句感冒了?然後面試官說,嗯,剛來西安這邊就下雨了。

我笑著說。都下了半個月了,多喝點水吧。

程式寫完後,他又出了一個概率題。我擦,我概率論最差了。他可真會挑%>_<%。。。。。。

果然,題目出來了之後我完全就不會(好吧。原諒我。。。我也不想這樣-_-)

接著我就給他說能不能給我換個題目。然後重點來了重點來了。

他說哎,我這呢,就給你過了。但是我告訴你啊,面試中讓面試官換道題目是大忌。。。。你記好了,以後再不能這樣了。

哎媽呀,簡直太親切了,有木有啊有木有。。。我趕緊的就道謝。。。

他又大概給我講了一下,我還是沒聽懂-_-(為什麼我概率論這麼差~~~~(>_<)~~~~ )

面了大概有40分鐘

完事就出去等通知了。。。

在房間外面跟其他西電通訊的研究僧聊了一會,尼瑪的全部都用華為保底,艹。。。。。簡直不忍直視啊。

哎,苦逼的我現在還沒有找到保底的。。。。而且華為尼瑪的還刷學校-_-

二面出現了一點小差錯,一面的GG給我推薦讓我去面前端,然後把我分配到了一個前端的面試官那裡。去了之後,是個好有喜的胖子。然後胖子問我會前端嗎。

我不會額。我html css javascript都好差啊有木有。。。

胖子說OK,好,那我給你找個面試官去,,你是搞Java的對麼,我恩恩。趕緊連忙道謝。。

接著他給我找到了面試官,我在外面又稍微等了一會,然後就被叫進房子裡,開始二面了。

二面貌似是個更年輕的GG了。說不上多大歲數,感覺不到30。

整個過程中,只是讓我不停的說,然後他就問,我哪裡有說的不對的也沒有說糾正提醒一下。。。

然後就開始揪著我的簡歷一個一個一個一個問題的問了。

1.什麼是Sevlet

額,我沒想到他上來就問JavaWeb的這種基礎問題。然後是真的沒答好。。。

就簡單說了一下,是繼承HttpServlet,然後執行緒不安全。然後問還有呢。我恩恩啊啊的。哎。都是眼淚啊。這麼基礎的東西也沒研究。。。尼瑪你咋不問個生命週期呢。。

然後丫就問執行緒哪裡不安全了。我就說啊。這個有多個執行緒併發訪問一個Servelet的話,假如對同一個例項變數同時做修改的話,就會出現執行緒安全問題。

然後丫就問。那解決方案呢?我說嗯,加那個sychronized。 然後又說了兩種使用方式,一種是對方法,一種是對塊。

接著又問,還有什麼解決辦法麼?尼瑪的,瞬間就想到了不用Servlet了,額,不過這個答案肯定是不正確的-_-

然後就突然想到了,可以不用例項變數,而使用區域性變數。

然後還問,那你用那個sychronized過嗎?我說,嗯。單例模式搞過。

然後寫程式碼,還問我為什麼內層巢狀還要有一個判斷為空,然後我balabala又說了兩句

OK!

然後又問我知道sychronized的原理不知道。我說。嗯就是加鎖,對一個物件加鎖。然後他問還有其他形式的加鎖嗎?

我說嗯,還可以用Lock,然後我又說這種方式我沒有使用過。不知道兩者的區別。

完了他又問我有沒有使用過Concurrent包裡的東西。我說額。沒太使用過,僅僅是知道。

2.問專案中的一個多執行緒問題,我是如何保證執行緒安全的,我又說加sychronized同步。

然後又問到有沒有遇到多執行緒死鎖的時候。

然後我就說嗯,以前做過一個程式,往一個HashMap中,多執行緒的新增資料然後就會掛掉。

問我怎樣知道掛掉的。然後我就說看cpu上去了,然後用Jconsole工具連線執行緒檢視堆疊資訊。

然後又問了HashMap HashTable ConcurrentMap的區別。然後我又balala。

3.問專案中HttpClient模擬瀏覽器的問題。

問get方式和post方式各自特點,以及優點。

我就說get和post的一些東西,然後問。post能不能替換掉get。我就語塞了。。。胡亂扯了一下略過了這個問題。

4.看到我專案中使用了Spring,然後讓我介紹一下Spring。

Spring我都忘記具體是怎麼回事了,就給他介紹了一下兩個特性,

IOC和AOP。

IOC是依賴注入,就是在程式裡面不new物件了,再配置檔案裡寫好,讓Spring幫我初始化物件

AOP就是面向切面程式設計。例如要計算一個方法的時間。

定義一個around切點,然後載入這個方法上。然後執行。

問我aop的原理是什麼,  代理模式,Proxy

5.看到我用了資料庫,然後問我有沒有聽過sql注入,讓我說下其原理。

sql注入是一種常見的攻擊方式,以mysql為例,

一般是以資料庫的查詢sql語言中的一些漏洞或者特性,來達到暴庫的目的。

常見的有  and 1=1 '   之類的。

然後問我怎樣sql注入比較厲害,我回答字典比較豐富。

然後問我怎樣防備,然後我說 匹配sql注入的一些關鍵字元,然後封鎖IP。

6.給出了一個題目,有50個黑球,50個白球,然後兩個盤子,

問怎樣放才能讓兩個盤子取到白球的概率加起來最大。

想了半天也和麵試官溝通了一會。然後得出了答案。

左邊的盤子放1個白球,右邊的盤子放50個黑球,49個白球

三面:

三面是一個看上去就好凶好凶的人,問了很多問題,自己感覺都沒有答好。。。

最後和他又隨便聊了聊,聊了下美團的盈利模式,以及現在主要的轉型一些東西。

PS:美團offer下來了,三方已籤   Yes!