首頁>職場>

秋招是每個在校學生都要經歷的一個階段。本篇文章記錄了自己的秋招歷程。秋招投遞公司23家,簡歷被刷1家。筆試/測評掛掉3家。至今無訊息的8家。獲得Offer的公司有小米,兆易創新,全志科技,浙江大華,海格通訊,京信通訊,景嘉微電子,廣州朗國電子,北京華大電子,中國長城科技集團。已簽約浙江大華。最後收穫了一個滿意的Offer。前事不忘,後事之師。希望自己總結的這些內容能對後面準備秋招的同學有所幫助!

1. 自我介紹

  本碩雙非,本科電子資訊工程,碩士電子與通訊工程。導師申請的專案中有一部分需要用Stm32實現,所以自己在碩士期間接觸Stm32比較多。當時也考慮到,如果只會Stm32,找工作可能會比較吃力。而自己對嵌入式底層的內容也比較感興趣。所以,在研二的時候每天花一點時間來學習下驅動開發,以後找工作打算從事底層驅動開發相關的內容。

2. 秋招準備2.1 Linux驅動

  在2019年12月的時候,基本就把韋東山老師的第二期課程學習了一遍了,雖然在學習過程中有很多不明白的,但也堅持看了一遍。把有疑問的地方記錄了下來,打算後面再慢慢的去深入研究。

  韋東山老師講的課程確實很好,但是對於基礎不太好的可能會比較吃力,很容易勸退。當時思考了下,自己為什麼聽不懂呢,哪裡有欠缺?我們對自己應該有一個清晰的認識,我從Stm32轉驅動開發,優勢就是我對於基本的硬體原理都比較熟悉,欠缺的是對於Arm架構的深入瞭解,作業系統和計算機組成原理的基本知識。所以,這個時候發現自己聽不懂的情況下,有些問題搞不明白,先不要深究,後面可以慢慢補。

  今年疫情在家,在3月份的時候,對照自己之前的學習筆記和遺留的疑問,把之前學過的內容又看了下,當看第二遍的時候,對於很多問題也可以想清楚了。

2.2 Arm體系與架構

  關於Arm的體系架構這部分是一定要看的。推薦一本書,杜春雷老師寫的《ARM體系結構與程式設計》,這本書其實就是ARMV7開發手冊的中文版,很多內容都是手冊裡面的。書的話不一定都要看,學習過程中,哪裡不瞭解再去查書,效果可能會更好。

2.3 資料結構與演算法分析

  資料結構與演算法的內容時秋招中的重中之重,筆試必考,面試必考。所以這部分要好好準備。

  資料結構的話本科也沒學過。4月份的時候開始在家,從基本的連結串列,二叉樹,堆,佇列,字串,排序演算法,查詢演算法等基礎內容學起。當時參考的資料是在網上找的一本PDF。裡面包含了基本資料結構的演算法的實現。對著PDF資料邊看邊理解,自己動手去實現了一遍。剛開始學習資料結構的內容,一定要多畫圖,像連結串列的內容,不畫圖有時候可能不太好理解指標是如何指向的。總之要找到適合自己的學習方式。

圖論的內容比較難,如果不打比賽,可以直接跳過(只針對嵌入式開發的同學)。還有字串的KMP演算法也比較難理解(其實刷題Leetcode題目之後就會發現,字串匹配的題目解法很多,不一定要KMP)。也可以先不看。

  關於我寫的一些資料結構的內容,可以在資料結構與演算法分析專欄中看到。大家可以參考下。

  此外我還整理了下資料結構中比較重要的內容,在面試中一定要達到可以在白紙上寫的水平。具體如下圖所示。

  在學習完基本的資料結構與演算法的內容之後,接下來就是刷題了。我自己是在Leetcode上刷的題目。由於時間有限,我刷題一開始的策略是按照 題目型別 去刷題(參考了知乎各位大佬的刷題策略),主要內容集中在了連結串列,二叉樹,字串,陣列這四個部分。把這部幾個部分出現頻率高的題目都總結了出來。各個部分頻率總結連結:

  刷題過程中會遇到一些特定演算法的題目,比如滑動視窗,雙指標,動態規劃等。遇到這種題目,能解決的先解決掉,不能解決的後面可以按照演算法型別統一解決。

  最後,在筆試的時候,很多公司的大題的筆試系統其實並不是像Leetcode一樣只寫個子函式就行了,而是和ACM競賽的型別一樣,需要自己處理輸入輸出。這部分一定要提前練習。如果不熟悉系統,筆試的時候雖然有思路,但是也寫不出來。建議提前熟悉下輸入輸出。

