面試拼多多 Java 崗被刷了三次,在家閉關刷題66天,捲土重來,終獲offer

 引言

這是羣裏一個朋友分享的博客,講述了他進入大廠的故事。(爲數很少的,讓我真心佩服的人)java

他以前就一直就想進拼多多工做,沒別的,就衝着優渥的薪資待遇去的。mysql

75d7a317856e44e9440c6ab941edff9e.png

故事開始

我是2021屆畢業生,大專學歷,沒啥背景,當初選擇「計算機軟件工程」這個專業就是衝着程序員的高薪去的,窮學IT富學商nginx

感受這是見效最快的一個行業了吧。git

找工做那點事

簡單介紹一下本身的背景:農村家庭,我是長子,下面還有一對雙胞胎妹妹,她們兩是在我初二是時候降生的,原本就算不上富裕的家庭壓力更大了。程序員

可是我很喜歡她們,只但願本身能快點有出息,爲家庭分擔壓力。面試

就我自身條件來講,並無什麼優點,學歷通常, 技術通常,在校期間也沒有作什麼項目,僅有的時間我都在作家教工做賺錢,社會專業性工做經驗也很少。算法

從春節前那段時間我就開始找實習了,都是看的大廠。當時就比較看好拼多多這家,感受這是一個新起之秀,對學歷可能會相對寬鬆一點吧。sql

可是我仍是被刷了三次,倒不是由於學歷,實在是本身的能力有不少不足。docker

下面講一下個人面試經歷。數據庫

四戰拼多多

3f89a7f87bed5c0be031a025a4a0053c.png

 

第一戰

放寒假沒多久,此次沒啥經驗,就投了三家,騰訊,百度,拼多多,這基本上算不上「戰」吧,對方拒絕了個人挑戰書……(大寫的尷尬,簡歷沒人撈)

第二戰

看了一下網上大佬寫的面試指南,照着大佬的簡歷的簡歷模板把本身的改了一下,強調了本身能加班,學習能力強,勤勞這些品質,又投了拼多多。同時期還投了另外幾個廠,其中有網易,騰訊新聞,微視,快手,貝殼找房,小猿搜題等。

第一次投的少,應該是腦殼被門夾了,怕應付不過來。此次本着廣撒網的原則,投的有點多,還有不少家記不住了……其餘的就不說了吧,只拿到了兩三家的意向書,都是沒聽過的小廠,惟一一家「大廠」是和騰訊掛了點鉤的外包,崗位,待遇什麼的都不理想。

本文只記錄我和拼多多的「愛恨情仇」。

拼多多的此次接到了電話過了二面,下面是個人尷尬二面:

面試官前面問了幾個基礎問題,感受我進入狀態後,問到了屏障(這個我不會啊,我感受卡了好久)

面試官也看出了個人窘迫,換了CountDownLatch問我 (也不會。。。)

後面斷斷續續又問了一些其餘的,差很少半個小時就結束了,讓我回去等通知。

因而一個星期左右,又收到了感謝信。(好歹走了一遭,仍是有進步吧)

第三戰

上次的面試經歷讓我深入的意識到了本身的不足,此次準備的時間稍微長了一點(半個月),多刷了一些題,零零散散找了一堆面經,看了很多。

此次卻是沒有發生太大的意外,雖然也有幾個答不上的題目,但仍是比較幸運的一路苟到了三面。可是,這一次面試官特別注重項目和源碼,我那單薄的學校做業式項目根本不夠看的。

這個三面比我前面說的二面還要尷尬,面試官好像也比較忙,不到三十分鐘就結束了。

因而回去後一個多星期,又見到了老朋友:感謝信。
ee24a060e2f8a266aeaf7a1844d8b49d.png

最終戰

我本身都佩服本身,竟然還有勇氣投拼多多(主要是,經歷這麼多的面試,仍是感受拼多多的可能性更大吧,並且前面的兩次面試也積累了不少經驗,我也在一直提高本身。)

此次我考慮的比較多吧,足足準備了兩個多月。

期間找了不少免費的Java資料和麪試題來刷,同時在B站上看了不少的視頻教程。再去面試的

此次一開始仍是蠻緊張的,我不知道本身若是再次失敗還怎麼面對家人,不過,面試進行的意外的順利,雖然也有卡殼的地方,可是,整體上仍是比較順吧。也算是功夫不負有心人。

下面分享一下我和拼多多相愛相殺的決戰!

一面

感受挺難,面試官全程嚴肅還時不時嘆氣(弄得我很慌)。。。

1.自我介紹

2.簡單介紹項目,怎麼作的,爲何要作這個,用到了什麼技術。

3.樂觀鎖、悲觀鎖、舉例講講,CAS

4.異步同步、阻塞非阻塞,他們之間有聯繫嗎,說說區別,再從內核的角度說說看(私下查了資料答錯了)

