近期畢設差不多已完成,現在可以開始補上這兩個月見計劃寫但沒寫的文章了??
緣起
還要從去年年底說起。那會兒快放寒假了,大四上學期即將結束。我的時間還算充足,就想著抓緊時間提高一下自己的技術。但是仔細思考過后,發現自己并沒有一個擅長點前端還沒入門,Java 相對熟悉點,之前做過幾個課設都是用 Java 編寫 Swing 界面。。。C++ 大一學的,后面再也沒碰過,連語法都忘得差不多了。
這就是意識不行的后果啊,很多人四年的狀態都是大一自由發揮??,大二玩到 high 起??,大三苦逼考研??,大四渾渾噩噩??。我還算幸運的,雖然大一大二也是懵懵懂懂,沒在技術上下功夫,但是好在后來沉下心來學習,最終有個研究生讀。之前聽說過一句話,大意是說技術不好的才去讀研究生,給自己更多的時間學技術。這話有一定道理,因為現在越來越發現時間真的很少,在工作以后更是如此,想擠出時間學習提高真是難上加難。在學校雖然雜事不少,但是如果你想學習的話時間還是夠的。所以在學校期間一定要好好抓緊時間,這不是一句空話??上Оㄎ以趦鹊暮芏嗳艘庾R到這一點的時候已經比較晚了。
但是種一棵樹最好的時間是十年前,其次是現在啊,雖然意識得晚,但好歹還有幾個月的時間才畢業,還不快抓緊時間?。。∮谑菑暮偾按蟀雮€月開始,我選擇了自己相對有那么一丁點優勢的 Java 方向,開始學習。
當時想的是寒假找個互聯網公司實習,這樣進步應該很快了。于是,在過了一遍 Java 基礎知識以后,我就開始在牛客網上找實習崗。于是看到了一家公司叫字節跳動,感覺很強誒,抖音都是他們出的。要不先試試這家吧?。ìF在回想起來,自己真的是 too young too naive,一開始就這么頭鐵,還是宇宙條,要知道他們的面試難度可是僅次于阿里的。。。其實最好應該先找幾個小公司面試鍛煉一下,邊面試邊調整并查漏補缺)
經過精心挑選崗位,最終投了七八個日常實習崗位,有的是后臺開發的,有的是服務器端開發的。然而不到半天,就發現自己投的崗位紛紛黃了,簡歷關都沒過,只剩下兩個崗位。兩天后,突然收到了 HR 的電話,約面試時間,掛了電話以后感覺可激動了!于是立馬開始準備面試相關的東西。我先是在??途W上各種查面經,然后把它們都整理下來,開始像復習考試一樣背密密麻麻的知識點,什么 GC,虛擬機,并發與線程啥的,先背起來再說!
然后就看到了??途W上的同學們對頭條面試難度的吐槽,發現原來是這么難啊??還喜歡考算法,于是又專門把面經里的算法題挑出來百度咋做。還有人說要刷劍指 Offer,但是我只有幾天的準備時間,哪有時間啊,只能心慌慌地繼續背知識點和百度算法題思路。(現在回想起來,自己真的是 too young too naive,復習可以說是毫無章法,沒有自己的計劃和安排。一般來說,應該先復習最重要的、最有可能考察的知識點,而不是看面經,因為上面的點太多太散了,有些問題還是根據簡歷項目問的,是因人而異的,其次算法的練習重在平時積累,臨時刷劍指 Offer 也有點幫助,但是似乎頭條的算法更多的是從 Leetcode 上找的。。。)
被虐
終于到了視頻面試的時候了。面試官是個年輕的微胖小哥哥,比較平和,能看出來是經常敲代碼的。(下面說的可能會有點遺漏,但是大部分我都還記得,現在都過去四五個月了?。┥蟻硐仁且粋€自我介紹,然后就是兩道算法題都不難,但我答得并不好,磕磕絆絆,最后在面試官的提示下才完全答對,手寫代碼也沒完全寫對,調試了一會還沒調試出來。。。當場就感覺自己涼了??面試題目如下:
1.給出一個單鏈表,求離尾節點距離是 k 的節點,要求時間復雜度 O(n),空間復雜度 O(1)
思路:兩個指針,一個先走 k 步,然后兩個一塊移動。注意處理特殊情況和邊界條件。
2.給出一個數組,將其向后循環移動 k 位,給出結果,要求時間復雜度 O(n),空間復雜度 O(1)
思路:通過循環讓兩個元素交換值就可以。注意處理特殊情況和邊界條件。
3.有 100 只狼??和 1 只羊??,狼可以吃草但更喜歡吃羊,現有假設:
(1)狼吃了羊會變成羊
(2)狼是聰明且理性的,都想生存下來
問最初的那只羊會不會被吃
思路:這里面試官提示我如果是兩只狼,三只狼會怎樣,我還是沒想到。后來百度,如果是兩只狼,那么羊不會被吃,因為兩只狼都知道,如果自己吃了羊,就會變成羊然后被對方吃掉。但是如果是三只狼,那么羊會被吃,因為搶先吃了羊的狼知道,他吃了羊然后變羊,剩下兩只狼不敢對他怎樣,這一點上面已經說了。
4.解釋數據庫的索引及其使用場景
5.解釋數據庫的 inner join , left join
當時感覺就是,看了一大堆網上的面經,準備了很多后臺 Java、操作系統、網絡相關的知識,感覺問的不到 1 % 。。。而且可以發現,一面中考察的算法并沒有那么難,更多的是看你的功底扎不扎實,有沒有考慮到特殊情況,能不能完整地實現。還考察了一個邏輯分析的題目,可以說考察得很全面了。只是我回答得不全面。。。
不出意外的,幾天以后收到了 HR 的不合適郵件回復?,F在想想,雖然一面就被虐,但是我還是收獲了很多,知道了自己接下來努力的方向,也見識到了大廠的面試風格。感覺自己還是挺幸運的,因為我的簡歷其實很一般,能有面試的機會就很好了,沒準因為頭條缺人,才會邀請我面試。
不知不覺已經寫這么多了,這篇先寫到這里吧 : ) 下篇繼續分享之后的實習經歷??