• 正文
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

13小時前
294
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

個人背景介紹

我是Semon,本科就讀于一所211院校的電子信息專業(yè),之后保研本校,所研究的方向為嵌入式軟開。

本科階段

本科的時候主要是基礎(chǔ)的學習,學習c語言,然后接觸了51單片機,之后再學習STM32。那個時候stm32也沒有現(xiàn)在很火的cubemx啥的,底層什么的都是自己照著例程配,雖然學習的很艱難,但是真的會學到很多東西(所以說建議大家還是多看看底層代碼,不要太過依賴這種一鍵配置的SDK,很多時候面試官都會考驗基本功)。

在學校中先后參加了藍橋杯大賽(省二,沒有認真準備,不過藍橋杯沒有國獎都不好意思寫簡歷上)、電子設(shè)計大賽(省二,當時做的是一個無線充電小車,沒有什么編程難度,主要就是硬件電路的設(shè)計,無線充電模塊也是買的,這么緊張的時間內(nèi)做好這樣的一個設(shè)計還是挺肝的,當時對自己也有很大的提升)、互聯(lián)網(wǎng)+大賽(用的學校的科研項目,主要就是利用紅外測距,返回距離,然后各種應用。這方面技術(shù)應用太多了,創(chuàng)新也不夠,市場需求就別說了,互聯(lián)網(wǎng)+本質(zhì)上還是商業(yè)化多一點的,所以直接校二。

不得不說參加各種比賽是對自己相關(guān)知識的錘煉,在項目中你可以很簡單的發(fā)現(xiàn)自己的各種不足,并且由于是固定的ddl,也會push你抓緊一切時間提升,雖然過程比較艱辛,但是可以非常好的鍛煉自己的相關(guān)技能。企業(yè)當然也希望有這種參賽經(jīng)歷的學生,不僅僅是技術(shù)上的,也會是團隊合作、項目統(tǒng)籌等方面的經(jīng)驗優(yōu)勢。

研究生階段

讀研期間,我負責多個老師的橫向項目,接觸FPGA、ZYNQ等平臺,進行更加深入的底層驅(qū)動開發(fā),同時也設(shè)計Linux操作系統(tǒng)以及應用層開發(fā),總體來說項目都有涉及。

項目包括一個基于ZYNQ的視頻檢測系統(tǒng),視頻的采集是通過5640攝像頭的mipi接口,涉及到攝像頭的iic初始化、攝像頭數(shù)據(jù)的傳輸方式、攝像頭數(shù)據(jù)流的格式和轉(zhuǎn)換、數(shù)據(jù)的存儲等待;

數(shù)據(jù)存儲到板卡上后由操作系統(tǒng)端進行讀取,這又涉及到PL和PS的交互、操作系統(tǒng)的配置、設(shè)備樹配置和內(nèi)核的剪裁、操作系統(tǒng)的啟動流程等等;最后在軟件方面還有圖像的增強、相關(guān)物體的檢測以及一些算法的優(yōu)化。

在項目的過程中,我會將項目的各個功能進行模塊分類,一個個完成,因為導師也有開組會的習慣,所以我基本每周將工作進度,遇到的問題以及下周要做的事都寫成word,這樣也是有好處的,有的時候做著做著之前的點就忘了怎么解決了,可以回顧一下看看以前的想法,說不定就做出突破了。

在這個過程中,也碰到許多因為代碼移植、板卡配置等等遇到的問題,一般都是看看例程代碼,網(wǎng)上尋求相似問題解答等等,在一步步嘗試中加深這個模塊的理解,并且解決問題。在一個個發(fā)現(xiàn)問題-解決問題的流程中逐步掌握知識點。

這個項目不管是應用層還是底層都有所涉及,并且由于是自己所負責的項目,相關(guān)的細節(jié)也了熟于心,基本面試情況下大多數(shù)面試官都是針對這個項目進行提問,所以在一次次提問中還可以對項目進行優(yōu)化和查漏補缺。

在簡歷中我也加了一段對stm32的底層相關(guān)的項目,控制電機驅(qū)動芯片使得小車進行運動,涉及到時鐘、中斷、看門狗、spi、uart、編碼器閉環(huán)控制等等,也算一個完整的項目并且也有系統(tǒng)的板卡測試過程,也是自己主要負責并且走完流程的項目。

主要上一個項目偏應用層,再加一個項目偏底層一點,到時候都能說。

對于這個項目,面試官可能更加注重底層邏輯的開發(fā),比如時鐘的配置、相關(guān)總線、spi、uart初始化、中斷配置及實現(xiàn)等等,這些在做的過程中遇到的都是需要掌握的,簡歷上的項目要么你不寫,要寫一定要100%掌握。

在研一末也進入一家小公司進行三個月的實習(糊涂啊實習千萬要去大公司),之后幡然悔悟研二末想找實習卻忙的要死且形式突變。

在我看來一份實習經(jīng)歷還是很重要的,要沖提前批和大廠那就肯定要一份優(yōu)秀的實習經(jīng)歷(就今年來說),而且實習能夠?qū)W到很多在學校中學不到的東西,也能更好的從產(chǎn)品端看項目,同樣水準下面試官也肯定更加傾向于有實習經(jīng)歷的面試者。

在讀研期間也獲得了一個A類賽事國獎、兩篇發(fā)明專利(但是兩個專利都是去年年末投出去的,掛出來沒多久,還在審核中,雖然問題不大但是拿不到結(jié)果,就比較難受,只能說說)以及一篇中文核心,也算是收獲比較多的。

我也看過很多我身邊同學的相關(guān)簡歷,在項目上的不足主要就是:

1、沒能突出自己所做的重要工作,沒能突出自己工作的技術(shù)棧。這樣的講述通常都會讓面試官覺得你的項目平平無奇,并且面試官也無從下口;

2、通常對項目追求量而不追求質(zhì);項目的質(zhì)和量一般不能兩全,有的人寫了很多的項目,并且拿簡單項目湊數(shù),且都用一樣的篇幅描述,面試官一方面會質(zhì)疑你的專業(yè)水平,另一方面也會對簡歷的排版有所詬病。

在我看來,簡歷最好詳略得當,一般2-3個項目就好了。有實習經(jīng)歷就兩個項目,沒有實習經(jīng)歷就三個項目,并且詳略得當(你要考慮,因為面試官可能沒有時間全部問完你的所有項目,所以經(jīng)常的問題就是:這幾個項目中你最熟悉哪一個,詳細介紹一下項目分工、項目介紹、項目開發(fā)思路(原理論證、方案對比、項目架構(gòu))、創(chuàng)新點難點、具體實現(xiàn)等。所以你要選擇一個項目多寫一點并且多準備一點,其他可以省略一點)。

對我來說就是寫兩個項目,ZYNQ做的比較多的工作就寫上面,然后用較多的篇幅描述這個項目;之后小車的項目就排在后面,稍微簡略一點描述一下。

對于項目的內(nèi)容,突出你項目所需要解決的問題,你項目中用到的哪些技術(shù)棧以及技術(shù)難點,你項目的相關(guān)創(chuàng)新點等等,并且保證寫上去的東西你都會,并且都能夠清晰的被面試官捕捉到,這樣其實下意識的面試官會詢問你你在簡歷上寫著的技術(shù)棧,有所準備的話就可以完美應對了。

同時面試嘛,也是循序漸進不斷補充自己的時候,在這個過程中不斷的面試、發(fā)現(xiàn)問題、解決問題、更新簡歷以及自己的庫,才能夠越來越游刃有余。

秋招情況

今年的情況不用多說,大家也都清楚,只能說寒冬已至,相比于去年,各公司的hc是驟降,而且今年也是擴招的第一年,畢業(yè)人數(shù)也大大增加了。

我的簡歷情況大概就是:本碩211+國獎+實習經(jīng)歷+論文專利+相關(guān)的三段項目經(jīng)歷,在今年4月份開始準備投著找實習(有點晚了,三月份就可以開始了),當時就投了霍尼韋爾、聯(lián)發(fā)科和華子,華子簡歷掛,聯(lián)發(fā)科一面掛,霍尼韋爾給了機會(但是不想去)。

我意識到大事不妙,斟酌一下放棄了實習,直接準備秋招。