5.synchronized,放在各個地方鎖的是啥,一個synchronized靜態方法,一個普通的synchronized方法,訪問靜態方法後還能訪問普通方法嗎,鎖的對象是同樣的嗎。

6.synchronized的底層實現,知道多少說多少,和ReentrantLock的區別

7.Redis單線程爲何這麼快(以前美團問過,可是仍是有點記不清。。。)

8.最後一道算法題是二叉樹方面的作了很久。。。

求一個二叉樹裏的2個節點的距離,二叉樹每一個節點的值是惟一的。

當時寫的是用遞歸的先序遍歷方式去寫,面試官說往這個方向想是對的,就繼續卡了挺久,面試官提醒說能夠吧走過的路徑記錄下來,

提醒到這差很少有思路了,就用棧去記錄遍歷的節點,仍是遞歸先序遍歷,當遍歷到2個節點中的一個時當前的 棧軌跡就是那個節點的路徑(從根節點開始算起的),最後比較這2個棧軌跡就行,相似最近公共祖先,好比找節點4和5的距離若是得出是[1,2,3,4]和[1,2,5] 那他們的距離就是3,及4->3->2->5.

其實還有不少底層的問題記不起來了,一面問的都很底層基礎。

 

二面

一度覺得一面能過的機率不大,結果過了仍是比較驚喜。

二面面試官特別和藹,心情很好,上來就活躍氣氛,說我這裏天氣很好啊,在寢室嗎。。。

自我介紹

1.問項目,問具體實現,怎麼使用Redis的,myqsql有優化過嗎,說說過程,登陸流程,攔截器,jwt,2級緩存,部署,docker,git,

2.都是簡單的聊,沒有深刻,這些技術是怎麼開始去學的,碰到問題怎麼解決的。

3.問了個ConcurrentHashMap

4.問了項目的實際使用狀況,一個在商用一個沒落地

5.問何時能夠實習,能實習多久(我還覺得結束了。。。)

6.繼續問了幾個底層:講講volatile,JMM,垃圾回收過程,字節碼角度解釋return i++,mysql的事務原理;

7.爲何喜歡java,怎麼開始學的(感受面試官特喜歡java)

8.算法題,面試官吧函數啥的都碼好了,例子也給我寫了

9.一個字符串,找是否存在一對AB-BA或者一對BA-AB, 重複的不算

10.直接遍歷一遍吧AB和BA出現的數量記錄下來,根據他們出現的次數分類討論

(算法是可行的,複雜度O(n),面試後發現有更好的方法,雙指針2端往中間掃描(左邊有AB則右邊就找BA這種思路))

 

三面

面試官看着就像大佬

1.問項目,項目裏哪裏能夠優化,第一個項目若是落地了,如何保證高可用,數據庫主從,後端服務多開幾個,

2.怎麼保證前臺訪問的接口必定能找到後端服務,用一個網關,怎麼保證網關高可用,。。。(不清楚了,下來想了下,nginx+keepalive就能夠,當時咋就想不起來泥。),

3.引入了Redis,Redis掛了怎麼辦,系統還能正常運行可是很慢,全部Redis異常都被捕獲了,最終都會查詢數據庫,當時候人工維護。

4.怎麼部署https的。https的加密流程。

5.最近在看什麼書,推薦下,併發編程的藝術,學到了什麼,裏面不少思想都和操做系統的聯繫起來了與學校的純理論課相比更加形象(實踐起來了那種,好比阻塞隊列,cas,管程)

6.何時能夠實習,有什麼想問的

7.什麼技術棧:dubbo,沒學過,面試官說SpringCloud那一套也能夠,消息隊列是自研的,去學RabbitMQ就行,緩存用的C++,

8.實習有新項目嗎,看部門,有的有,有點就維護老項目就行。

 

塵埃落定

此次等的時間比較長,期間另外的offer拒絕了幾個,包括貝殼找房,小鵬汽車問了下,仍是能夠保底吧。

而後差很少快兩個星期了吧,終於收到了offer!

最後我想說的是:功夫不負有心人!不枉我閉關刷了66天的題目(哭了)

另外,須要資料的朋友,下面是我那段時間找到的一些我的以爲還算比較系統,質量還比較高的資料,免費分享給你們,大家能夠本身去看一下,看對本身有沒有用吧。

三個模塊,946頁58萬字,Java開發核心知識筆記!

d0538df148019c5544e0cfcaf799bc5d.png

《1000道互聯網Java工程師面試題》

07118a42d9f2728bc66035a361d222af.png

 

《Java高級架構面試知識點整理》

6fa2a944e86ab81999e027087aa65488.png

 

《Java核心面試知識整理》

b4b5c1508c04c5f1f11225c9330cd4b5.png

 

最後

長風破浪會有時,直掛雲帆濟滄海。祝你們拿下心儀公司的offer。

其實感受本身要學的東西還有不少,但願進去後能跟着大佬們好好學習,有所收穫吧。

相關文章
相關標籤/搜索