機械轉(zhuǎn)行嵌入式成功上岸
個人背景
本211,碩985,專業(yè)機械電子工程,
項目經(jīng)驗1:stm32+改進PID控制+組網(wǎng)通信
項目經(jīng)驗2:一個信號采集測試系統(tǒng),F(xiàn)PGA+QT+以太網(wǎng)通信邏輯設(shè)計+電路設(shè)計
學(xué)習(xí)經(jīng)歷
我本科是機械設(shè)計制造及其自動化的,學(xué)的除了數(shù)學(xué)物理基礎(chǔ)課程,還有就是機械的專業(yè)課,跟嵌入式相關(guān)的也就是數(shù)電,模電,單片機,機電一體化設(shè)計這幾個,數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)本科沒有接觸過。本科期間做的有意義的事情就是參加了很多比賽,拿過全國大學(xué)生數(shù)學(xué)競賽一等,還有一些創(chuàng)新創(chuàng)業(yè)的比賽,挑戰(zhàn)杯,互聯(lián)網(wǎng)+。本科期間過的比較隨意,沒有太多規(guī)劃,課程成績比較好,就保研了。碩士的方向是機械電子,期間做了兩個項目,然后重新學(xué)的數(shù)電,模電,因為有單片機基礎(chǔ),然后就用stm32做了項目。因為課題項目需要,又學(xué)了FPGA,對著正點原子買的開發(fā)板學(xué)的。這也是我面試過程中,面試官主要問的內(nèi)容,說得詳細點一般夠說個10分鐘左右。
讀研期間,主要還是接觸硬件的東西多一些,畫板子調(diào)試,軟件編程方面,就是c比較熟悉,但是沒有接觸過操作系統(tǒng)。操作系統(tǒng)也是在秋招的時候才準備的。
秋招準備
因為機械出身,行業(yè)不太景氣,師兄師姐都推薦轉(zhuǎn)行,但是好轉(zhuǎn)一點的就是嵌入式的方向了?;ヂ?lián)網(wǎng)的純軟開,算法轉(zhuǎn)的不多,難度也較大吧,基于這些原因,我也是目標崗位方向是嵌入式軟開。為了給簡歷增加點東西, 4月-6月找了個學(xué)校附近的公司實習(xí),總共就實習(xí)了兩個月,中間還有請假,我算了一下,實習(xí)天數(shù)就21天,寫點python腳本和Java的ADB調(diào)試。實習(xí)比較水,所以在那邊就經(jīng)常學(xué)習(xí)點自己的東西。
實習(xí)辭職之后,暑期就沒有找實習(xí)了,主要是我當時數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)不行,我覺得得自己好好準備一下,實習(xí)給我?guī)淼捏w驗不好,沒學(xué)到東西,所以7月份我就安心準備秋招的知識點,也就是這個時候看到知乎上群主發(fā)的pdf,順著群主的目錄大綱一點點學(xué)習(xí)。到了8月20號我才開始投遞秋招的簡歷(所以沒趕上大疆)。那個時候的水平大概是,掌握C/C++的語法知識點,算法題就是一般難度的可以做做。后來發(fā)現(xiàn)筆試題難度也都不是很大,面試就完全按照pdf來的,然后結(jié)合自己了解到的,又補充記錄了一些知識點。操作系統(tǒng)的知識僅限于一些簡單的八股文,開始投簡歷的時候,還跟著群主推薦的韋東山的視頻看了看,了解了一下開發(fā)的流程。
所以總的來說,我的學(xué)習(xí)周期不是很長,而且暑期中間還出去玩過,到了秋招的時候,也是比較慌的,覺得自己基礎(chǔ)知識不扎實。
面試經(jīng)驗
秋招投了也挺多的,沒有記錄,20多家吧。因為住在上海,所以都是投的上海的崗位。基本都進面試了。說幾個印象比較深刻的。
上海瀚訊(通過)
這家公司不是我自己投的,崗位是驅(qū)動開發(fā),因為是獵頭推薦的,所以一面就直接跳過進的二面,二面是現(xiàn)場主管面,過去的時候在會議室兩個人面試你,輪番提問。都是問項目經(jīng)歷,挖項目細節(jié),30分鐘,第一次這么正式,很緊張,頭上冒汗。不過兩天后,獵頭通知我通過了。
小米(通過)
小米一面:
小米的崗位是無線通信軟開,然后面試都比較水吧,項目細節(jié)基本沒怎么問。一面面試官人很好,就問了我四個問題:
1.堆和棧的區(qū)別
2.棧溢出會產(chǎn)生什么問題
3.怎么檢測到棧溢出,如何規(guī)避
4.進程和線程的區(qū)別
后面就是聊家常了,聊一些業(yè)務(wù)相關(guān)的,還有個人職業(yè)規(guī)劃。最后說完直接就擺明了說我把你的簡歷送到下一個面試官里面,這是唯一一個當場說通過了的。
小米二面:
二面是個年輕一點的人,上來我自我介紹完就問我你對計算機網(wǎng)絡(luò)熟悉么,我說學(xué)過一些,然后就問了兩個很簡單的C語言問題,然后問我對無線知識了解多少,我說沒有學(xué)過,他就沒問題了,我以為涼了,后來小米HR微信聯(lián)系說通過了
樂鑫科技(通過):
樂鑫總共有三面,第一輪是技術(shù)面,一個小時,問的很多,簡歷的東西全部問一遍。大概的話。問到一個小時就結(jié)束了。第二輪是hr面,聊家常。第三輪是主管面,問一問項目細節(jié)和自己擅長什么。不會深挖。后來談薪的時候加面了一個H2芯片的研發(fā)主管,谷歌回來的,面了一個小時,后半個小時是手撕了一道軟硬件timer的題目,不會做,跟著面試官提示,思路走出來了。面試官對我表示了肯定。后來想要我過去,但是還是拒了。
Tplink(一面掛)
很不好的面試體驗,看起來嫌棄我專業(yè)不對口,項目直接沒問,也沒有手撕,問的第一個問題是全局變量和局部變量同名,編譯器是怎么處理調(diào)用的,我沒答出來,問我有沒有學(xué)過編譯原理,我說了解一點,然后匆匆結(jié)束了,總共20分鐘,就是流水線的那種面試,20分鐘一個人。
廣聯(lián)達(一面掛)
C++崗位,基本上從C++的語法問到了設(shè)計模式,問題有指針和引用的區(qū)別,多態(tài),排序算法,時間復(fù)雜度,穩(wěn)定性,UML,設(shè)計模式,項目代碼規(guī)范性,我大概回答出了70%-80%,以為過,但是掛了,可能因為沒有深入的C++項目
Marvell(通過)
這是家外企的半導(dǎo)體公司,然后崗位是做車載以太網(wǎng)芯片的系統(tǒng)工程師,兩輪面試,都是線上視頻,每一輪一個小時,都是三個人在會議室。第一輪先問項目,半個小時,沒深挖,簡歷過一遍。后半小時,面試官打開一個pdf的試卷,在線完成,題目范圍很廣,C/C++基礎(chǔ),arm架構(gòu)的,信號處理的,一道深搜的島嶼問題,最后一道崗位相關(guān)的,狀態(tài)變化的流程,全是英文,沒見過,面試官提示我做出來了。整套卷子難度比較大。不過我是口述,一道一道做,面試官也給了肯定。第二輪換了三個人,深挖項目細節(jié),十分痛苦。過了一周hr聯(lián)系問期望薪資。外企沒有加班,較為輕松,但是我由于報了太多,后來就沒聯(lián)系我了。
華為2012實驗室(通過)
崗位是通用軟開的。機試不是很好做。一面一個小時,半小時聊項目,半小時手撕,二面也是半小時項目和經(jīng)歷,半小時手撕,三面主管面40分鐘,聊的項目經(jīng)歷,然后主管跟我介紹了業(yè)務(wù)項目的重要性和保密性。面試流程很快。
個人總結(jié)
我秋招準備不是很充分,但是也收獲了比較滿意的offer,整個秋招下來我認為最重要的幾點如下:
1.簡歷要打磨好,突出自己的優(yōu)勢,我的競賽比較多,然后我就單獨做了個榮譽獎項的模塊,項目經(jīng)歷是面試流程中最重要的一環(huán),項目最好要有兩個,其中一個必須很熟悉,大概就是項目背景,研發(fā)流程,技術(shù)的學(xué)習(xí)方法,有沒有團隊工作,對項目中的技術(shù)要十分了解,一般面試官通過你的簡歷可能不能透徹掌握你的項目內(nèi)容,你要有一套完整的說辭將你的這個項目完全表述出來,前期可能借助講稿,面多了就記住了。面試過程中,針對崗位,突出項目中涉及技術(shù),給面試官往這個方向提問的暗示。就比如我的項目是用FPGA做的,但是面的崗位是C語言的,那軟件部分還有通信設(shè)計就要多強調(diào)一些。
2.手撕和筆試的難度不在一個等級上,手撕題就參考那個pdf就行了,自己再補充一些。筆試的話,就刷題就行了。我沒做多少道題,看的都是專題性的,除了基本的一些數(shù)據(jù)結(jié)構(gòu)題,還有比如動規(guī),回溯,深搜等,hard的題沒時間可以不刷。前期會比較痛苦,做多了就好了,注意積累和形成方法論,像回溯,動規(guī)這些都是有基本的代碼框架的。
3.保持平常心,找工作不容易,企業(yè)找人也不容易,如果基礎(chǔ)不是很扎實,多強調(diào)自己的學(xué)習(xí)能力,特別是項目和崗位不太匹配,或者面試官對項目不感興趣的時候,學(xué)習(xí)能力是企業(yè)招人的標準。
4.給轉(zhuǎn)行朋友的建議:個人覺得轉(zhuǎn)行不難,像中興還有國企的一些企業(yè)就比較簡單,當然工資也不是很高,想去工資高一些,就自己提前打算,做好自己的學(xué)習(xí)路徑,學(xué)好基礎(chǔ)知識,從GitHub或者一些渠道找一個完整的項目坐下來,現(xiàn)在就有很多智能家居的項目,但是也逐漸在大眾化,最好還是做一個軟硬件都有,比較全面的項目,哪個企業(yè)不想要一個代碼基礎(chǔ)好,又有硬件知識的嵌入式工程師呢?