對了這里可以提一下,獲取校招信息可以有這些途徑,比如哪些公司開始提前批了,哪些公司開始正式批了,我可以投哪些公司的在哪些城市的哪些崗位等。其中有:??途W(wǎng)(校招歷程,??蜕弦矔衕xd專門整理更新校招的資訊,搜索一下就好了)、各種微信群、QQ群、學校官網(wǎng)(會有公司進校招聘等等)、企業(yè)官網(wǎng)、各種微信公眾號。建議能用內(nèi)推碼就用內(nèi)推碼,在??途W(wǎng)有很多內(nèi)推碼分享,各大公司都有。

秋招我從六月份提前批開始投,到九月末正式批總的算下來有差不多40家公司(我也是懶狗,而且小公司都不碰就沖中大廠),提前批沖了十幾個廠,一大半都簡歷直接掛,今年hc比較少,大多招人提前批都招滿了,之后正式批我就不碰大廠了,本碩211沒有競爭力。

時間先后,提前批投遞了:中電10所、TP-LINK、博通集成、集創(chuàng)北方、禾賽科技、中科芯58所、聯(lián)發(fā)科、芯動、大華linux c、安路科技、睿創(chuàng)微納、蔚來嵌軟、樂鑫科技、聯(lián)影微電子。正式批投遞了:聯(lián)蕓、磐啟、大疆嵌入式、復旦微電子、思威特、??低暋㈧`動微電子、寒武紀、聯(lián)想、矽力杰、RIGOL、蘇州國芯、聚辰、合芯、NXP、海光、TP-LINK、思科、聯(lián)合汽車、芯動、華為、新華三、兆易創(chuàng)新、freetech杭州、旺宏微電子、三維通信、星猿哲科技、集度、達發(fā)科技、豪威科技、oppo、Alibaba、商湯科技、小米

這些公司情況大多是:

了無音訊:中電10所、TP-LINK、集創(chuàng)北方、大華linux c、安路科技、磐啟、靈動微電子、寒武紀、聯(lián)想、RIGOL、聚辰、思科、芯動、華為、旺宏微電子、三維通信、豪威科技、oppo、Alibaba、商湯科技

有筆試無面試:芯動、大華linux c、蔚來嵌軟、思威特、思科、新華三、兆易創(chuàng)新、freetech杭州、小米、海光

意向書及薪資:

樂鑫上海site:sp,38W + 飯補每天50,12%公積金,必加班

聯(lián)影微電子上海:32W+,大大大大大白菜

博通集成上海:排序不等了

睿創(chuàng)微納:26W左右,福利工資一般,還加班

矽力杰:32w,還有10W簽字費,統(tǒng)一價,據(jù)說不加班,965

聯(lián)合汽車:26W左右(加上蘇州補貼3W,什么飯補高溫補貼等等),很休閑但是工資低

蘇州國芯:總包35W左右,據(jù)說是薛定諤的加班

旺宏微電子:總包34W左右,加班,小而精的公司

旗芯微:總包36W左右,公司成立沒多久,不過有自己的產(chǎn)品,會加班

值得一提的是,今年許多人崗位都是沖提前批得到的(我得到的意向書一半是提前批),除非是沒有提前批的中大廠,今年少量hc中的大頭還是提前批。

因為去年我?guī)熜智镎薪?jīng)驗就是提前批不要投大廠,會刷簡歷,等正式批可以有機會進面,所以我今年提前批就稍微試了一下大廠,沒想到今年提前批進不去,正式批又沒hc更進不去,大廠道路直接斷了。

另外今年很多公司提前批現(xiàn)在都沒開獎,就別說正式批的什么的了。前幾天觀望中興開獎,壓工資挺狠的,哎要是去年,哪里敢這么低的啊。只能說生不逢時,希望明年各位能夠好找一點。

個人準備

因為導師比較放的松,我也就早早的摸魚開始準備了。每個人對這個學習的方法是不一樣的,我就喜歡看教學視頻。

我從去年9月開始,先看某站的C語言基礎(chǔ)及C語言深究,之后再看數(shù)據(jù)結(jié)構(gòu)與算法(這個我也順帶看大話數(shù)據(jù)結(jié)構(gòu)這本書,還是很不錯的),接著過一遍C++基礎(chǔ)(畢竟自己用C比較多,但是C++還是要掌握的,筆試面試都會遇到題目),然后就是計算機組成結(jié)構(gòu)、計算機網(wǎng)絡(luò)和操作系統(tǒng)等的學習。這些都學完差不多是今年的4、5月份了。

刷題的話其實去年9月份只要有空我就會做leetcode的每日一題,然后在系統(tǒng)性學完專業(yè)基礎(chǔ)知識之后,5-6月份大部分的時間就都花在網(wǎng)上刷題了。我就在Leetcode上瘋狂刷題了(劍指offer+力扣hot100必刷),字符串、數(shù)組、指針、函數(shù)、算法、二叉樹、鏈表、堆棧等等都刷過,而且不會的收藏一下,有空再看一遍。

算法能力的提升是一個長期積累的過程!做題厲害的并不是聰明,而是踏踏實實的努力。今年我也發(fā)現(xiàn)很多中大廠都喜歡現(xiàn)場筆試并且手撕代碼,而許多大廠,比如字節(jié)、阿里等甚至四輪技術(shù)面四次手撕代碼,這個還是很看重基礎(chǔ)的,所以大家還是要多練多刷題。

重復,死磕,到會為止。用很多的時間做這件事不虧的,這些都是基礎(chǔ),重中之重。對于嵌入式來說其實對手撕算法并沒有太大的要求,但是現(xiàn)在行業(yè)內(nèi)卷太嚴重了,大家都在刷,你不刷就直接被淘汰了。

對于專業(yè)知識,一方面我主要還是針對項目進行學習,要知道每次面試100%會深挖你的項目,很多的八股其實都是順著你的項目帶出來的,就是考察這個項目是不是你做的,你在當中負責的部分是否完全熟悉。

首先就是對于項目的方方面面,細節(jié)都摸得很清楚,能夠做到問什么都能夠回答出來。同時對于項目延申出的一些知識點也需要掌握清除,防止面試官問到(在面試的過程中肯定也會遇到?jīng)]準備到的,還是要好好總結(jié),查漏補缺)。

對于自己的項目,如果是stm32底層開發(fā)就看底層代碼,如何配置時鐘的,如何配置外設(shè),spi、uart、iic等,如何配置中斷,進入中斷的。

如果是linux應用相關(guān)的,就是看驅(qū)動配置、設(shè)備樹配置、內(nèi)核和文件系統(tǒng),看看操作系統(tǒng),多線程等等,最后還要歸納一下項目的困難點,對于這些困難你怎么思考的,你從項目中學到了什么,如果是自己從頭做到尾的還是很好概括的。

另一方面就是各類面經(jīng)以及大佬們整理好的資料啦,就照著過,然后該背就背(感謝仲一整理的《嵌入式軟件工程師筆試面試指南》,這對我真的很重要?。τ谟龅降牟磺宄?,比如設(shè)備驅(qū)動、底層開發(fā)等等問題,就在網(wǎng)上找視頻或者教學資料,比如韋東山老師的課程、野火的linux課程,有什么不會的直接看章節(jié)過一遍學一學。

其實基本到面試階段就學的差不多了,對于我來說,我是喜歡在看面經(jīng)、資料以及面試過程中,遇到不清楚的不會的,就記錄一下。我專門新建一個word,分類操作系統(tǒng)、計算機網(wǎng)絡(luò)、C語言、嵌入式底層、應用及LINUX、算法等,然后在里面添加模糊的不會的知識點,有時間就過一下,至少你要做到,前一次面試官問到的不會的知識點,下一個面試官問到你會作答,一個人在一個坑掉兩次那就很不應該了。

當然在我看來,最重要的是自己要多學多思考,在里面加入自己的正確的理解,面試官當然希望聽到正確的答案,但是對于有著自己個性化解釋的正確答案更加能夠吸引面試官。

對了對于面試官來說關(guān)于項目會問:

1、讓你描述工作經(jīng)驗和項目,看看你說的是否和簡歷上一致;

2、看你簡歷上項目里用到的技術(shù),比如SPI,驗證你是否做過項目,同時看你是否了解,然后針對這些技術(shù)深入挖掘;

3、針對某個項目,不斷深入地問一些技術(shù)上的,深入核實你的項目細節(jié)問題,或者從不同側(cè)面問一些技術(shù)實現(xiàn),主要看你前后回答里面是否有矛盾;

4、針對某技術(shù),問些項目里一定會遇到的問題,通過這類問題,核實你們是否真的做過這個項目。

在一些比較開放性的問題中,也可以在自己經(jīng)歷的基礎(chǔ)上進行稍微的美化,能夠體現(xiàn)自己動手能力很強、肯干活、會的東西比較多、團隊合作精神比較好、責任心強、抗壓強、有主見等等。

秋招實況

霍尼韋爾實習面

主管面

自我介紹

深挖項目,介紹框架,思路,具體實現(xiàn),你做了什么工作

如何配置ov5640,你是在Linux下配置的,怎么操作的?

iic配置,因為5640使用的SCCB協(xié)議,和iic差不多,所以就是通過5640的寫地址0x78直接進行sccb寄存器參數(shù)的配置。因為是在linux下進行配置,所以需要對設(shè)備5640在設(shè)備樹下對設(shè)備號進行初始化,并連接相關(guān)的驅(qū)動文件,之后在操作系統(tǒng)開機初始化之后就可以對相應內(nèi)核進行配置,當我們的可執(zhí)行文件訪問5640時,就可以對他進行直接的初始化并調(diào)用它)

什么是DMA,DMA傳輸?shù)母袷??(直接存儲訪問,格式?jīng)]答出來)

你是怎么進行操作系統(tǒng)(OS)剪裁的?步驟?(設(shè)備樹配置,編譯源碼)

如果采集圖像輸入輸出速率不匹配怎么辦?出現(xiàn)幀撕裂等問題怎么辦?

因為在視頻傳輸中很容易出現(xiàn)讀寫不匹配帶來幀撕裂的問題,其實就是在傳輸?shù)倪^程中,還沒被從端讀取輸出的數(shù)據(jù)又被主端重新寫入新的數(shù)據(jù)了。所以我是使用的雙幀緩存,開辟兩個空間并且讀寫端互斥訪問兩個空間,做到一個空間同一時刻只能被讀或者被寫,這樣可以保證幀撕裂不再發(fā)生;對于速率不匹配,一個就是減少圖像的大小,減少幀率來減小數(shù)據(jù)量,另外一個就是一般主端或者從端總有一個傳輸速度是固定的,所以傳輸?shù)淖畲笏俣纫彩枪潭ǖ?,對另一端進行代碼上的優(yōu)化以尋求速度的匹配

什么是volatile變量,有什么用?

一個定義為volatile的變量是說這變量可能會被意想不到地改變,加了這個關(guān)鍵字,編譯器就不會對他優(yōu)化。精確地說就是,編譯器在用到這個變量時必須每次都小心地重新讀取這個變量在內(nèi)存中的值,而不是使用保存在寄存器里的備份

了解我們公司么?

(不了解,主管介紹)

你準備實習多長時間?

三個月,主管直接發(fā)笑,時間太短了

反問

一面主管面,二面hr面(hr面過了很久了已經(jīng)忘了。。。)總體來說還是很舒適的,霍尼韋爾也是個很好的平臺,外企工作強度也不高。

睿創(chuàng)蘇州提前批

自我介紹
項目相關(guān):介紹項目背景、開發(fā)思路、框架、具體實現(xiàn);
你覺得你項目過程中讓你覺得困難的地方是什么?怎么解決的?

這個問題主要看公司以及你的崗位,如果你是招聘的應用層開發(fā),那就聊一下驅(qū)動配置,設(shè)備樹配置以及文件系統(tǒng)相關(guān)的困難點,怎么解決的;如果你是應聘的底層開發(fā),那主要聊一下底層邏輯,中斷相關(guān)怎么實現(xiàn)的,相關(guān)的通信的底層實現(xiàn)。主要還是體現(xiàn)出你對項目問題的思考,你的解決方法的切入點還有你對項目的掌握能力。

介紹一下static

靜態(tài)局部變量,在函數(shù)中定義,若不初始化則為0,只占用一個空間,只能在函數(shù)中被修改、靜態(tài)全局變量只能在該文件中使用及修改,其他同上、靜態(tài)函數(shù)只能在該文件中被使用,其他文件不能調(diào)用該函數(shù)

進程一般有哪幾個區(qū)?

靜態(tài)區(qū)、代碼區(qū)、堆、棧

靜態(tài)變量存儲在哪個區(qū)?
靜態(tài)區(qū)

為什么靜態(tài)變量和一般變量在一個區(qū),作用卻不同(編譯器對static怎么做)?

靜態(tài)變量就初始化一次,只占用一個內(nèi)存空間,編譯器在讀到static之后就會對他賦予不同的作用域,使得它只能在作用域內(nèi)有效,如果作用域之外的文件調(diào)用它,就會報錯顯示沒有初始化該函數(shù)/變量

講一下多線程間的通訊手段

管道、信號、全局變量

死鎖是什么?怎么發(fā)生的?如何解決?

多個進程在運行過程中因爭奪資源而造成的一種僵局

學校的成績?

前10%

你了解我們公司么?為什么選擇我們公司?
偏向于底層驅(qū)動還是應用層?
反問
HR面

自我介紹

在學校的成績排名?獲得過什么獎項?

你覺得別人對你的最多的評價是什么?說三個詞?

你覺得你有哪些優(yōu)點?

你在公司實習過,有什么收獲?

上學期間有什么讓你特別印象深刻的事么?

之后會留在蘇州進行工作么?

你愿意提前實習么?

有沒有面過其他公司?有特別想去的公司么?

你的未來規(guī)劃(職場、生活等等)

有沒有女朋友(怎么每個hr都喜歡問這個)

你選擇公司的比較看重的點是什么?

你的期望薪資是多少?

反問:培訓、住房、薪資

上市公司,最主要的亮點就是有雙休,平常不加班,所以工資給的不是很高,適合養(yǎng)老。面試友好,面試官親切。

聯(lián)發(fā)科嵌入式軟開提前批

一面(50分鐘)

面試官非常和藹,先自我介紹,之后前期話題主要圍繞著項目提出各種發(fā)散性問題,包括項目分工、項目介紹、項目開發(fā)思路(原理論證、方案對比、項目架構(gòu))、創(chuàng)新點難點、具體實現(xiàn)等。項目是自己做的回答起來就不成問題。面試后期基本上是夾雜著少量技術(shù)問題的聊天,筆試題沒做對的面試前要搞懂(可能會問,但是我沒有被問)。

項目中的難點在哪里,你在項目過程中遇到了哪些困難,怎么克服的?

有沒有參加什么比賽?

老師推薦,在第一時間作為隊長報名比賽,使用的是自己正在進行項目的半成品。在一個月的準備時間中,大部分時間用來優(yōu)化算法及硬件設(shè)備,其余時間整理文檔及演講素材,最后幾輪比賽后也很榮幸獲得國家二等獎的獎項。我比較享受比賽緊迫的氛圍,在這種情況下可以讓自己進行項目的突破,這種成就感是不可替代的。在這個過程中我也學到了許多,獲得的獎項也是對我努力的認可。

在學校的成績怎么樣?

前10%

你為什么選擇這家公司進行實習(有實習經(jīng)歷的話)?

老師橫向項目,要求去公司實習完成項目

·為什么選這個site?

你還投了/面了哪些公司

對聯(lián)發(fā)科的了解

反問

二面(30分鐘)

自我介紹

狂問項目

和之前差不多,基本根據(jù)我的簡歷一條一條問

為什么static可以讓其他文件訪問不了靜態(tài)函數(shù)

靜態(tài)變量就初始化一次,只占用一個內(nèi)存空間,編譯器在讀到static之后就會對他賦予不同的作用域,使得它只能在作用域內(nèi)有效,如果作用域之外的文件調(diào)用它,就會報錯顯示沒有初始化該函數(shù)/變量

形參存儲在哪個區(qū)?

為什么選擇聯(lián)發(fā)科

怎么平衡生活和工作

接受加班么

反問

發(fā)哥不多說了,面試官很親切,二面后掛

中科芯58所提前批

一面

自我介紹

你在做這個項目時遇到的最困難的事是什么,怎么克服的?

你在項目中負責什么工作?你做了什么,取得了什么成果?

負責項目的全部流程開發(fā),主要是項目原理證明、軟件實現(xiàn)、算法優(yōu)化、硬件實現(xiàn)以及相關(guān)測試工作,最后所設(shè)計的產(chǎn)品達到了預期的性能,產(chǎn)出一篇中文核心,兩篇發(fā)明專利

你項目中用到了FPGA,你了解么,會寫verilog么?

因為項目中FPGA用的不是很多,都是照著例程修改的,所以可能不是很熟練。會寫會讀verilog

你項目用的板子的ARM核是什么核,介紹一下?

A53

看你還剪裁系統(tǒng)了,操作步驟是什么?

設(shè)備樹配置、源碼編譯

用過幾年的stm32?

兩年

STM32上你比較熟悉哪幾個模塊?

IO模塊、SPI模塊、UART模塊、中斷、時鐘配置、看門狗等等

IO口的開漏輸出和推挽輸出有什么區(qū)別?

兩者對于低電平的輸出相同,對于高電平的輸出不同。推挽輸出:可以輸出高,低電平,直接連接數(shù)字器件; 開漏輸出:輸出端相當于三極管的集電極. 要得到高電平狀態(tài)需要上拉電阻才行

介紹一下SPI傳輸,有幾個口?

四個,SCK時鐘線,CS片選信號線以實現(xiàn)單主機控制多從機的操作,MISO主機接受從機發(fā)送,MOSI主機發(fā)送從機接收

知道SPI的DMA么?

不是很了解,沒有碰到過

你項目中使用SPI做什么操作?怎么用SPI控制多個從機?

使用片選信號進行選擇,多個從機連接相同的SCK、MISO、MOSI、CS,CS默認全拉高,當想要某個從機工作時,拉低該從機的CS腳,就可以選中從機進行spi傳輸

你了解ARM底層和內(nèi)核么?

了解一些,在本科階段有相關(guān)的課程

大端格式和小端格式的區(qū)別;

小端:低字節(jié)存在內(nèi)存的低位,高字節(jié)存在內(nèi)存的高位。大端和小端相反

你了解我們公司么?

不了解,主管介紹

你是哪里人,為什么選擇來我們這工作?

面試之后就拒了,白嫖加班,加班狠給錢少,要求多,這就是研究所。面完一面趕緊拒了,具體可以移步知乎,全是黑料。

樂鑫提前批

一面

自我介紹

在這簡歷的四個項目中你最熟悉哪一個?整體介紹一下,畫框圖。

·在這個項目中你主要負責哪個部分?

詳細講一下接收到圖像數(shù)據(jù)之后你的算法工作。

5640采集到的圖像會存儲在PS端的DDR中,程序會讀取DDR中的圖像數(shù)據(jù),對一幀圖像進行相關(guān)的增強等的算法操作,之后提取相應灰度均值,之后釋放這幀圖像的存儲空間,接下來進行下一幀圖像的相關(guān)信息的提取,直到提取512幀的數(shù)據(jù),即512大小的一維數(shù)組,再對數(shù)組進行后續(xù)的算法開發(fā)得到結(jié)果

為什么幀數(shù)選取是512幀?為什么選用兩種方法進行估計?

為了迎合傅里葉變換,最簡單的FFT實現(xiàn)基于一個折半的遞歸。如此,我們當然需要點的個數(shù)為2的次冪。但是FFT其實對點數(shù)并沒有強制限定。即使點數(shù)不是2的冪,也可以增加一些0點湊出一個2的冪,然后進行運算,如此不影響算法的執(zhí)行,但是會影響算法計算的速度以及效率

系統(tǒng)的精確度?你覺得在什么樣的情況下輸出的準確度會降低?

因為我們所設(shè)計的系統(tǒng)是和圖像處理以及圖像像素強度有關(guān),所以在圖像采集過程中外部光照的經(jīng)常變化,或者是被測者的突然移動都會影響檢測精度,但是我們也考慮到了這一點,通過優(yōu)化算法,我們所設(shè)計的系統(tǒng)可以在正常情況下的誤差可以達到2以下,在外部干擾情況下誤差達到5以下

在操作系統(tǒng)上你做了什么工作?懂內(nèi)核和文件系統(tǒng)么?

搭建SDK環(huán)境、搭建交叉編譯環(huán)境、在環(huán)境下進行C的編寫以及交叉編譯、配置設(shè)備樹及文件系統(tǒng)、操作系統(tǒng)的移植;內(nèi)核和文件系統(tǒng)在項目的開發(fā)中都有所涉及

公司的實習主要做什么?簡單介紹一下。

主要是負責一個MCU項目的開發(fā),需要完成項目的原理分析、需求分析、器件采購清單、產(chǎn)品初步實現(xiàn)、產(chǎn)品測試、最終實現(xiàn),最后輸出相關(guān)報告;過程中也需要和部門其他同時進行交流合作,共同完成項目的開發(fā)

你覺得公司實習和學校中科研有什么差別?

主要就是自由度和科研角度吧,在學校學習的時間可以自己分配,很自由也沒人監(jiān)管,在公司的話有固定的工作時間;在學??蒲兄饕菍椖康拈_發(fā),更加偏向理論開發(fā),其實不用擔心成本或者相關(guān)技術(shù)或者什么的,老師都會把關(guān),在公司中產(chǎn)品的開發(fā)需要涉及方方面面,要多和同事上級溝通,更加偏向產(chǎn)品化

知道stm32的上電順序么?

不怎么了解

知道操作系統(tǒng)的上電順序么?

FSBL內(nèi)部RAM--SSBL內(nèi)部ROM--(外部ROM)內(nèi)核--根文件系統(tǒng)--用戶程序

講述項目職責

反問

二面技術(shù)面

自我介紹

在這簡歷的四個項目中你最熟悉哪一個?介紹一下

項目涉及到哪些技術(shù)棧?你是負責哪些方面的?

攝像頭視頻數(shù)據(jù)是如何傳輸?shù)??格式是什么?/h5>

攝像頭是MIPI接口,配置后輸出RAW格式圖像,在FPGA端將數(shù)據(jù)轉(zhuǎn)換為32位數(shù)據(jù)流,之后轉(zhuǎn)為RGB888格式,然后通過VDMA存儲到DDR中

你是如何平衡傳輸中輸入輸出速率不匹配的問題?

上面有

在存儲過程中用到了多幀轉(zhuǎn)換,簡單介紹一下。

就是開辟兩個存儲空間,一個讀一個寫,兩個空間互斥訪問

PS端和PL端是如何互聯(lián)的?

在ZYNQ板卡上有多個高速的HP口用于連接PS端和PL端

主要是用什么語言?(c語言),在代碼中用到多線程了么

用到了,雙線程,一個現(xiàn)場進行圖像的讀取以及存儲,另一個線程對存儲的圖像進行圖像分析以及數(shù)據(jù)提取,兩個線程有先后關(guān)系,所以設(shè)置了同步鎖。

簡單介紹一下多線程和多進程的關(guān)系。

進程是計算機中的程序關(guān)于某數(shù)據(jù)集合上的一次運行活動,是系統(tǒng)進行資源分配和調(diào)度的基本單位,是操作系統(tǒng)結(jié)構(gòu)的基礎(chǔ)?;蛘哒f進程是具有一定獨立功能的程序關(guān)于某個數(shù)據(jù)集合上的一次運行活動,進程是系統(tǒng)進行資源分配和調(diào)度的一個獨立單位。線程則是進程的一個實體,是CPU調(diào)度和分派的基本單位,它是比進程更小的能獨立運行的基本單位。

聊家常

哪里人,為什么選擇公司,了解產(chǎn)品么

反問

技術(shù)、職責、工作時間等等

二面

對項目以及自己的個人情況進行了解

三面HR面

自我介紹

之前的技術(shù)面試怎么樣,感覺和崗位適配度高么?

為什么選擇上海這個site?

你在上海有家人么?

你是本碩都是一個學校的,是保研的么?

那你為什么保研本校呢,考慮到了什么?

你大學研究生生活以來覺得最有成就感的事是什么?

用三個詞語形容一下你自己

·(詞語中說到了認真負責)有具體事情可以證明你認真負責么?

在現(xiàn)實中喜歡交際么?朋友對你的評價大多是怎樣。

你單身么?

平常看什么書籍么?課外書還是技術(shù)相關(guān)的書?

對一種新接觸到的技術(shù),你一般是如何開始學習的?

對未來的職業(yè)有所規(guī)劃么?

期望薪資是多少?

你投遞了多少家公司?有幾個offer?投遞的上海的公司有幾家?

有什么特別傾向的公司么?影響你選擇公司的因素有哪些?

反問。

已拿到提前批意向書,總體感覺還不錯。

博通集成

技術(shù)面+筆試

手搓代碼:鏈表中刪除一個元素(LEETCODE原題)

個人自我介紹

這幾個項目你哪個項目做的最久最大?簡單介紹一下;

在這個項目中你是那部分花的時間最多?

在開發(fā)流程中大概是算法優(yōu)化占用的時間比較多,當然這也包括優(yōu)化--測試--優(yōu)化的過程,因為我們的產(chǎn)品其實對外部光照以及測試者移動都很敏感,稍微的變化就會產(chǎn)生一定的干擾,所以為了減小這些干擾帶來的相關(guān)變化,我們查閱很多資料,并在此基礎(chǔ)上提出了自己的優(yōu)化算法,然后設(shè)計詳盡的測試流程對算法進行測試,在測試中優(yōu)化,最終得到現(xiàn)在所呈現(xiàn)的產(chǎn)品結(jié)果

你實現(xiàn)項目的流程是怎樣的,直接硬件實現(xiàn)么?

項目具體流程大概是需求分析、原理分析、算法推導、模擬仿真、板卡選型、軟件實現(xiàn)、硬件實現(xiàn)、測試優(yōu)化,在前期工作做好之后,我們一開始是依靠PC機進行相應的算法實現(xiàn)及優(yōu)化的,因為從運行效率、相關(guān)復雜度來說,PC端的測試要簡潔很多。當PC端測試的差不多,算法優(yōu)化完成時,再進行硬件的移植

你算法中的xxx是怎么實現(xiàn)的,xxx為什么這么做;

你是怎么想到要這樣優(yōu)化算法的?

看了很多論文,復現(xiàn)了很多論文中提到的方法,進行相應的優(yōu)劣對比,考慮問題所在,在一次次實驗和測試中對方法進行優(yōu)化,使得算法在不同情景下具有普遍性

QT是怎樣實現(xiàn)的,有哪些組件?

Qt 中的每個控件都由特定的類表示,每個控件類都包含一些常用的屬性和方法,所有的控件類都直接或者間接繼承自 QWidget 類。實際開發(fā)中,我們使用 Qt 提供的這些控件,通過交互的方式實現(xiàn)控件下編寫的相關(guān)代碼。label、按鈕等等

QT中信號和槽的關(guān)系;

一對一、一對多、多對一

操作系統(tǒng)的移植主要做了哪些操作;

首先根據(jù)PL端的內(nèi)核配置創(chuàng)建源代碼工程,生成初始設(shè)備樹,之后對設(shè)備樹進行個性化的配置,增加設(shè)備,之后對相應的庫文件以及驅(qū)動文件進行配置,設(shè)置為SD卡啟動,最后進行源碼編譯,然后移植到SD卡中即可

設(shè)備樹上怎么配置來讓系統(tǒng)連接設(shè)備的;

添加設(shè)備號,編寫驅(qū)動程序,將設(shè)備掛載到板卡上

文件系統(tǒng)的作用?為什么添加文件系統(tǒng);

文件系統(tǒng)實現(xiàn)對磁盤空間的統(tǒng)一管理,一方面文件系統(tǒng)對磁盤空間進行統(tǒng)一規(guī)劃,另外一方面文件系統(tǒng)提供給普通用戶人性化的接口。

對C還是C++了解的多一點?

解釋一下volatile,什么時候會用到它?

防止編譯器優(yōu)化,并行設(shè)備的通用寄存器,多個線程訪問的非自動變量

實參會保存在哪個區(qū)里面;

靜態(tài)區(qū)

簡述static在c語言中的應用;

對于函數(shù)中的靜態(tài)變量:初始化一次,只能在函數(shù)中改變及使用;靜態(tài)全局變量及函數(shù):只能在該文件中使用

結(jié)構(gòu)體和結(jié)構(gòu)體指針的區(qū)別,用什么好;

內(nèi)存占用的區(qū)別,結(jié)構(gòu)體需要占用內(nèi)部所有元素大小的字節(jié),指針只需要占用指針大小的字節(jié);我選擇指針,空間占用小,在知道指針大小的情況下一般不會發(fā)生調(diào)用問題

為什么會想來上海工作

期望薪資;

反問

二面HR面

自我介紹

之前的面試怎么樣?對公司有什么期待?

因為公司在多個城市都有分部,你會傾向于某個城市么?

你了解我們公司的產(chǎn)品么?希望未來是往底層還是應用層發(fā)展?

最近投了幾家公司了?有幾個offer?

現(xiàn)階段有沒有很想去的公司?

一般選擇公司會考慮什么因素?

在學校的成績?nèi)绾危?/p>

是否單身?

有沒有租房經(jīng)驗?

對薪資有什么期望?

反問(住房、工作時間、調(diào)薪方式等等)

博通集成加班好像也很嚴重,但是給的薪資還是不錯的,一面直接三個面試官,一個項目,一個問基礎(chǔ),一個看你手搓代碼,輪番轟炸。已經(jīng)有意向書。

禾賽科技

技術(shù)面+筆試

手搓代碼:atoi函數(shù)實現(xiàn)。

自我介紹;

哪個項目你做的最久最熟悉?簡單介紹一下。

Zynq技術(shù)手冊看了多少?了解到了什么部分的技術(shù)知識?

看得不多,主要是一些我項目用到的,比如說DDR存儲器、PS-PL高速連接、VDMA、相關(guān)IP核的了解等等

項目主要負責哪些方面?

整個流程

PS和PL端如何互通?

之前介紹過

設(shè)備樹和內(nèi)核如何配置?如何工作?

之前介紹過

操作系統(tǒng)啟動流程?

之前介紹過

Bootloader有幾個部分?

FSBL和SSBL,first stage 和 second stage

介紹一下stm32的項目?

STM32用了多長時間,熟悉什么?

之前介紹過

什么是中斷?

中斷是CPU對系統(tǒng)發(fā)生的某個事件作出的一種反應。)中斷現(xiàn)場保護那些東西?(保護現(xiàn)場主要是把一些重要的寄存器如PSW、工作寄存器和SFR等的內(nèi)容壓入堆棧。

PIC和PIE了解么?

這個真不了解

SPI總線介紹,有幾種工作模式?

有四種工作模式,在數(shù)據(jù)采集時,主要看時鐘線實在上升沿還是下降沿,還有相位區(qū)別0或者90

進程和線程相關(guān);

(1)一個進程死了不影響其他進程,一個線程崩潰很可能影響到它本身所處的整個進程。2) 創(chuàng)建多進程的系統(tǒng)花銷大于創(chuàng)建多線程。3)多進程通訊因為需要跨越進程邊界,不適合大量數(shù)據(jù)的傳送,適合小數(shù)據(jù)或者密集數(shù)據(jù)的傳送。多線程無需跨越進程邊界,適合各線程間大量數(shù)據(jù)的傳送。并且多線程可以共享同一進程里的共享內(nèi)存和變量。)

介紹一下編譯的幾個步驟?如何理解交叉編譯?

預處理、編譯、匯編、鏈接;對于不同平臺,在其他平臺使用這個程序就需要交叉編譯,選擇其他平臺的源碼進行編譯鏈接,一般針對PC-ARM,因為arm并沒有那么多的資源承載編譯匯編所需要的相關(guān)庫

介紹一下虛擬內(nèi)存物理內(nèi)存(內(nèi)存的基本單位是什么)

虛擬內(nèi)存是對物理內(nèi)存的一種抽象,它介于應用程序與物理內(nèi)存之間。應用程序是面向虛擬內(nèi)存編寫的,而不再是面向物理內(nèi)存編寫的。應用程序在運行時只能使用虛擬地址CPU負責將虛擬地址翻譯成物理地址,操作系統(tǒng)負責設(shè)置虛擬地址到物理地址的映射。

為什么用虛擬內(nèi)存?虛擬內(nèi)存如何映射到物理內(nèi)存?

整個系統(tǒng)就運行統(tǒng)剛啟動的時候還是運行在物理內(nèi)存上的,內(nèi)核也被全部加載到了物理內(nèi)存。內(nèi)核會記錄進程的虛擬內(nèi)存分配情況,但是并不會馬上分配物理內(nèi)存建立頁表映射,而是讓進程先運行著。

進程運行的時候,CPU都是通過MMU訪問虛擬內(nèi)存地址的,MMU會用頁表去解析虛擬內(nèi)存,如果找到了其對應的物理地址就直接訪問,如果頁表項是空的,就會觸發(fā)缺頁異常,在缺頁異常中會去分配物理內(nèi)存并建立頁表映射。

然后再重新執(zhí)行剛才的那條指令,然后CPU還是通過MMU訪問內(nèi)存,由于頁表建立好了,這下就可以訪問到物理內(nèi)存了。

當物理內(nèi)存不足的時候,內(nèi)核還會把一部分物理內(nèi)存解除映射,把其內(nèi)容存放到外存中,等其再次需要的時候再加載回來。

這樣,一個進程運行的時候并不需要立馬加載其全部內(nèi)容到物理內(nèi)存,進程只需要少量的物理內(nèi)存就能順利地運行,于是系統(tǒng)運行進程的吞吐量就大大提高了。

在公司實習有什么感受?主要負責什么?

主要負責項目的開發(fā),產(chǎn)品的制作和測試;感受就是在公司中制作的產(chǎn)品會更加考慮到產(chǎn)品的成本、相關(guān)技術(shù)的橫縱向比較以及如何突出自身產(chǎn)品的優(yōu)點,畢竟面向商業(yè)化,和平常學校做項目不一樣。在公司自己只要負責研發(fā)這一塊,其他的期間采購、測試環(huán)境搭建等等會有其他人負責,每個人負責范圍劃分清除,各司其職。同時在公司也會有明確的計劃和ddl,也會要求總結(jié),效率會更高,也方便和其他部門溝通。

你比較傾向于負責哪一塊的內(nèi)容?

反問

一面面了好久好久,問了好多好多,面試官很穩(wěn)柔,我回答不出來他還說沒關(guān)系沒關(guān)系,感覺自己可能幾個問題沒回答出來,掛了。

蘇州國芯(線下面試筆試)

筆試1小時

c基礎(chǔ)、嵌入式基礎(chǔ)、操作系統(tǒng)、四道編程題

技術(shù)面試(三位面試官)

自我介紹

你這些項目中哪個項目做的最久最熟悉?

簡單介紹一下項目(原理、框架、硬件軟件、實現(xiàn)結(jié)果)

簡述一下zynq板卡的構(gòu)成;

PL+PS,PL為可編程邏輯端,PS為操作系統(tǒng)端,ARM內(nèi)核,兩者通過高速線相連,外設(shè)會分別連接在PL和PS端

板卡上你主要負責哪些技術(shù)棧;底層還是應用層偏多?

STM32的底層,ZYNQ的底層和應用層,這些在簡歷上都有所體現(xiàn);底層偏多

軟件是你自己實現(xiàn)的么?簡述流程;

是的

數(shù)據(jù)的采集和傳輸是如何實現(xiàn)的?

ZYNQ的PL端連接MIPI接口的5640,當5640被iic初始化之后,進行數(shù)據(jù)的采集,數(shù)據(jù)采集格式為RAW格式,在PL端進行數(shù)據(jù)流轉(zhuǎn)換,轉(zhuǎn)為32bit數(shù)據(jù)流,再變?yōu)?4bit數(shù)據(jù)流即RGB888格式,之后通過高速的HP口 存儲到PS端的DDR中。

系統(tǒng)如何應對輸入輸出不匹配的問題?

你系統(tǒng)使用雙幀緩存,流程如何,怎么實現(xiàn)互斥訪問的?

PS端和PL端依靠什么進行通信?如何實現(xiàn)的?

怎么使用PS端讀取ddr中的內(nèi)容

因為DDR的物理地址是知道的,大概就是0x10000000開頭,然后順序存儲數(shù)據(jù),在linux下需要用mmap()函數(shù)將寄存器物理地址映射為用戶空間的虛擬地址,即將寄存器的那段內(nèi)存映射到用戶空間,將文件描述符 fd (即ddr內(nèi)存掛載的設(shè)備,進行open)指定文件的物理內(nèi)存區(qū)至調(diào)用進程的用戶空間虛擬內(nèi)存區(qū),之后函數(shù)返回最后文件映射到用戶空間的地址,在程序中就可以直接操作該地址,對地址指針進行讀操作即可。

PS端使用的什么芯片?你在上面運行LINUX系統(tǒng)了么?

ARM-A53,運行了xilinx公司開發(fā)的petalinux系統(tǒng),自己編譯的

Linux內(nèi)核你是用的現(xiàn)成的還是自己依靠源碼編譯的?具體流程如何?

源碼編譯的,網(wǎng)上下載源碼-》搭建交叉編譯環(huán)境-》加載PL端相關(guān)ip核的工程文件-》配置內(nèi)核和相關(guān)的文件庫、驅(qū)動,在SD卡啟動-》配置設(shè)備樹-》對工程進行make編譯-》將相關(guān)文件移動到SD卡中-》辦卡啟動即可

Linux下你是怎么驅(qū)動攝像頭的?對設(shè)備驅(qū)動了解多少?

linux下對攝像頭的啟動只需要完成iic的配置,之后攝像頭傳輸數(shù)據(jù)會經(jīng)過PL端數(shù)據(jù)轉(zhuǎn)換后存儲到ddr中;5640攝像頭需要作為設(shè)備掛載到板卡上,就需要在設(shè)備樹中對該設(shè)備進行設(shè)備號、設(shè)備地址的配置,并且要連接上相應的驅(qū)動,這樣才可以在程序中對攝像頭進行初始化及調(diào)用。

設(shè)備樹是如何配置的?有什么用?

設(shè)備樹是節(jié)點和屬性的簡單樹結(jié)構(gòu)。屬性是鍵值對,節(jié)點可以包含屬性和子節(jié)點樹的節(jié)點,描述了linux內(nèi)核或其他軟件系統(tǒng)(如u-boot)用于初始化硬件的參數(shù)。

一些優(yōu)點包括:無需重新編譯任何源代碼即可輕松更改系統(tǒng)配置、可以輕松添加對新硬件的支持、可以使用include語句重用現(xiàn)有的.dts文件,并可以覆蓋以前定義的功能。)

你熟悉QT么?

具體用到了什么功能?

什么是交叉編譯?

操作系統(tǒng)啟動流程;

cache是如何實現(xiàn)的;

stm32用多少的時鐘,spi用多少的時鐘;

64M和2M

項目的spi是怎么實現(xiàn)的,有什么功能,如何對多從機進行控制;

uart通信是怎么實現(xiàn)的,報文格式是什么?

uart是一種通用的異步收發(fā)器,是一種串行通信方式,數(shù)據(jù)在傳輸過程中逐一傳輸。對于串口通信最重要的就是五個量,起始位、數(shù)據(jù)位,停止位,校驗位以及波特率,設(shè)置時需要對他們進行初始化。使能相應的串口時鐘和GPIO時鐘-》初始化串口的TXD和RXD所在的GPIO-》初始化串口-》使能串口。通信采用modubus協(xié)議,包括1字節(jié)地址、1字節(jié)功能碼、1字節(jié)寄存器、4字節(jié)數(shù)據(jù)、2字節(jié)校驗

介紹一下中斷,你項目中用到了什么中斷?中斷依據(jù)是什么?

定時器中斷,定時進入程序,檢測編碼器數(shù)值是否有誤,有誤就進入中斷服務子程序,進行相應的補償,最后回到主程序

如果項目跑飛了怎么辦

在程序中加看門狗

看門狗的實現(xiàn);

STM32內(nèi)置看門狗,可用來檢測和解決由軟件錯誤引起的故障;當計數(shù)器達到給定的超時值時,觸發(fā)一個中斷(僅適用于窗口型看門狗)或產(chǎn)生系統(tǒng)復位。獨立看門狗(IWDG)由專用的低速時鐘(LSI)驅(qū)動,即使主時鐘發(fā)生故障它也仍然有效。使用自由運行的遞減計數(shù)器,時鐘由獨立的RC振蕩器提供(可在停止和待機模式下工作),看門狗被激活后,則在計數(shù)器計數(shù)至0x000時產(chǎn)生復位,所以在程序中使得該計數(shù)器計數(shù)到0之前進行看門狗復位,程序就可以正常運行;如果程序跑飛了,看門狗計數(shù)到0,自動復位程序,程序就可以繼續(xù)執(zhí)行了。

反問:

技術(shù)棧、適合什么崗位

HR面

哪里人?以后想在那里進行工作,為什么?

是否單身?

期望薪資是多少,有什么判斷依據(jù);

研究生期間有什么最有成就感的事情?簡述一下;

你有西安的實習經(jīng)歷,為什么會去西安?

在實習中學到了什么?負責什么?

在剛剛的技術(shù)面中覺得自己和崗位適配度高么?

比較想從事底層還是應用層的開發(fā)?

有考慮其他公司么?現(xiàn)在有幾個offer?

除了嵌入式,你還有考慮到其他的崗位么?

影響你選擇公司的主要因素有哪些?

hr簡述公司情況、調(diào)薪方式、公積金、住房補貼等等

反問。

沒啥好說的,三個技術(shù)面試官,面完ok。給的很多,有雙休,剛剛上市還算ok。聽別人說是薛定諤的加班,僅供參考。

集度(百度下自動駕駛企業(yè))

自我介紹

介紹自己的項目(最熟悉的)

你在當中做了什么東西?有哪些成果?

camera和dp驅(qū)動是自己做的嗎?

移植過程中出現(xiàn)了哪些什么問題?

講述一下上電之后linux啟動的流程;

小車驅(qū)動項目主要完成了什么?

控制電機驅(qū)動芯片使得小車進行運動,涉及到時鐘、中斷、看門狗、spi、uart、編碼器閉環(huán)控制等等

spi有幾條線?怎么控制多從機的?兩個參數(shù)有什么用?

SPI速度是多少;

2M

怎么配置uart的?

上面介紹過

在實習中負責什么工作?

上面介紹過

怎么定義常量的?

#define或者const。

1、define是預編譯指令,const是普通變量的定義,define定義的宏是在預處理階段展開的,而const定義的只讀變量是在編譯運行階段使用的。

2、const定義的是變量,而define定義的是常量。define定義的宏在編譯后就不存在了,它不占用內(nèi)存,因為它不是變量,系統(tǒng)只會給變量分配內(nèi)存。但const定義的常變量本質(zhì)上仍然是一個變量,具有變量的基本屬性,有類型、占用存儲單元。所以編程時在使用const和define都可以的情況下盡量使用常變量來取代宏。

3、const定義的是變量,而宏定義的是常量,所以const定義的對象有數(shù)據(jù)類型,而宏定義的對象沒有數(shù)據(jù)類型。所以編譯器可以對前者進行類型安全檢查,而對后者只是機械地進行字符替換,沒有類型安全檢查。這樣就很容易出問題)

volatile怎么使用的?為什么要用?

為什么編譯器可以跳過優(yōu)化?

讀內(nèi)存而不是緩存

了解崗位職責么?

反問

一面感覺還挺好的,面試官還說我基礎(chǔ)好,項目也很好,over。

二面主管面

之前都有介紹過,都是差不多的問題

自我介紹

你最熟悉的做的時間最長的項目是哪個?

在這個項目的過程中你覺得自己學到了什么東西,在什么方向上有所提升?

項目中你覺得最困難的點在哪里,如何進行解決的?

簡單介紹一下你的實習經(jīng)歷,從中學到了什么;

你覺得在學校和在公司最大的區(qū)別在哪里,你會怎么應對?

項目用c語言還是c++比較多?

反問

二面時常很短,就20分鐘左右,可能是kpi面吧

??低暻度胧?/h4>

一面(30min)

自我介紹

選擇一個你最熟悉的項目進行介紹;

你的項目主要解決了什么問題,如何解決的,你在其中做了什么;

你的視頻信息是如何傳輸?shù)?,視頻質(zhì)量有什么要求?

視頻質(zhì)量:720P,30fps

如何進行iic的配置?Iic開始信號是?

SCL高電平,SDA高變低

項目用c還是c++比較多?

看一串代碼找錯,主要是字符串的初始化最后一位為,以及strcpy復制會帶來什么問題;

手搓結(jié)構(gòu)體,具體就是給了老師、學生、姓名、性別、學號等等熟悉,就公共熟悉用一個結(jié)構(gòu)體定義,私有屬性繼承公共熟悉的結(jié)構(gòu)體就行;

對網(wǎng)絡(luò)有了解么?項目中有什么應用?

了解海康的工作強度么,是否有考慮好?(發(fā)抖)

反問

二面hr面(25min)

自我介紹

簡單介紹一下你最熟悉的項目的開發(fā)流程;

項目過程中遇到什么困難,如何解決的?

你在校園生活中遇到的最大的挫折是什么?

平常學習過程中是如何學習的,有什么方法?簡單介紹一下?

如果在工作時遇到了困難,你會怎么辦?

評價一下你自己,說一下自己的優(yōu)缺點;

為什么選擇??低暎坑惺裁戳私??評價一下。

相比于其他人,你覺得你有什么突出的點

期望薪資是多少?

對于公司的選擇主要看重哪些方面,為什么?

對于加班怎么看,可以接受么?

海康體面廠,可能今年人真的很多,筆試、一面、二面中間隔了好久,面試官也很拽,哎難搞。(不怎么推薦講道理,具體移步知乎)

達發(fā)科技

一面

自我介紹一下

介紹一下你最熟悉的那個項目

項目中你主要負責哪些部分,做了什么?

視頻采集的流程是怎樣的?

操作系統(tǒng)啟動流程

bootloader->內(nèi)核->根文件系統(tǒng)->用戶程序

平常用c比較多還是c++比較多

手搓代碼:計算n!的后幾位有幾個0;

直接百度

linux用過是吧,查找文件字符轉(zhuǎn)用

grep

查看多少個進程用

top或ps

在linux上用過多線程么?進程間通信是通過?

管道,消息隊列、信箱等

對網(wǎng)絡(luò)熟悉么?Tcp/ip和udp區(qū)別是什么?

TCP面向連接,而UDP是無連接的,即發(fā)送數(shù)據(jù)之前不需要建立連接;TCP提供可靠的服務。也就是說,通過TCP連接傳送的數(shù)據(jù),無差錯,不丟失,不重復,且按序到達;UDP盡最大努力交付,即不保證可靠交付;UDP具有較好的實時性,工作效率比TCP高,適用于對高速傳輸和實時性有較高的通信或廣播通信

tcp和udp頭部分別有多少字節(jié)

20字節(jié)和8字節(jié)

什么是dns服務?介紹一下。

DNS 是計算機域名系統(tǒng)的縮寫,它是由解析器以及域名服務器組成的。域名服務器是指保存有該網(wǎng)絡(luò)中所有主機的域名和對應IP地址,并具有將域名轉(zhuǎn)換為IP地址功能的服務器。當用戶在應用程序中輸入 DNS 名稱時,DNS 服務可以將此名稱解析為與之相關(guān)的其他信息。

接下來就是閑聊,比如你比較傾向于在哪里工作,老家哪里的,對達發(fā)有什么印象,為什么選擇在這里工作等等,然后就是反問。

二面主管面

自我介紹一下

你覺得這個項目最難的點是什么,你怎么解決的?

你覺得在這個項目中你學到了什么?有什么經(jīng)驗是可以帶進下一個項目的?

如果讓你回到剛接手項目的時候,你會怎么進行項目的研發(fā),為什么?

就是當初研發(fā)經(jīng)驗少,走彎路,怎么改進巴拉巴拉

我為什么問剛剛那個問題

要總結(jié),要反省balabala

然后就是介紹達發(fā)的培訓理念,什么什么的

聯(lián)發(fā)科子公司,面試官很友好,自我感覺良好,等結(jié)果中,推薦推薦。

大疆嵌入式

自我介紹

哪個項目做的最熟悉,其中有什么難點;

你項目中使用了攝像頭,你是怎么進行數(shù)據(jù)的采集的?

圖像的格式是什么?怎么進行格式轉(zhuǎn)換的?

RAW--RGBA--RGB888,之前介紹過

怎么解決視頻輸入和處理速度不匹配的問題?

對于存儲的數(shù)據(jù),你是怎么訪問的

讀寫互斥訪問,加鎖實現(xiàn)

你的系統(tǒng)是實時采集的,你是如何實現(xiàn)的?

多線程,主要是平衡讀取時處理所花費時間太長,所以單獨開辟線程進行圖像處理,另外主線程進行數(shù)據(jù)處理

你項目中用了多線程與多進程,談談你的理解?

前面說過

線程,進程間通信方式?

管道、FIFO、消息隊列、信號量

平常調(diào)試嵌入式板卡用什么方式?

GDB調(diào)試

介紹一下你的調(diào)試方法

gdbserver是一個運行于目標板上,可監(jiān)控被調(diào)試程序的運行,可通過網(wǎng)絡(luò)與上位機的 gdb 通信,通過上位機的 gdb 輸入命令,控制目標板上程序的運行,查看內(nèi)存和寄存器的內(nèi)容。

1、將我們的開發(fā)板,裝好有l(wèi)inux系統(tǒng)的sd卡并上電,ipconfig查看ip地址(開發(fā)板插上網(wǎng)線,保證開發(fā)板和主機在同一ip下);

2、在QT的工具設(shè)置中添加device(使用IP添加);在build/run的kits中添加該device。

3、之后編譯并運行即可??梢栽O(shè)置斷點、使用printf輸出數(shù)據(jù)來查看問題。)

什么是交叉編譯;

交叉編譯是在一個平臺上生成另一個平臺上的可執(zhí)行代碼。

怎么確保你的交叉編譯沒有錯誤呢?

我在進行交叉編譯之前會在PC機上進行x86的編譯,并且查看相關(guān)的error和warning,還會在PC上運行程序進行測試,都通過之后才會進行交叉編譯,在板子上進行測試

對操作系統(tǒng)了解多少,啟動流程是怎樣的?

之前講過

對大疆有什么了解?平常玩無人機、攝像頭什么的么?

哎平常不搞這個,就很虧吧,感覺面試官還是希望你有這方面經(jīng)驗的

反問

可能是kpi面吧,我看其他人問了很多基礎(chǔ)的,面了好久,我就面了半個多小時,哎學歷硬傷,今年太慘啦。

矽力杰

矽力杰就是線下面試了,說是線下面試會優(yōu)先錄取。技術(shù)面大概就是30分鐘多一點,可能會是你之后的直系主管,大概就是自我介紹然后根據(jù)你的項目問一些細節(jié),然后拓展問一點八股,畢竟是做數(shù)字,車載MCU的,還是會問這種嵌入式開發(fā)底層相關(guān)的東西,難度也不是很高,之后就大概向你介紹現(xiàn)在做的東西是什么,崗位職責什么的。

然后就是hr面,都是線下一天面完,主要也就是了解你的意向、對公司的期望、自身相關(guān)的問題,hr也很好說話很溫柔,整體來說感覺還是很好的。

面試結(jié)束后一周得到電話意向書。

聯(lián)影微電子

一面電話技術(shù)面

沒有提前通知,突然就是電話面試,面試官主要考察你的項目相關(guān),首先就是自我介紹,要求重點介紹一下相關(guān)項目以及相關(guān)經(jīng)歷,之后就是對相關(guān)項目的延申問問題,總體來說沒有太難的,都是項目相關(guān)。一個星期內(nèi)電話通知二面。

二面視頻技術(shù)面

二面與一面相隔兩周,首先是發(fā)給你一份試卷,十道題,有C基礎(chǔ)、IIC、SPI等等總線傳輸線相關(guān)、手撕代碼、操作系統(tǒng)等等,在半小時之內(nèi)完成,之后給其中一個面試官現(xiàn)場批卷;此時另一個面試官要求自我介紹,然后問項目相關(guān),主要考察你在項目過程中是如何思考的,怎么解決各種問題的,你的學習及測試方法等等,之后面試官會和你反饋試卷情況??傮w一小時左右,面試官很隨和,試卷題目也算是比較基礎(chǔ)。面試完一周內(nèi)hr電話面試,八月末發(fā)的意向書。

個人總結(jié)

從6月份開始提前批以及秋招,現(xiàn)在九月末也差不多接近尾聲了。當初本科的時候計算機還是爆火,我的專業(yè)電子信息都不被看好,回家都被親戚說你學這個干啥,沒想到讀研期間風向稍微轉(zhuǎn)變了。

就去年來說軟件硬件缺口都很大,互聯(lián)網(wǎng)比嵌入式工資高,需求也高,但是就今年形式來說,互聯(lián)網(wǎng)真的是寒冬了,不過嵌入式還是和往年感覺差不多(大廠除外),相比于我的幾個純軟件開發(fā)的舍友,我還是拿到的offer比較多的。所以選擇嵌入式的xd們也很幸運,至少餓不死啦。

就工資水平來說,嵌入式可能甚至比那些測開、軟開等的還要高,并且嵌入式也算是吃經(jīng)驗的,也不必擔心青春不在工作也沒了。

嵌入式這塊找工作真的是幸運的,畢竟互聯(lián)網(wǎng)HC少,人多,內(nèi)卷上天, 筆試超級難,還要手撕算法巴拉巴拉,但是嵌入式的面試手撕算法真的很少(今年比去年的多了一點,可能企業(yè)都發(fā)現(xiàn)筆試還是水的),可以說算法ok是你的加分項。

但是誰知道明年會怎么樣呢,總會有卷王的,所以還是打牢基礎(chǔ),多刷題多總結(jié)多看書,實力才是硬道理。

然后再說一下企業(yè)選擇,xdm雙非進大廠真的少之又少,特別是今年,你說人家大廠收到一堆985本碩、985碩的簡歷,簡歷初篩不曬你曬誰。

大廠的話學歷+大廠實習(oh感覺這個真的很重要)+國獎+頂刊+發(fā)明專利+相關(guān)項目,你最好要占到其中三個再去沖,不然很容易過不了初篩。

所以也可以把目光瞄向一些中廠,過的舒服一點也不錯不是么。對于面試的準備,就是之前我提到的深挖項目細節(jié)+各種基礎(chǔ)+刷題,項目很重要!??!要知道很多公司問的都是項目相關(guān)以及延申的問題,好好準備不熟悉的項目就別放上去了,問到不會的話很尷尬的。

當然面試心態(tài)很重要,要相信你自己準備的很好,你就是最棒的!沒必要為大廠去不了感到難過,努力做好自己能做到的事情,其他的就看天意啦。特別是!別和其他人比!做人不要太攀比,要比就和自己比,適合自己的才是最好的!

我的一些經(jīng)驗經(jīng)供參考,大家每個人都有自己的學習方法,希望能對各位有所幫助。

在我看來,秋招 = 實力 + 面試技巧 + 運氣 + 心態(tài),每一個環(huán)節(jié)都充滿了不確定性,隨時都有可能因為各種原因掛掉。作為求職者的我們也無法預知某個公司某個崗位的難度,所以也不建議在一棵樹上吊死。最后祝大家都能拿到自己心儀的offer,加油加油!

掃碼加我微信

進技術(shù)交流群

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

作者就職于某500強公司,擔任BSP工程師。具有豐富的嵌入式開發(fā)經(jīng)驗。專欄主要分享計算機基礎(chǔ),操作系統(tǒng),Linux驅(qū)動開發(fā),Arm體系與架構(gòu),C/C++,數(shù)據(jù)結(jié)構(gòu)與算法等相關(guān)文章。歡迎關(guān)注我的公眾號【嵌入式與Linux那些事】,一起學習交流。