2.4 C語言

  C語言這部分的話,可以上網搜尋一些面試中經常問到的內容。這裡也推薦一本書,何昊老師寫的《程式設計師面試筆試寶典第三版》(不要找錯了)。這本書是針對C/C++程式設計師的,主要介紹了面試過程中經常問到的問題,整體的內容偏向底層,問題解釋的也比較清楚。但是有些地方有錯誤,看的時候要注意。可以加書後面的QQ群,向作者反饋錯誤。

  C++語言,平常用得少,我這部分就沒準備,給不了大家意見。在面試中好幾次問到我C++的指標引用之類的基礎知識,只能和麵試官說C++內容用得少,不熟悉。不過,這並不會成為面試官最後是否要你的決定性因素(只針對嵌入式底層來說)。

2.5 作業系統&計組

  這塊是我的軟肋,好多概念不太懂。不過在學習驅動的過程中,我把這些概念也都整理了一些。具體文章可以看下面的內容。

2.6 專案經驗

  如果自己做過一些專案的話,建議寫兩到三個自己做過的專案,主要從以下幾個方面介紹:

  專案名稱:基於XXX的XXX

  個人角色:專案負責人/模組負責人

  起止時間:2020.3~2020.6

  專案描述:主要介紹專案主要內容,4句話即可。

  程式語言和環境:gcc3.4.2,Ubuntu16.04,S3C2440開發板

  負責事宜:寫自己做了哪些內容,第一,XXXX;第二,XXXX;第三,XXX;

  如果沒有做過專案,可以去找一些開源的專案做一下(韋東山老師第三期的影片中有相關專案的介紹),比如移植Uboot,數碼相框等(韋老師最新的IMX6ULL開發板已經有了更加高大上的專案,也可以寫在簡歷中)。但是不要找那種爛大街的,比如XXX管理系統,五子棋,貪吃蛇。說實話,這些東西再怎麼做,一聽這個名字面試官就會沒興趣了。

  我們也可以適當“包裝”自己的專案,我這個專案是導師申請的國家自然科學基金專案(或者XX省科技重大專項)的一部分,這個專案主要是完成XX技術的攻關。我這個專案是和XX部隊(XX高校)合作的專案,我們負責XX部分。這麼一寫的話“檔次”是不是就上去了呢?但是這裡不是讓大家在簡歷中去造假,在簡歷中造假是不能接受的,這是一個人基本的道德底線!

  自己寫上去的專案一定要搞清楚,弄得明明白白。有好幾次面試中,面試官讓我講你做的這個東西原理是什麼。由於原理比較複雜,所以面試中,我都是邊畫圖邊講,涉及到的公式還要進行推導,為什麼這樣做,都得給面試官講清楚。如果他沒有聽懂,那就是我們沒有講清楚

  說了這麼多,其實主要就是弄清楚這幾個問題:為什麼做這個專案?一共幾個人做?你是什麼角色?你做了哪些部分?你認為最難得地方是什麼?如何解決的?最後收穫是什麼?

  事實上,我們所做的東西是什麼,面試官並不太在意,畢竟公司做的東西比我們要複雜的多,對比公司的產品來說,我們的簡直太low了,我們所做的可能只是個“玩具”而已。面試官主要考察的就是專案的真實性和我們的表達能力

2.7 其他

  至於其他內容,主要有以下幾個方面吧。

