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