1.不要放過任何一次和麵試官聊天的機會(發哥和我說的,受益匪淺)。

  多面試!多面試!多面試!重要的話說三遍!看到有合適的公司要儘早投遞,不要到後面沒有HC了。

  比如我投遞華為是在9.10號。筆試在9.14。雖然筆試過了,測評也過了。但是這個時候其實有點晚了(也可能和投遞的部門有關係)。部門的HR和我說,他們第一批的面試已經結束了,領導要求這段時間要形成閉環。第二批還會有一些HC,但是在10月之後了,而且名額也不會太多了。相反,投遞其他部門的同學,在9.19-9.24這周都收到了面試通知。

  其剛開始前幾次面試肯定會有些緊張,不知所措。但是當你面了三五場之後,你就會發現,面試官問的東西都是差不多的。我在9月中下旬,最多的一天面了4場。有句話說得好,吹牛X吹多了,後面也就很自然了

2.回答問題一定要有邏輯性!先丟擲結論,再分要點回答。

  比如,面試官問你平常你是如何學習專業知識的?以什麼樣的方式?

  答:學習的形式主要分為兩種一種是在學習的過程中解決疑問,以解決問題為導向。比如,在移植Uboot的過程中,我會想到為什麼要關閉I-Cache,D-Cache等,關閉中斷等(這裡可以丟擲這些問題,以防後面會問),遇到這些問題我就會記錄下來,然後上網去查資料。在解決這些問題的過程中,可能會遇到其他的問題,繼續查詢相關資料,直到最後都搞清了。第二種就是系統的學習,如果有比較充足的時間,我會去拿著像Arm體系和架構,深入理解計算機系統這些書去一點一點的讀。去理解這些內容。以上就是我日常的一個學習方式。

3.自我介紹。

  自我介紹是面試中必不可少的部分。面試官一般會利用自我介紹的時間來瀏覽下你的簡歷。建議準備一個一分鐘的自我介紹和三分鐘的自我介紹。我在面試小米的時候,面試官直接打斷我,說自我介紹簡單一點,要不後面沒有時間寫程式碼了。

  我的自我介紹主要是三部分,第一部分是開場白,名字,學校,專業,應聘崗位,應聘該崗位的原因。第二部分是專案經驗的簡單介紹,這裡一定要簡潔,主要說下自己做了那些東西。第三部分是學習能力的介紹,這部分是為了丟擲自己寫部落格的情況,有技術部落格並且部落格的內容比較充實的話,在面試中確實是個加分項

4.簡歷填寫

  投遞簡歷時常常需要在各個網站填寫自己的個人資訊。建議使用如下工具,可以方便的在各個網站自動識別填充所需內容。當然,也有許多識別不了的。這種就沒辦法了。當然,如果大家有其他工具也可以推薦!

5.最後要知道一些知識

3. 書籍推薦C語言

  C Primer Plus,C缺陷和陷阱,C和指標,C專家程式設計

資料結構

  大話資料結構,資料結構與演算法描述-C語言描述。

硬體原理

  Arm體系結構與程式設計,Armv7/Armv9資料手冊。

Linux驅動

  嵌入式Linux應用開發完全手冊,Linux裝置驅動開發詳解,Linux裝置驅動程式

Linux應用程式設計

  Unix環境高階程式設計,Unix環境網路程式設計

計算機基礎

  深入理解計算機系統現代作業系統,計算機組成與設計:硬體軟體介面,計算機體系結構:量化研究方法

Linux核心

  Linux核心完全註釋(麻雀雖小五臟俱全),Linux核心設計與實現,Linux核心原始碼情景分析

  以上書籍加粗的為重點推薦。如果時間不充裕,可以當作工具書來查詢。當然,有時間還是建議認真讀下。

4. 未來展望

  1.接下來的時間準備下大論文的內容,之前投的第二篇小論文有了審稿意見,只是沒改而已,今年過年之前投出去吧。保證自己順利畢業!

  2.補充下作業系統和計算機組成原理的知識。主要看下《深入理解計算機系統》 《現代作業系統》這兩本書把,每週把看過的東西總結下,照常輸出一篇部落格。這部分是最主要的內容,把基礎打紮實了。

  3.作業系統和計算機組成原理的知識形成部落格專欄,堅持!

  4.堅持鍛鍊身體,每週視天氣情況而定,跑步2~3次,週末打打球。

  5.期待入職大華,即將開啟一段新的旅程,充滿了未知和挑戰,要繼續加油鴨!

5. 總結

  秋招結束了,今年感覺好難,好多公司縮招。在九月初有段時間,心情很低落,一直在懷疑自己。特別是投遞簡歷後,漫長的等待。每天都會檢視好幾遍郵箱,生怕錯過了重要的通知。心情不好的時候,我就會去操場邊聽音樂邊跑步,特別喜歡大汗淋漓的感覺。跑完之後整個人的精神狀態會好很多。調整好心態,繼續看面經,刷題,總結基礎知識!

  綜合考慮了下,最後選擇了浙江大華,主要原因是給了一個讓我無法拒絕的理由。自己也詢問了在裡面的師兄師姐,他們說還可以,加班的話沒有網上說的那麼可怕。自己提前做完的話,是可以走的。而且組內打個招呼,有急事也可以請假。加班一般到八點半,對於自己來說其實也可以接受(現在不加班的公司太少了)。至於雙休的話,是看部門,不忙的話雙休都有,忙的話大小週休息。個人還算比較滿意。

6. 致謝

  剛開始拿到Offer後不知道該如何抉擇,父母那邊倒是沒有太大的問題,說哪裡工作合適就去哪裡。很感謝我的父母可以支援我。當時諮詢了發哥,逸珺哥,平哥,朱老師,豆豆姐等,還有在投遞簡歷前也請教了下肖遙哥。非常感謝這些前輩能給我建議!

  2020年疫情在家期間,自己對於找一份什麼樣的工作並沒有明確的規劃。於是諮詢了發哥關於校招,職業發展的問題。發哥大晚上的手打了1000多字回覆我,特別強調要重視校招,多和麵試官聊天,把握機會。在職業發展規劃上,發哥向我介紹了底層驅動是做什麼的,在不同的公司扮演什麼角色,以及未來的晉升通道等。應聘的時候,要多些自信,努力把握好人生的選擇點,在沒有做選擇前,不要把話說死,把方向定死。很多校招企業更看重的是可培養性,進入企業後都是按照一張白紙來培養的。

  投簡歷前,諮詢了下肖遙哥在校招中是選擇崗位還是選擇公司的問題。肖遙哥說,崗位重要,再好的公司如果做的不是你喜歡的擅長的,那麼你可能在這家公司也不會長久,不管做那個方向,做那個行業,還是在一個方面要專注,堅持

  在選擇Offer的時候也諮詢了下逸珺哥,待遇差不多的情況下,考慮公司發展前景以及地域,但要優先考慮公司行業以及前景。也要考慮以後定居等問題,比如是否能落戶,這個和以後孩子的教育也有些關係。但是要找到興趣,待遇,地點等各方面都能滿足的工作還是有點難度的。

  小平哥說,要注意下你應聘的職位和你進去從事的工作內容是否是一樣的。在公司如果從事的方向正好是公司的主要業務,你會學到更多的東西。考慮定居的問題,是幹幾年回老家,還是找個宜居的城市呢?一線城市的壓力是會大一點,但是機會也會多一點。如果回老家或者周邊,公司的規模和待遇等就會比一線城市差一點。

  朱老師說,你擔心的地域問題和年齡問題都不是事,完全可以幹幾年再跳走。而且,你要相信個人機緣就是最好的安排。這種問題沒有標準答案,紫光存在不確定性,對於目前的來說,還是先落袋為安吧。杭州也是個不錯的城市,工作機會也比較多,完全可以支援你未來三到五年的發展。晶片原廠也不一定是最好的,第一份工作只要在質量上沒有問題,後面還是容易跳槽的。

  豆豆姐,第一份工作,跟對人很重要。大公司有成熟的培養體系。剛開始工作,左右對比也很正常。工作本身,無論哪個崗位都能歷練自己。不是賺到,就是學到,關乎己心工作無非也是借境修心。自己私下仔細一想,不管是工作還是生活,確實是這麼個道理,很贊!

18
最新評論
  • 工作沒回報,還要繼續嗎?
  • 管理案例分析:當領導如何駕馭刺頭員工?這3個方法很好用