個(gè)人背景介紹
我是Semon,本科就讀于一所211院校的電子信息專(zhuān)業(yè),之后保研本校,所研究的方向?yàn)?a class="article-link" target="_blank" href="/tag/%E5%B5%8C%E5%85%A5%E5%BC%8F/">嵌入式軟開(kāi)。
本科階段
本科的時(shí)候主要是基礎(chǔ)的學(xué)習(xí),學(xué)習(xí)c語(yǔ)言,然后接觸了51單片機(jī),之后再學(xué)習(xí)STM32。那個(gè)時(shí)候stm32也沒(méi)有現(xiàn)在很火的cubemx啥的,底層什么的都是自己照著例程配,雖然學(xué)習(xí)的很艱難,但是真的會(huì)學(xué)到很多東西(所以說(shuō)建議大家還是多看看底層代碼,不要太過(guò)依賴(lài)這種一鍵配置的SDK,很多時(shí)候面試官都會(huì)考驗(yàn)基本功)。
在學(xué)校中先后參加了藍(lán)橋杯大賽(省二,沒(méi)有認(rèn)真準(zhǔn)備,不過(guò)藍(lán)橋杯沒(méi)有國(guó)獎(jiǎng)都不好意思寫(xiě)簡(jiǎn)歷上)、電子設(shè)計(jì)大賽(省二,當(dāng)時(shí)做的是一個(gè)無(wú)線(xiàn)充電小車(chē),沒(méi)有什么編程難度,主要就是硬件電路的設(shè)計(jì),無(wú)線(xiàn)充電模塊也是買(mǎi)的,這么緊張的時(shí)間內(nèi)做好這樣的一個(gè)設(shè)計(jì)還是挺肝的,當(dāng)時(shí)對(duì)自己也有很大的提升)、互聯(lián)網(wǎng)+大賽(用的學(xué)校的科研項(xiàng)目,主要就是利用紅外測(cè)距,返回距離,然后各種應(yīng)用。這方面技術(shù)應(yīng)用太多了,創(chuàng)新也不夠,市場(chǎng)需求就別說(shuō)了,互聯(lián)網(wǎng)+本質(zhì)上還是商業(yè)化多一點(diǎn)的,所以直接校二。
不得不說(shuō)參加各種比賽是對(duì)自己相關(guān)知識(shí)的錘煉,在項(xiàng)目中你可以很簡(jiǎn)單的發(fā)現(xiàn)自己的各種不足,并且由于是固定的ddl,也會(huì)push你抓緊一切時(shí)間提升,雖然過(guò)程比較艱辛,但是可以非常好的鍛煉自己的相關(guān)技能。企業(yè)當(dāng)然也希望有這種參賽經(jīng)歷的學(xué)生,不僅僅是技術(shù)上的,也會(huì)是團(tuán)隊(duì)合作、項(xiàng)目統(tǒng)籌等方面的經(jīng)驗(yàn)優(yōu)勢(shì)。
研究生階段
讀研期間,我負(fù)責(zé)多個(gè)老師的橫向項(xiàng)目,接觸FPGA、ZYNQ等平臺(tái),進(jìn)行更加深入的底層驅(qū)動(dòng)開(kāi)發(fā),同時(shí)也設(shè)計(jì)Linux操作系統(tǒng)以及應(yīng)用層開(kāi)發(fā),總體來(lái)說(shuō)項(xiàng)目都有涉及。
項(xiàng)目包括一個(gè)基于ZYNQ的視頻檢測(cè)系統(tǒng),視頻的采集是通過(guò)5640攝像頭的mipi接口,涉及到攝像頭的iic初始化、攝像頭數(shù)據(jù)的傳輸方式、攝像頭數(shù)據(jù)流的格式和轉(zhuǎn)換、數(shù)據(jù)的存儲(chǔ)等待;
將數(shù)據(jù)存儲(chǔ)到板卡上后由操作系統(tǒng)端進(jìn)行讀取,這又涉及到PL和PS的交互、操作系統(tǒng)的配置、設(shè)備樹(shù)配置和內(nèi)核的剪裁、操作系統(tǒng)的啟動(dòng)流程等等;最后在軟件方面還有圖像的增強(qiáng)、相關(guān)物體的檢測(cè)以及一些算法的優(yōu)化。
在項(xiàng)目的過(guò)程中,我會(huì)將項(xiàng)目的各個(gè)功能進(jìn)行模塊分類(lèi),一個(gè)個(gè)完成,因?yàn)閷?dǎo)師也有開(kāi)組會(huì)的習(xí)慣,所以我基本每周將工作進(jìn)度,遇到的問(wèn)題以及下周要做的事都寫(xiě)成word,這樣也是有好處的,有的時(shí)候做著做著之前的點(diǎn)就忘了怎么解決了,可以回顧一下看看以前的想法,說(shuō)不定就做出突破了。
在這個(gè)過(guò)程中,也碰到許多因?yàn)榇a移植、板卡配置等等遇到的問(wèn)題,一般都是看看例程代碼,網(wǎng)上尋求相似問(wèn)題解答等等,在一步步嘗試中加深這個(gè)模塊的理解,并且解決問(wèn)題。在一個(gè)個(gè)發(fā)現(xiàn)問(wèn)題-解決問(wèn)題的流程中逐步掌握知識(shí)點(diǎn)。
這個(gè)項(xiàng)目不管是應(yīng)用層還是底層都有所涉及,并且由于是自己所負(fù)責(zé)的項(xiàng)目,相關(guān)的細(xì)節(jié)也了熟于心,基本面試情況下大多數(shù)面試官都是針對(duì)這個(gè)項(xiàng)目進(jìn)行提問(wèn),所以在一次次提問(wèn)中還可以對(duì)項(xiàng)目進(jìn)行優(yōu)化和查漏補(bǔ)缺。
在簡(jiǎn)歷中我也加了一段對(duì)stm32的底層相關(guān)的項(xiàng)目,控制電機(jī)驅(qū)動(dòng)芯片使得小車(chē)進(jìn)行運(yùn)動(dòng),涉及到時(shí)鐘、中斷、看門(mén)狗、spi、uart、編碼器閉環(huán)控制等等,也算一個(gè)完整的項(xiàng)目并且也有系統(tǒng)的板卡測(cè)試過(guò)程,也是自己主要負(fù)責(zé)并且走完流程的項(xiàng)目。
主要上一個(gè)項(xiàng)目偏應(yīng)用層,再加一個(gè)項(xiàng)目偏底層一點(diǎn),到時(shí)候都能說(shuō)。
對(duì)于這個(gè)項(xiàng)目,面試官可能更加注重底層邏輯的開(kāi)發(fā),比如時(shí)鐘的配置、相關(guān)總線(xiàn)、spi、uart初始化、中斷配置及實(shí)現(xiàn)等等,這些在做的過(guò)程中遇到的都是需要掌握的,簡(jiǎn)歷上的項(xiàng)目要么你不寫(xiě),要寫(xiě)一定要100%掌握。
在研一末也進(jìn)入一家小公司進(jìn)行三個(gè)月的實(shí)習(xí)(糊涂啊實(shí)習(xí)千萬(wàn)要去大公司),之后幡然悔悟研二末想找實(shí)習(xí)卻忙的要死且形式突變。
在我看來(lái)一份實(shí)習(xí)經(jīng)歷還是很重要的,要沖提前批和大廠(chǎng)那就肯定要一份優(yōu)秀的實(shí)習(xí)經(jīng)歷(就今年來(lái)說(shuō)),而且實(shí)習(xí)能夠?qū)W到很多在學(xué)校中學(xué)不到的東西,也能更好的從產(chǎn)品端看項(xiàng)目,同樣水準(zhǔn)下面試官也肯定更加傾向于有實(shí)習(xí)經(jīng)歷的面試者。
在讀研期間也獲得了一個(gè)A類(lèi)賽事國(guó)獎(jiǎng)、兩篇發(fā)明專(zhuān)利(但是兩個(gè)專(zhuān)利都是去年年末投出去的,掛出來(lái)沒(méi)多久,還在審核中,雖然問(wèn)題不大但是拿不到結(jié)果,就比較難受,只能說(shuō)說(shuō))以及一篇中文核心,也算是收獲比較多的。
我也看過(guò)很多我身邊同學(xué)的相關(guān)簡(jiǎn)歷,在項(xiàng)目上的不足主要就是:
1、沒(méi)能突出自己所做的重要工作,沒(méi)能突出自己工作的技術(shù)棧。這樣的講述通常都會(huì)讓面試官覺(jué)得你的項(xiàng)目平平無(wú)奇,并且面試官也無(wú)從下口;
2、通常對(duì)項(xiàng)目追求量而不追求質(zhì);項(xiàng)目的質(zhì)和量一般不能兩全,有的人寫(xiě)了很多的項(xiàng)目,并且拿簡(jiǎn)單項(xiàng)目湊數(shù),且都用一樣的篇幅描述,面試官一方面會(huì)質(zhì)疑你的專(zhuān)業(yè)水平,另一方面也會(huì)對(duì)簡(jiǎn)歷的排版有所詬病。
在我看來(lái),簡(jiǎn)歷最好詳略得當(dāng),一般2-3個(gè)項(xiàng)目就好了。有實(shí)習(xí)經(jīng)歷就兩個(gè)項(xiàng)目,沒(méi)有實(shí)習(xí)經(jīng)歷就三個(gè)項(xiàng)目,并且詳略得當(dāng)(你要考慮,因?yàn)槊嬖嚬倏赡軟](méi)有時(shí)間全部問(wèn)完你的所有項(xiàng)目,所以經(jīng)常的問(wèn)題就是:這幾個(gè)項(xiàng)目中你最熟悉哪一個(gè),詳細(xì)介紹一下項(xiàng)目分工、項(xiàng)目介紹、項(xiàng)目開(kāi)發(fā)思路(原理論證、方案對(duì)比、項(xiàng)目架構(gòu))、創(chuàng)新點(diǎn)難點(diǎn)、具體實(shí)現(xiàn)等。所以你要選擇一個(gè)項(xiàng)目多寫(xiě)一點(diǎn)并且多準(zhǔn)備一點(diǎn),其他可以省略一點(diǎn))。
對(duì)我來(lái)說(shuō)就是寫(xiě)兩個(gè)項(xiàng)目,ZYNQ做的比較多的工作就寫(xiě)上面,然后用較多的篇幅描述這個(gè)項(xiàng)目;之后小車(chē)的項(xiàng)目就排在后面,稍微簡(jiǎn)略一點(diǎn)描述一下。
對(duì)于項(xiàng)目的內(nèi)容,突出你項(xiàng)目所需要解決的問(wèn)題,你項(xiàng)目中用到的哪些技術(shù)棧以及技術(shù)難點(diǎn),你項(xiàng)目的相關(guān)創(chuàng)新點(diǎn)等等,并且保證寫(xiě)上去的東西你都會(huì),并且都能夠清晰的被面試官捕捉到,這樣其實(shí)下意識(shí)的面試官會(huì)詢(xún)問(wèn)你你在簡(jiǎn)歷上寫(xiě)著的技術(shù)棧,有所準(zhǔn)備的話(huà)就可以完美應(yīng)對(duì)了。
同時(shí)面試嘛,也是循序漸進(jìn)不斷補(bǔ)充自己的時(shí)候,在這個(gè)過(guò)程中不斷的面試、發(fā)現(xiàn)問(wèn)題、解決問(wèn)題、更新簡(jiǎn)歷以及自己的庫(kù),才能夠越來(lái)越游刃有余。
秋招情況
今年的情況不用多說(shuō),大家也都清楚,只能說(shuō)寒冬已至,相比于去年,各公司的hc是驟降,而且今年也是擴(kuò)招的第一年,畢業(yè)人數(shù)也大大增加了。
我的簡(jiǎn)歷情況大概就是:本碩211+國(guó)獎(jiǎng)+實(shí)習(xí)經(jīng)歷+論文專(zhuān)利+相關(guān)的三段項(xiàng)目經(jīng)歷,在今年4月份開(kāi)始準(zhǔn)備投著找實(shí)習(xí)(有點(diǎn)晚了,三月份就可以開(kāi)始了),當(dāng)時(shí)就投了霍尼韋爾、聯(lián)發(fā)科和華子,華子簡(jiǎn)歷掛,聯(lián)發(fā)科一面掛,霍尼韋爾給了機(jī)會(huì)(但是不想去)。
我意識(shí)到大事不妙,斟酌一下放棄了實(shí)習(xí),直接準(zhǔn)備秋招。
對(duì)了這里可以提一下,獲取校招信息可以有這些途徑,比如哪些公司開(kāi)始提前批了,哪些公司開(kāi)始正式批了,我可以投哪些公司的在哪些城市的哪些崗位等。其中有:牛客網(wǎng)(校招歷程,牛客上也會(huì)有hxd專(zhuān)門(mén)整理更新校招的資訊,搜索一下就好了)、各種微信群、QQ群、學(xué)校官網(wǎng)(會(huì)有公司進(jìn)校招聘等等)、企業(yè)官網(wǎng)、各種微信公眾號(hào)。建議能用內(nèi)推碼就用內(nèi)推碼,在??途W(wǎng)有很多內(nèi)推碼分享,各大公司都有。
秋招我從六月份提前批開(kāi)始投,到九月末正式批總的算下來(lái)有差不多40家公司(我也是懶狗,而且小公司都不碰就沖中大廠(chǎng)),提前批沖了十幾個(gè)廠(chǎng),一大半都簡(jiǎn)歷直接掛,今年hc比較少,大多招人提前批都招滿(mǎn)了,之后正式批我就不碰大廠(chǎng)了,本碩211沒(méi)有競(jìng)爭(zhēng)力。
時(shí)間先后,提前批投遞了:中電10所、TP-LINK、博通集成、集創(chuàng)北方、禾賽科技、中科芯58所、聯(lián)發(fā)科、芯動(dòng)、大華linux c、安路科技、睿創(chuàng)微納、蔚來(lái)嵌軟、樂(lè)鑫科技、聯(lián)影微電子。正式批投遞了:聯(lián)蕓、磐啟、大疆嵌入式、復(fù)旦微電子、思威特、??低?、靈動(dòng)微電子、寒武紀(jì)、聯(lián)想、矽力杰、RIGOL、蘇州國(guó)芯、聚辰、合芯、NXP、海光、TP-LINK、思科、聯(lián)合汽車(chē)、芯動(dòng)、華為、新華三、兆易創(chuàng)新、freetech杭州、旺宏微電子、三維通信、星猿哲科技、集度、達(dá)發(fā)科技、豪威科技、oppo、Alibaba、商湯科技、小米
這些公司情況大多是:
了無(wú)音訊:中電10所、TP-LINK、集創(chuàng)北方、大華linux c、安路科技、磐啟、靈動(dòng)微電子、寒武紀(jì)、聯(lián)想、RIGOL、聚辰、思科、芯動(dòng)、華為、旺宏微電子、三維通信、豪威科技、oppo、Alibaba、商湯科技
有筆試無(wú)面試:芯動(dòng)、大華linux c、蔚來(lái)嵌軟、思威特、思科、新華三、兆易創(chuàng)新、freetech杭州、小米、海光
意向書(shū)及薪資:
樂(lè)鑫上海site:sp,38W + 飯補(bǔ)每天50,12%公積金,必加班
聯(lián)影微電子上海:32W+,大大大大大白菜
博通集成上海:排序不等了
睿創(chuàng)微納:26W左右,福利工資一般,還加班
矽力杰:32w,還有10W簽字費(fèi),統(tǒng)一價(jià),據(jù)說(shuō)不加班,965
聯(lián)合汽車(chē):26W左右(加上蘇州補(bǔ)貼3W,什么飯補(bǔ)高溫補(bǔ)貼等等),很休閑但是工資低
蘇州國(guó)芯:總包35W左右,據(jù)說(shuō)是薛定諤的加班
旺宏微電子:總包34W左右,加班,小而精的公司
旗芯微:總包36W左右,公司成立沒(méi)多久,不過(guò)有自己的產(chǎn)品,會(huì)加班
值得一提的是,今年許多人崗位都是沖提前批得到的(我得到的意向書(shū)一半是提前批),除非是沒(méi)有提前批的中大廠(chǎng),今年少量hc中的大頭還是提前批。
因?yàn)槿ツ晡規(guī)熜智镎薪?jīng)驗(yàn)就是提前批不要投大廠(chǎng),會(huì)刷簡(jiǎn)歷,等正式批可以有機(jī)會(huì)進(jìn)面,所以我今年提前批就稍微試了一下大廠(chǎng),沒(méi)想到今年提前批進(jìn)不去,正式批又沒(méi)hc更進(jìn)不去,大廠(chǎng)道路直接斷了。
另外今年很多公司提前批現(xiàn)在都沒(méi)開(kāi)獎(jiǎng),就別說(shuō)正式批的什么的了。前幾天觀(guān)望中興開(kāi)獎(jiǎng),壓工資挺狠的,哎要是去年,哪里敢這么低的啊。只能說(shuō)生不逢時(shí),希望明年各位能夠好找一點(diǎn)。
個(gè)人準(zhǔn)備
因?yàn)閷?dǎo)師比較放的松,我也就早早的摸魚(yú)開(kāi)始準(zhǔn)備了。每個(gè)人對(duì)這個(gè)學(xué)習(xí)的方法是不一樣的,我就喜歡看教學(xué)視頻。
我從去年9月開(kāi)始,先看某站的C語(yǔ)言基礎(chǔ)及C語(yǔ)言深究,之后再看數(shù)據(jù)結(jié)構(gòu)與算法(這個(gè)我也順帶看大話(huà)數(shù)據(jù)結(jié)構(gòu)這本書(shū),還是很不錯(cuò)的),接著過(guò)一遍C++基礎(chǔ)(畢竟自己用C比較多,但是C++還是要掌握的,筆試面試都會(huì)遇到題目),然后就是計(jì)算機(jī)組成結(jié)構(gòu)、計(jì)算機(jī)網(wǎng)絡(luò)和操作系統(tǒng)等的學(xué)習(xí)。這些都學(xué)完差不多是今年的4、5月份了。
刷題的話(huà)其實(shí)去年9月份只要有空我就會(huì)做leetcode的每日一題,然后在系統(tǒng)性學(xué)完專(zhuān)業(yè)基礎(chǔ)知識(shí)之后,5-6月份大部分的時(shí)間就都花在網(wǎng)上刷題了。我就在Leetcode上瘋狂刷題了(劍指offer+力扣hot100必刷),字符串、數(shù)組、指針、函數(shù)、算法、二叉樹(shù)、鏈表、堆棧等等都刷過(guò),而且不會(huì)的收藏一下,有空再看一遍。
算法能力的提升是一個(gè)長(zhǎng)期積累的過(guò)程!做題厲害的并不是聰明,而是踏踏實(shí)實(shí)的努力。今年我也發(fā)現(xiàn)很多中大廠(chǎng)都喜歡現(xiàn)場(chǎng)筆試并且手撕代碼,而許多大廠(chǎng),比如字節(jié)、阿里等甚至四輪技術(shù)面四次手撕代碼,這個(gè)還是很看重基礎(chǔ)的,所以大家還是要多練多刷題。
重復(fù),死磕,到會(huì)為止。用很多的時(shí)間做這件事不虧的,這些都是基礎(chǔ),重中之重。對(duì)于嵌入式來(lái)說(shuō)其實(shí)對(duì)手撕算法并沒(méi)有太大的要求,但是現(xiàn)在行業(yè)內(nèi)卷太嚴(yán)重了,大家都在刷,你不刷就直接被淘汰了。
對(duì)于專(zhuān)業(yè)知識(shí),一方面我主要還是針對(duì)項(xiàng)目進(jìn)行學(xué)習(xí),要知道每次面試100%會(huì)深挖你的項(xiàng)目,很多的八股其實(shí)都是順著你的項(xiàng)目帶出來(lái)的,就是考察這個(gè)項(xiàng)目是不是你做的,你在當(dāng)中負(fù)責(zé)的部分是否完全熟悉。
首先就是對(duì)于項(xiàng)目的方方面面,細(xì)節(jié)都摸得很清楚,能夠做到問(wèn)什么都能夠回答出來(lái)。同時(shí)對(duì)于項(xiàng)目延申出的一些知識(shí)點(diǎn)也需要掌握清除,防止面試官問(wèn)到(在面試的過(guò)程中肯定也會(huì)遇到?jīng)]準(zhǔn)備到的,還是要好好總結(jié),查漏補(bǔ)缺)。
對(duì)于自己的項(xiàng)目,如果是stm32底層開(kāi)發(fā)就看底層代碼,如何配置時(shí)鐘的,如何配置外設(shè),spi、uart、iic等,如何配置中斷,進(jìn)入中斷的。
如果是linux應(yīng)用相關(guān)的,就是看驅(qū)動(dòng)配置、設(shè)備樹(shù)配置、內(nèi)核和文件系統(tǒng),看看操作系統(tǒng),多線(xiàn)程等等,最后還要?dú)w納一下項(xiàng)目的困難點(diǎn),對(duì)于這些困難你怎么思考的,你從項(xiàng)目中學(xué)到了什么,如果是自己從頭做到尾的還是很好概括的。
另一方面就是各類(lèi)面經(jīng)以及大佬們整理好的資料啦,就照著過(guò),然后該背就背(感謝仲一整理的《嵌入式軟件工程師筆試面試指南》,這對(duì)我真的很重要?。?duì)于遇到的不清楚的,比如設(shè)備驅(qū)動(dòng)、底層開(kāi)發(fā)等等問(wèn)題,就在網(wǎng)上找視頻或者教學(xué)資料,比如韋東山老師的課程、野火的linux課程,有什么不會(huì)的直接看章節(jié)過(guò)一遍學(xué)一學(xué)。
其實(shí)基本到面試階段就學(xué)的差不多了,對(duì)于我來(lái)說(shuō),我是喜歡在看面經(jīng)、資料以及面試過(guò)程中,遇到不清楚的不會(huì)的,就記錄一下。我專(zhuān)門(mén)新建一個(gè)word,分類(lèi)操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)、C語(yǔ)言、嵌入式底層、應(yīng)用及LINUX、算法等,然后在里面添加模糊的不會(huì)的知識(shí)點(diǎn),有時(shí)間就過(guò)一下,至少你要做到,前一次面試官問(wèn)到的不會(huì)的知識(shí)點(diǎn),下一個(gè)面試官問(wèn)到你會(huì)作答,一個(gè)人在一個(gè)坑掉兩次那就很不應(yīng)該了。
當(dāng)然在我看來(lái),最重要的是自己要多學(xué)多思考,在里面加入自己的正確的理解,面試官當(dāng)然希望聽(tīng)到正確的答案,但是對(duì)于有著自己個(gè)性化解釋的正確答案更加能夠吸引面試官。
對(duì)了對(duì)于面試官來(lái)說(shuō)關(guān)于項(xiàng)目會(huì)問(wèn):
1、讓你描述工作經(jīng)驗(yàn)和項(xiàng)目,看看你說(shuō)的是否和簡(jiǎn)歷上一致;
2、看你簡(jiǎn)歷上項(xiàng)目里用到的技術(shù),比如SPI,驗(yàn)證你是否做過(guò)項(xiàng)目,同時(shí)看你是否了解,然后針對(duì)這些技術(shù)深入挖掘;
3、針對(duì)某個(gè)項(xiàng)目,不斷深入地問(wèn)一些技術(shù)上的,深入核實(shí)你的項(xiàng)目細(xì)節(jié)問(wèn)題,或者從不同側(cè)面問(wèn)一些技術(shù)實(shí)現(xiàn),主要看你前后回答里面是否有矛盾;
4、針對(duì)某技術(shù),問(wèn)些項(xiàng)目里一定會(huì)遇到的問(wèn)題,通過(guò)這類(lèi)問(wèn)題,核實(shí)你們是否真的做過(guò)這個(gè)項(xiàng)目。
在一些比較開(kāi)放性的問(wèn)題中,也可以在自己經(jīng)歷的基礎(chǔ)上進(jìn)行稍微的美化,能夠體現(xiàn)自己動(dòng)手能力很強(qiáng)、肯干活、會(huì)的東西比較多、團(tuán)隊(duì)合作精神比較好、責(zé)任心強(qiáng)、抗壓強(qiáng)、有主見(jiàn)等等。
秋招實(shí)況
霍尼韋爾實(shí)習(xí)面
主管面
自我介紹
深挖項(xiàng)目,介紹框架,思路,具體實(shí)現(xiàn),你做了什么工作
如何配置ov5640,你是在Linux下配置的,怎么操作的?
iic配置,因?yàn)?640使用的SCCB協(xié)議,和iic差不多,所以就是通過(guò)5640的寫(xiě)地址0x78直接進(jìn)行sccb寄存器參數(shù)的配置。因?yàn)槭窃趌inux下進(jìn)行配置,所以需要對(duì)設(shè)備5640在設(shè)備樹(shù)下對(duì)設(shè)備號(hào)進(jìn)行初始化,并連接相關(guān)的驅(qū)動(dòng)文件,之后在操作系統(tǒng)開(kāi)機(jī)初始化之后就可以對(duì)相應(yīng)內(nèi)核進(jìn)行配置,當(dāng)我們的可執(zhí)行文件訪(fǎng)問(wèn)5640時(shí),就可以對(duì)他進(jìn)行直接的初始化并調(diào)用它)
什么是DMA,DMA傳輸?shù)母袷??(直接存?chǔ)訪(fǎng)問(wèn),格式?jīng)]答出來(lái))
你是怎么進(jìn)行操作系統(tǒng)(OS)剪裁的?步驟?(設(shè)備樹(shù)配置,編譯源碼)
如果采集圖像輸入輸出速率不匹配怎么辦?出現(xiàn)幀撕裂等問(wèn)題怎么辦?
因?yàn)樵谝曨l傳輸中很容易出現(xiàn)讀寫(xiě)不匹配帶來(lái)幀撕裂的問(wèn)題,其實(shí)就是在傳輸?shù)倪^(guò)程中,還沒(méi)被從端讀取輸出的數(shù)據(jù)又被主端重新寫(xiě)入新的數(shù)據(jù)了。所以我是使用的雙幀緩存,開(kāi)辟兩個(gè)空間并且讀寫(xiě)端互斥訪(fǎng)問(wèn)兩個(gè)空間,做到一個(gè)空間同一時(shí)刻只能被讀或者被寫(xiě),這樣可以保證幀撕裂不再發(fā)生;對(duì)于速率不匹配,一個(gè)就是減少圖像的大小,減少幀率來(lái)減小數(shù)據(jù)量,另外一個(gè)就是一般主端或者從端總有一個(gè)傳輸速度是固定的,所以傳輸?shù)淖畲笏俣纫彩枪潭ǖ?,?duì)另一端進(jìn)行代碼上的優(yōu)化以尋求速度的匹配
什么是volatile變量,有什么用?
一個(gè)定義為volatile的變量是說(shuō)這變量可能會(huì)被意想不到地改變,加了這個(gè)關(guān)鍵字,編譯器就不會(huì)對(duì)他優(yōu)化。精確地說(shuō)就是,編譯器在用到這個(gè)變量時(shí)必須每次都小心地重新讀取這個(gè)變量在內(nèi)存中的值,而不是使用保存在寄存器里的備份
了解我們公司么?
(不了解,主管介紹)
你準(zhǔn)備實(shí)習(xí)多長(zhǎng)時(shí)間?
三個(gè)月,主管直接發(fā)笑,時(shí)間太短了
反問(wèn)
一面主管面,二面hr面(hr面過(guò)了很久了已經(jīng)忘了。。。)總體來(lái)說(shuō)還是很舒適的,霍尼韋爾也是個(gè)很好的平臺(tái),外企工作強(qiáng)度也不高。
睿創(chuàng)蘇州提前批
自我介紹
項(xiàng)目相關(guān):介紹項(xiàng)目背景、開(kāi)發(fā)思路、框架、具體實(shí)現(xiàn);
你覺(jué)得你項(xiàng)目過(guò)程中讓你覺(jué)得困難的地方是什么?怎么解決的?
這個(gè)問(wèn)題主要看公司以及你的崗位,如果你是招聘的應(yīng)用層開(kāi)發(fā),那就聊一下驅(qū)動(dòng)配置,設(shè)備樹(shù)配置以及文件系統(tǒng)相關(guān)的困難點(diǎn),怎么解決的;如果你是應(yīng)聘的底層開(kāi)發(fā),那主要聊一下底層邏輯,中斷相關(guān)怎么實(shí)現(xiàn)的,相關(guān)的通信的底層實(shí)現(xiàn)。主要還是體現(xiàn)出你對(duì)項(xiàng)目問(wèn)題的思考,你的解決方法的切入點(diǎn)還有你對(duì)項(xiàng)目的掌握能力。
介紹一下static
靜態(tài)局部變量,在函數(shù)中定義,若不初始化則為0,只占用一個(gè)空間,只能在函數(shù)中被修改、靜態(tài)全局變量只能在該文件中使用及修改,其他同上、靜態(tài)函數(shù)只能在該文件中被使用,其他文件不能調(diào)用該函數(shù)
進(jìn)程一般有哪幾個(gè)區(qū)?
靜態(tài)區(qū)、代碼區(qū)、堆、棧
靜態(tài)變量存儲(chǔ)在哪個(gè)區(qū)?
靜態(tài)區(qū)
為什么靜態(tài)變量和一般變量在一個(gè)區(qū),作用卻不同(編譯器對(duì)static怎么做)?
靜態(tài)變量就初始化一次,只占用一個(gè)內(nèi)存空間,編譯器在讀到static之后就會(huì)對(duì)他賦予不同的作用域,使得它只能在作用域內(nèi)有效,如果作用域之外的文件調(diào)用它,就會(huì)報(bào)錯(cuò)顯示沒(méi)有初始化該函數(shù)/變量
講一下多線(xiàn)程間的通訊手段
管道、信號(hào)、全局變量
死鎖是什么?怎么發(fā)生的?如何解決?
多個(gè)進(jìn)程在運(yùn)行過(guò)程中因爭(zhēng)奪資源而造成的一種僵局
學(xué)校的成績(jī)?
前10%
你了解我們公司么?為什么選擇我們公司?
偏向于底層驅(qū)動(dòng)還是應(yīng)用層?
反問(wèn)
HR面
自我介紹
在學(xué)校的成績(jī)排名?獲得過(guò)什么獎(jiǎng)項(xiàng)?
你覺(jué)得別人對(duì)你的最多的評(píng)價(jià)是什么?說(shuō)三個(gè)詞?
你覺(jué)得你有哪些優(yōu)點(diǎn)?
你在公司實(shí)習(xí)過(guò),有什么收獲?
上學(xué)期間有什么讓你特別印象深刻的事么?
之后會(huì)留在蘇州進(jìn)行工作么?
你愿意提前實(shí)習(xí)么?
有沒(méi)有面過(guò)其他公司?有特別想去的公司么?
你的未來(lái)規(guī)劃(職場(chǎng)、生活等等)
有沒(méi)有女朋友(怎么每個(gè)hr都喜歡問(wèn)這個(gè))
你選擇公司的比較看重的點(diǎn)是什么?
你的期望薪資是多少?
反問(wèn):培訓(xùn)、住房、薪資
上市公司,最主要的亮點(diǎn)就是有雙休,平常不加班,所以工資給的不是很高,適合養(yǎng)老。面試友好,面試官親切。
聯(lián)發(fā)科嵌入式軟開(kāi)提前批
一面(50分鐘)
面試官非常和藹,先自我介紹,之后前期話(huà)題主要圍繞著項(xiàng)目提出各種發(fā)散性問(wèn)題,包括項(xiàng)目分工、項(xiàng)目介紹、項(xiàng)目開(kāi)發(fā)思路(原理論證、方案對(duì)比、項(xiàng)目架構(gòu))、創(chuàng)新點(diǎn)難點(diǎn)、具體實(shí)現(xiàn)等。項(xiàng)目是自己做的回答起來(lái)就不成問(wèn)題。面試后期基本上是夾雜著少量技術(shù)問(wèn)題的聊天,筆試題沒(méi)做對(duì)的面試前要搞懂(可能會(huì)問(wèn),但是我沒(méi)有被問(wèn))。
項(xiàng)目中的難點(diǎn)在哪里,你在項(xiàng)目過(guò)程中遇到了哪些困難,怎么克服的?
有沒(méi)有參加什么比賽?
老師推薦,在第一時(shí)間作為隊(duì)長(zhǎng)報(bào)名比賽,使用的是自己正在進(jìn)行項(xiàng)目的半成品。在一個(gè)月的準(zhǔn)備時(shí)間中,大部分時(shí)間用來(lái)優(yōu)化算法及硬件設(shè)備,其余時(shí)間整理文檔及演講素材,最后幾輪比賽后也很榮幸獲得國(guó)家二等獎(jiǎng)的獎(jiǎng)項(xiàng)。我比較享受比賽緊迫的氛圍,在這種情況下可以讓自己進(jìn)行項(xiàng)目的突破,這種成就感是不可替代的。在這個(gè)過(guò)程中我也學(xué)到了許多,獲得的獎(jiǎng)項(xiàng)也是對(duì)我努力的認(rèn)可。
在學(xué)校的成績(jī)?cè)趺礃樱?/p>
前10%
你為什么選擇這家公司進(jìn)行實(shí)習(xí)(有實(shí)習(xí)經(jīng)歷的話(huà))?
老師橫向項(xiàng)目,要求去公司實(shí)習(xí)完成項(xiàng)目
·為什么選這個(gè)site?
你還投了/面了哪些公司
對(duì)聯(lián)發(fā)科的了解
反問(wèn)
二面(30分鐘)
自我介紹
狂問(wèn)項(xiàng)目
和之前差不多,基本根據(jù)我的簡(jiǎn)歷一條一條問(wèn)
為什么static可以讓其他文件訪(fǎng)問(wèn)不了靜態(tài)函數(shù)
靜態(tài)變量就初始化一次,只占用一個(gè)內(nèi)存空間,編譯器在讀到static之后就會(huì)對(duì)他賦予不同的作用域,使得它只能在作用域內(nèi)有效,如果作用域之外的文件調(diào)用它,就會(huì)報(bào)錯(cuò)顯示沒(méi)有初始化該函數(shù)/變量
形參存儲(chǔ)在哪個(gè)區(qū)?
棧
為什么選擇聯(lián)發(fā)科
怎么平衡生活和工作
接受加班么
反問(wèn)
發(fā)哥不多說(shuō)了,面試官很親切,二面后掛
中科芯58所提前批
一面
自我介紹
你在做這個(gè)項(xiàng)目時(shí)遇到的最困難的事是什么,怎么克服的?
你在項(xiàng)目中負(fù)責(zé)什么工作?你做了什么,取得了什么成果?
負(fù)責(zé)項(xiàng)目的全部流程開(kāi)發(fā),主要是項(xiàng)目原理證明、軟件實(shí)現(xiàn)、算法優(yōu)化、硬件實(shí)現(xiàn)以及相關(guān)測(cè)試工作,最后所設(shè)計(jì)的產(chǎn)品達(dá)到了預(yù)期的性能,產(chǎn)出一篇中文核心,兩篇發(fā)明專(zhuān)利
你項(xiàng)目中用到了FPGA,你了解么,會(huì)寫(xiě)verilog么?
因?yàn)轫?xiàng)目中FPGA用的不是很多,都是照著例程修改的,所以可能不是很熟練。會(huì)寫(xiě)會(huì)讀verilog
你項(xiàng)目用的板子的ARM核是什么核,介紹一下?
A53
看你還剪裁系統(tǒng)了,操作步驟是什么?
設(shè)備樹(shù)配置、源碼編譯
用過(guò)幾年的stm32?
兩年
STM32上你比較熟悉哪幾個(gè)模塊?
IO模塊、SPI模塊、UART模塊、中斷、時(shí)鐘配置、看門(mén)狗等等
IO口的開(kāi)漏輸出和推挽輸出有什么區(qū)別?
兩者對(duì)于低電平的輸出相同,對(duì)于高電平的輸出不同。推挽輸出:可以輸出高,低電平,直接連接數(shù)字器件; 開(kāi)漏輸出:輸出端相當(dāng)于三極管的集電極. 要得到高電平狀態(tài)需要上拉電阻才行
介紹一下SPI傳輸,有幾個(gè)口?
四個(gè),SCK時(shí)鐘線(xiàn),CS片選信號(hào)線(xiàn)以實(shí)現(xiàn)單主機(jī)控制多從機(jī)的操作,MISO主機(jī)接受從機(jī)發(fā)送,MOSI主機(jī)發(fā)送從機(jī)接收
知道SPI的DMA么?
不是很了解,沒(méi)有碰到過(guò)
你項(xiàng)目中使用SPI做什么操作?怎么用SPI控制多個(gè)從機(jī)?
使用片選信號(hào)進(jìn)行選擇,多個(gè)從機(jī)連接相同的SCK、MISO、MOSI、CS,CS默認(rèn)全拉高,當(dāng)想要某個(gè)從機(jī)工作時(shí),拉低該從機(jī)的CS腳,就可以選中從機(jī)進(jìn)行spi傳輸
你了解ARM底層和內(nèi)核么?
了解一些,在本科階段有相關(guān)的課程
大端格式和小端格式的區(qū)別;
小端:低字節(jié)存在內(nèi)存的低位,高字節(jié)存在內(nèi)存的高位。大端和小端相反
你了解我們公司么?
不了解,主管介紹
你是哪里人,為什么選擇來(lái)我們這工作?
面試之后就拒了,白嫖加班,加班狠給錢(qián)少,要求多,這就是研究所。面完一面趕緊拒了,具體可以移步知乎,全是黑料。
樂(lè)鑫提前批
一面
自我介紹
在這簡(jiǎn)歷的四個(gè)項(xiàng)目中你最熟悉哪一個(gè)?整體介紹一下,畫(huà)框圖。
·在這個(gè)項(xiàng)目中你主要負(fù)責(zé)哪個(gè)部分?
詳細(xì)講一下接收到圖像數(shù)據(jù)之后你的算法工作。
5640采集到的圖像會(huì)存儲(chǔ)在PS端的DDR中,程序會(huì)讀取DDR中的圖像數(shù)據(jù),對(duì)一幀圖像進(jìn)行相關(guān)的增強(qiáng)等的算法操作,之后提取相應(yīng)灰度均值,之后釋放這幀圖像的存儲(chǔ)空間,接下來(lái)進(jìn)行下一幀圖像的相關(guān)信息的提取,直到提取512幀的數(shù)據(jù),即512大小的一維數(shù)組,再對(duì)數(shù)組進(jìn)行后續(xù)的算法開(kāi)發(fā)得到結(jié)果
為什么幀數(shù)選取是512幀?為什么選用兩種方法進(jìn)行估計(jì)?
為了迎合傅里葉變換,最簡(jiǎn)單的FFT實(shí)現(xiàn)基于一個(gè)折半的遞歸。如此,我們當(dāng)然需要點(diǎn)的個(gè)數(shù)為2的次冪。但是FFT其實(shí)對(duì)點(diǎn)數(shù)并沒(méi)有強(qiáng)制限定。即使點(diǎn)數(shù)不是2的冪,也可以增加一些0點(diǎn)湊出一個(gè)2的冪,然后進(jìn)行運(yùn)算,如此不影響算法的執(zhí)行,但是會(huì)影響算法計(jì)算的速度以及效率
系統(tǒng)的精確度?你覺(jué)得在什么樣的情況下輸出的準(zhǔn)確度會(huì)降低?
因?yàn)槲覀兯O(shè)計(jì)的系統(tǒng)是和圖像處理以及圖像像素強(qiáng)度有關(guān),所以在圖像采集過(guò)程中外部光照的經(jīng)常變化,或者是被測(cè)者的突然移動(dòng)都會(huì)影響檢測(cè)精度,但是我們也考慮到了這一點(diǎn),通過(guò)優(yōu)化算法,我們所設(shè)計(jì)的系統(tǒng)可以在正常情況下的誤差可以達(dá)到2以下,在外部干擾情況下誤差達(dá)到5以下
在操作系統(tǒng)上你做了什么工作?懂內(nèi)核和文件系統(tǒng)么?
搭建SDK環(huán)境、搭建交叉編譯環(huán)境、在環(huán)境下進(jìn)行C的編寫(xiě)以及交叉編譯、配置設(shè)備樹(shù)及文件系統(tǒng)、操作系統(tǒng)的移植;內(nèi)核和文件系統(tǒng)在項(xiàng)目的開(kāi)發(fā)中都有所涉及
公司的實(shí)習(xí)主要做什么?簡(jiǎn)單介紹一下。
主要是負(fù)責(zé)一個(gè)MCU項(xiàng)目的開(kāi)發(fā),需要完成項(xiàng)目的原理分析、需求分析、器件采購(gòu)清單、產(chǎn)品初步實(shí)現(xiàn)、產(chǎn)品測(cè)試、最終實(shí)現(xiàn),最后輸出相關(guān)報(bào)告;過(guò)程中也需要和部門(mén)其他同時(shí)進(jìn)行交流合作,共同完成項(xiàng)目的開(kāi)發(fā)
你覺(jué)得公司實(shí)習(xí)和學(xué)校中科研有什么差別?
主要就是自由度和科研角度吧,在學(xué)校學(xué)習(xí)的時(shí)間可以自己分配,很自由也沒(méi)人監(jiān)管,在公司的話(huà)有固定的工作時(shí)間;在學(xué)??蒲兄饕菍?duì)項(xiàng)目的開(kāi)發(fā),更加偏向理論開(kāi)發(fā),其實(shí)不用擔(dān)心成本或者相關(guān)技術(shù)或者什么的,老師都會(huì)把關(guān),在公司中產(chǎn)品的開(kāi)發(fā)需要涉及方方面面,要多和同事上級(jí)溝通,更加偏向產(chǎn)品化
知道stm32的上電順序么?
不怎么了解
知道操作系統(tǒng)的上電順序么?
FSBL內(nèi)部RAM--SSBL內(nèi)部ROM--(外部ROM)內(nèi)核--根文件系統(tǒng)--用戶(hù)程序
講述項(xiàng)目職責(zé)
反問(wèn)
二面技術(shù)面
自我介紹
在這簡(jiǎn)歷的四個(gè)項(xiàng)目中你最熟悉哪一個(gè)?介紹一下
項(xiàng)目涉及到哪些技術(shù)棧?你是負(fù)責(zé)哪些方面的?
攝像頭視頻數(shù)據(jù)是如何傳輸?shù)??格式是什么?/h5>
攝像頭是MIPI接口,配置后輸出RAW格式圖像,在FPGA端將數(shù)據(jù)轉(zhuǎn)換為32位數(shù)據(jù)流,之后轉(zhuǎn)為RGB888格式,然后通過(guò)VDMA存儲(chǔ)到DDR中
你是如何平衡傳輸中輸入輸出速率不匹配的問(wèn)題?
上面有
在存儲(chǔ)過(guò)程中用到了多幀轉(zhuǎn)換,簡(jiǎn)單介紹一下。
就是開(kāi)辟兩個(gè)存儲(chǔ)空間,一個(gè)讀一個(gè)寫(xiě),兩個(gè)空間互斥訪(fǎng)問(wèn)
PS端和PL端是如何互聯(lián)的?
在ZYNQ板卡上有多個(gè)高速的HP口用于連接PS端和PL端
主要是用什么語(yǔ)言?(c語(yǔ)言),在代碼中用到多線(xiàn)程了么
用到了,雙線(xiàn)程,一個(gè)現(xiàn)場(chǎng)進(jìn)行圖像的讀取以及存儲(chǔ),另一個(gè)線(xiàn)程對(duì)存儲(chǔ)的圖像進(jìn)行圖像分析以及數(shù)據(jù)提取,兩個(gè)線(xiàn)程有先后關(guān)系,所以設(shè)置了同步鎖。
簡(jiǎn)單介紹一下多線(xiàn)程和多進(jìn)程的關(guān)系。
進(jìn)程是計(jì)算機(jī)中的程序關(guān)于某數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),是系統(tǒng)進(jìn)行資源分配和調(diào)度的基本單位,是操作系統(tǒng)結(jié)構(gòu)的基礎(chǔ)。或者說(shuō)進(jìn)程是具有一定獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。線(xiàn)程則是進(jìn)程的一個(gè)實(shí)體,是CPU調(diào)度和分派的基本單位,它是比進(jìn)程更小的能獨(dú)立運(yùn)行的基本單位。
聊家常
哪里人,為什么選擇公司,了解產(chǎn)品么
反問(wèn)
技術(shù)、職責(zé)、工作時(shí)間等等
二面
對(duì)項(xiàng)目以及自己的個(gè)人情況進(jìn)行了解
三面HR面
自我介紹
之前的技術(shù)面試怎么樣,感覺(jué)和崗位適配度高么?
為什么選擇上海這個(gè)site?
你在上海有家人么?
你是本碩都是一個(gè)學(xué)校的,是保研的么?
那你為什么保研本校呢,考慮到了什么?
你大學(xué)研究生生活以來(lái)覺(jué)得最有成就感的事是什么?
用三個(gè)詞語(yǔ)形容一下你自己
·(詞語(yǔ)中說(shuō)到了認(rèn)真負(fù)責(zé))有具體事情可以證明你認(rèn)真負(fù)責(zé)么?
在現(xiàn)實(shí)中喜歡交際么?朋友對(duì)你的評(píng)價(jià)大多是怎樣。
你單身么?
平??词裁磿?shū)籍么?課外書(shū)還是技術(shù)相關(guān)的書(shū)?
對(duì)一種新接觸到的技術(shù),你一般是如何開(kāi)始學(xué)習(xí)的?
對(duì)未來(lái)的職業(yè)有所規(guī)劃么?
期望薪資是多少?
你投遞了多少家公司?有幾個(gè)offer?投遞的上海的公司有幾家?
有什么特別傾向的公司么?影響你選擇公司的因素有哪些?
反問(wèn)。
已拿到提前批意向書(shū),總體感覺(jué)還不錯(cuò)。
博通集成
技術(shù)面+筆試
手搓代碼:鏈表中刪除一個(gè)元素(LEETCODE原題)
個(gè)人自我介紹
這幾個(gè)項(xiàng)目你哪個(gè)項(xiàng)目做的最久最大?簡(jiǎn)單介紹一下;
在這個(gè)項(xiàng)目中你是那部分花的時(shí)間最多?
在開(kāi)發(fā)流程中大概是算法優(yōu)化占用的時(shí)間比較多,當(dāng)然這也包括優(yōu)化--測(cè)試--優(yōu)化的過(guò)程,因?yàn)槲覀兊漠a(chǎn)品其實(shí)對(duì)外部光照以及測(cè)試者移動(dòng)都很敏感,稍微的變化就會(huì)產(chǎn)生一定的干擾,所以為了減小這些干擾帶來(lái)的相關(guān)變化,我們查閱很多資料,并在此基礎(chǔ)上提出了自己的優(yōu)化算法,然后設(shè)計(jì)詳盡的測(cè)試流程對(duì)算法進(jìn)行測(cè)試,在測(cè)試中優(yōu)化,最終得到現(xiàn)在所呈現(xiàn)的產(chǎn)品結(jié)果
你實(shí)現(xiàn)項(xiàng)目的流程是怎樣的,直接硬件實(shí)現(xiàn)么?
項(xiàng)目具體流程大概是需求分析、原理分析、算法推導(dǎo)、模擬仿真、板卡選型、軟件實(shí)現(xiàn)、硬件實(shí)現(xiàn)、測(cè)試優(yōu)化,在前期工作做好之后,我們一開(kāi)始是依靠PC機(jī)進(jìn)行相應(yīng)的算法實(shí)現(xiàn)及優(yōu)化的,因?yàn)閺倪\(yùn)行效率、相關(guān)復(fù)雜度來(lái)說(shuō),PC端的測(cè)試要簡(jiǎn)潔很多。當(dāng)PC端測(cè)試的差不多,算法優(yōu)化完成時(shí),再進(jìn)行硬件的移植
你算法中的xxx是怎么實(shí)現(xiàn)的,xxx為什么這么做;
你是怎么想到要這樣優(yōu)化算法的?
看了很多論文,復(fù)現(xiàn)了很多論文中提到的方法,進(jìn)行相應(yīng)的優(yōu)劣對(duì)比,考慮問(wèn)題所在,在一次次實(shí)驗(yàn)和測(cè)試中對(duì)方法進(jìn)行優(yōu)化,使得算法在不同情景下具有普遍性
QT是怎樣實(shí)現(xiàn)的,有哪些組件?
Qt 中的每個(gè)控件都由特定的類(lèi)表示,每個(gè)控件類(lèi)都包含一些常用的屬性和方法,所有的控件類(lèi)都直接或者間接繼承自 QWidget 類(lèi)。實(shí)際開(kāi)發(fā)中,我們使用 Qt 提供的這些控件,通過(guò)交互的方式實(shí)現(xiàn)控件下編寫(xiě)的相關(guān)代碼。label、按鈕等等
QT中信號(hào)和槽的關(guān)系;
一對(duì)一、一對(duì)多、多對(duì)一
操作系統(tǒng)的移植主要做了哪些操作;
首先根據(jù)PL端的內(nèi)核配置創(chuàng)建源代碼工程,生成初始設(shè)備樹(shù),之后對(duì)設(shè)備樹(shù)進(jìn)行個(gè)性化的配置,增加設(shè)備,之后對(duì)相應(yīng)的庫(kù)文件以及驅(qū)動(dòng)文件進(jìn)行配置,設(shè)置為SD卡啟動(dòng),最后進(jìn)行源碼編譯,然后移植到SD卡中即可
設(shè)備樹(shù)上怎么配置來(lái)讓系統(tǒng)連接設(shè)備的;
添加設(shè)備號(hào),編寫(xiě)驅(qū)動(dòng)程序,將設(shè)備掛載到板卡上
文件系統(tǒng)的作用?為什么添加文件系統(tǒng);
文件系統(tǒng)實(shí)現(xiàn)對(duì)磁盤(pán)空間的統(tǒng)一管理,一方面文件系統(tǒng)對(duì)磁盤(pán)空間進(jìn)行統(tǒng)一規(guī)劃,另外一方面文件系統(tǒng)提供給普通用戶(hù)人性化的接口。
對(duì)C還是C++了解的多一點(diǎn)?
解釋一下volatile,什么時(shí)候會(huì)用到它?
防止編譯器優(yōu)化,并行設(shè)備的通用寄存器,多個(gè)線(xiàn)程訪(fǎng)問(wèn)的非自動(dòng)變量
實(shí)參會(huì)保存在哪個(gè)區(qū)里面;
靜態(tài)區(qū)
簡(jiǎn)述static在c語(yǔ)言中的應(yīng)用;
對(duì)于函數(shù)中的靜態(tài)變量:初始化一次,只能在函數(shù)中改變及使用;靜態(tài)全局變量及函數(shù):只能在該文件中使用
結(jié)構(gòu)體和結(jié)構(gòu)體指針的區(qū)別,用什么好;
內(nèi)存占用的區(qū)別,結(jié)構(gòu)體需要占用內(nèi)部所有元素大小的字節(jié),指針只需要占用指針大小的字節(jié);我選擇指針,空間占用小,在知道指針大小的情況下一般不會(huì)發(fā)生調(diào)用問(wèn)題
為什么會(huì)想來(lái)上海工作
期望薪資;
反問(wèn)
二面HR面
自我介紹
之前的面試怎么樣?對(duì)公司有什么期待?
因?yàn)楣驹诙鄠€(gè)城市都有分部,你會(huì)傾向于某個(gè)城市么?
你了解我們公司的產(chǎn)品么?希望未來(lái)是往底層還是應(yīng)用層發(fā)展?
最近投了幾家公司了?有幾個(gè)offer?
現(xiàn)階段有沒(méi)有很想去的公司?
一般選擇公司會(huì)考慮什么因素?
在學(xué)校的成績(jī)?nèi)绾危?/p>
是否單身?
有沒(méi)有租房經(jīng)驗(yàn)?
對(duì)薪資有什么期望?
反問(wèn)(住房、工作時(shí)間、調(diào)薪方式等等)
博通集成加班好像也很?chē)?yán)重,但是給的薪資還是不錯(cuò)的,一面直接三個(gè)面試官,一個(gè)項(xiàng)目,一個(gè)問(wèn)基礎(chǔ),一個(gè)看你手搓代碼,輪番轟炸。已經(jīng)有意向書(shū)。
禾賽科技
技術(shù)面+筆試
手搓代碼:atoi函數(shù)實(shí)現(xiàn)。
自我介紹;
哪個(gè)項(xiàng)目你做的最久最熟悉?簡(jiǎn)單介紹一下。
Zynq技術(shù)手冊(cè)看了多少?了解到了什么部分的技術(shù)知識(shí)?
看得不多,主要是一些我項(xiàng)目用到的,比如說(shuō)DDR存儲(chǔ)器、PS-PL高速連接、VDMA、相關(guān)IP核的了解等等
項(xiàng)目主要負(fù)責(zé)哪些方面?
整個(gè)流程
PS和PL端如何互通?
之前介紹過(guò)
設(shè)備樹(shù)和內(nèi)核如何配置?如何工作?
之前介紹過(guò)
操作系統(tǒng)啟動(dòng)流程?
之前介紹過(guò)
Bootloader有幾個(gè)部分?
FSBL和SSBL,first stage 和 second stage
介紹一下stm32的項(xiàng)目?
STM32用了多長(zhǎng)時(shí)間,熟悉什么?
之前介紹過(guò)
什么是中斷?
中斷是CPU對(duì)系統(tǒng)發(fā)生的某個(gè)事件作出的一種反應(yīng)。)中斷現(xiàn)場(chǎng)保護(hù)那些東西?(保護(hù)現(xiàn)場(chǎng)主要是把一些重要的寄存器如PSW、工作寄存器和SFR等的內(nèi)容壓入堆棧。
PIC和PIE了解么?
這個(gè)真不了解
SPI總線(xiàn)介紹,有幾種工作模式?
有四種工作模式,在數(shù)據(jù)采集時(shí),主要看時(shí)鐘線(xiàn)實(shí)在上升沿還是下降沿,還有相位區(qū)別0或者90
進(jìn)程和線(xiàn)程相關(guān);
(1)一個(gè)進(jìn)程死了不影響其他進(jìn)程,一個(gè)線(xiàn)程崩潰很可能影響到它本身所處的整個(gè)進(jìn)程。2) 創(chuàng)建多進(jìn)程的系統(tǒng)花銷(xiāo)大于創(chuàng)建多線(xiàn)程。3)多進(jìn)程通訊因?yàn)樾枰缭竭M(jìn)程邊界,不適合大量數(shù)據(jù)的傳送,適合小數(shù)據(jù)或者密集數(shù)據(jù)的傳送。多線(xiàn)程無(wú)需跨越進(jìn)程邊界,適合各線(xiàn)程間大量數(shù)據(jù)的傳送。并且多線(xiàn)程可以共享同一進(jìn)程里的共享內(nèi)存和變量。)
介紹一下編譯的幾個(gè)步驟?如何理解交叉編譯?
預(yù)處理、編譯、匯編、鏈接;對(duì)于不同平臺(tái),在其他平臺(tái)使用這個(gè)程序就需要交叉編譯,選擇其他平臺(tái)的源碼進(jìn)行編譯鏈接,一般針對(duì)PC-ARM,因?yàn)閍rm并沒(méi)有那么多的資源承載編譯匯編所需要的相關(guān)庫(kù)
介紹一下虛擬內(nèi)存、物理內(nèi)存(內(nèi)存的基本單位是什么)
虛擬內(nèi)存是對(duì)物理內(nèi)存的一種抽象,它介于應(yīng)用程序與物理內(nèi)存之間。應(yīng)用程序是面向虛擬內(nèi)存編寫(xiě)的,而不再是面向物理內(nèi)存編寫(xiě)的。應(yīng)用程序在運(yùn)行時(shí)只能使用虛擬地址CPU負(fù)責(zé)將虛擬地址翻譯成物理地址,操作系統(tǒng)負(fù)責(zé)設(shè)置虛擬地址到物理地址的映射。
為什么用虛擬內(nèi)存?虛擬內(nèi)存如何映射到物理內(nèi)存?
整個(gè)系統(tǒng)就運(yùn)行統(tǒng)剛啟動(dòng)的時(shí)候還是運(yùn)行在物理內(nèi)存上的,內(nèi)核也被全部加載到了物理內(nèi)存。內(nèi)核會(huì)記錄進(jìn)程的虛擬內(nèi)存分配情況,但是并不會(huì)馬上分配物理內(nèi)存建立頁(yè)表映射,而是讓進(jìn)程先運(yùn)行著。
進(jìn)程運(yùn)行的時(shí)候,CPU都是通過(guò)MMU訪(fǎng)問(wèn)虛擬內(nèi)存地址的,MMU會(huì)用頁(yè)表去解析虛擬內(nèi)存,如果找到了其對(duì)應(yīng)的物理地址就直接訪(fǎng)問(wèn),如果頁(yè)表項(xiàng)是空的,就會(huì)觸發(fā)缺頁(yè)異常,在缺頁(yè)異常中會(huì)去分配物理內(nèi)存并建立頁(yè)表映射。
然后再重新執(zhí)行剛才的那條指令,然后CPU還是通過(guò)MMU訪(fǎng)問(wèn)內(nèi)存,由于頁(yè)表建立好了,這下就可以訪(fǎng)問(wèn)到物理內(nèi)存了。
當(dāng)物理內(nèi)存不足的時(shí)候,內(nèi)核還會(huì)把一部分物理內(nèi)存解除映射,把其內(nèi)容存放到外存中,等其再次需要的時(shí)候再加載回來(lái)。
這樣,一個(gè)進(jìn)程運(yùn)行的時(shí)候并不需要立馬加載其全部?jī)?nèi)容到物理內(nèi)存,進(jìn)程只需要少量的物理內(nèi)存就能順利地運(yùn)行,于是系統(tǒng)運(yùn)行進(jìn)程的吞吐量就大大提高了。
在公司實(shí)習(xí)有什么感受?主要負(fù)責(zé)什么?
主要負(fù)責(zé)項(xiàng)目的開(kāi)發(fā),產(chǎn)品的制作和測(cè)試;感受就是在公司中制作的產(chǎn)品會(huì)更加考慮到產(chǎn)品的成本、相關(guān)技術(shù)的橫縱向比較以及如何突出自身產(chǎn)品的優(yōu)點(diǎn),畢竟面向商業(yè)化,和平常學(xué)校做項(xiàng)目不一樣。在公司自己只要負(fù)責(zé)研發(fā)這一塊,其他的期間采購(gòu)、測(cè)試環(huán)境搭建等等會(huì)有其他人負(fù)責(zé),每個(gè)人負(fù)責(zé)范圍劃分清除,各司其職。同時(shí)在公司也會(huì)有明確的計(jì)劃和ddl,也會(huì)要求總結(jié),效率會(huì)更高,也方便和其他部門(mén)溝通。
你比較傾向于負(fù)責(zé)哪一塊的內(nèi)容?
反問(wèn)
一面面了好久好久,問(wèn)了好多好多,面試官很穩(wěn)柔,我回答不出來(lái)他還說(shuō)沒(méi)關(guān)系沒(méi)關(guān)系,感覺(jué)自己可能幾個(gè)問(wèn)題沒(méi)回答出來(lái),掛了。
蘇州國(guó)芯(線(xiàn)下面試筆試)
筆試1小時(shí)
c基礎(chǔ)、嵌入式基礎(chǔ)、操作系統(tǒng)、四道編程題
技術(shù)面試(三位面試官)
自我介紹
你這些項(xiàng)目中哪個(gè)項(xiàng)目做的最久最熟悉?
簡(jiǎn)單介紹一下項(xiàng)目(原理、框架、硬件軟件、實(shí)現(xiàn)結(jié)果)
簡(jiǎn)述一下zynq板卡的構(gòu)成;
PL+PS,PL為可編程邏輯端,PS為操作系統(tǒng)端,ARM內(nèi)核,兩者通過(guò)高速線(xiàn)相連,外設(shè)會(huì)分別連接在PL和PS端
板卡上你主要負(fù)責(zé)哪些技術(shù)棧;底層還是應(yīng)用層偏多?
STM32的底層,ZYNQ的底層和應(yīng)用層,這些在簡(jiǎn)歷上都有所體現(xiàn);底層偏多
軟件是你自己實(shí)現(xiàn)的么?簡(jiǎn)述流程;
是的
數(shù)據(jù)的采集和傳輸是如何實(shí)現(xiàn)的?
ZYNQ的PL端連接MIPI接口的5640,當(dāng)5640被iic初始化之后,進(jìn)行數(shù)據(jù)的采集,數(shù)據(jù)采集格式為RAW格式,在PL端進(jìn)行數(shù)據(jù)流轉(zhuǎn)換,轉(zhuǎn)為32bit數(shù)據(jù)流,再變?yōu)?4bit數(shù)據(jù)流即RGB888格式,之后通過(guò)高速的HP口 存儲(chǔ)到PS端的DDR中。
系統(tǒng)如何應(yīng)對(duì)輸入輸出不匹配的問(wèn)題?
你系統(tǒng)使用雙幀緩存,流程如何,怎么實(shí)現(xiàn)互斥訪(fǎng)問(wèn)的?
PS端和PL端依靠什么進(jìn)行通信?如何實(shí)現(xiàn)的?
怎么使用PS端讀取ddr中的內(nèi)容
因?yàn)镈DR的物理地址是知道的,大概就是0x10000000開(kāi)頭,然后順序存儲(chǔ)數(shù)據(jù),在linux下需要用mmap()函數(shù)將寄存器物理地址映射為用戶(hù)空間的虛擬地址,即將寄存器的那段內(nèi)存映射到用戶(hù)空間,將文件描述符 fd (即ddr內(nèi)存掛載的設(shè)備,進(jìn)行open)指定文件的物理內(nèi)存區(qū)至調(diào)用進(jìn)程的用戶(hù)空間虛擬內(nèi)存區(qū),之后函數(shù)返回最后文件映射到用戶(hù)空間的地址,在程序中就可以直接操作該地址,對(duì)地址指針進(jìn)行讀操作即可。
PS端使用的什么芯片?你在上面運(yùn)行LINUX系統(tǒng)了么?
ARM-A53,運(yùn)行了xilinx公司開(kāi)發(fā)的petalinux系統(tǒng),自己編譯的
Linux內(nèi)核你是用的現(xiàn)成的還是自己依靠源碼編譯的?具體流程如何?
源碼編譯的,網(wǎng)上下載源碼-》搭建交叉編譯環(huán)境-》加載PL端相關(guān)ip核的工程文件-》配置內(nèi)核和相關(guān)的文件庫(kù)、驅(qū)動(dòng),在SD卡啟動(dòng)-》配置設(shè)備樹(shù)-》對(duì)工程進(jìn)行make編譯-》將相關(guān)文件移動(dòng)到SD卡中-》辦卡啟動(dòng)即可
Linux下你是怎么驅(qū)動(dòng)攝像頭的?對(duì)設(shè)備驅(qū)動(dòng)了解多少?
linux下對(duì)攝像頭的啟動(dòng)只需要完成iic的配置,之后攝像頭傳輸數(shù)據(jù)會(huì)經(jīng)過(guò)PL端數(shù)據(jù)轉(zhuǎn)換后存儲(chǔ)到ddr中;5640攝像頭需要作為設(shè)備掛載到板卡上,就需要在設(shè)備樹(shù)中對(duì)該設(shè)備進(jìn)行設(shè)備號(hào)、設(shè)備地址的配置,并且要連接上相應(yīng)的驅(qū)動(dòng),這樣才可以在程序中對(duì)攝像頭進(jìn)行初始化及調(diào)用。
設(shè)備樹(shù)是如何配置的?有什么用?
設(shè)備樹(shù)是節(jié)點(diǎn)和屬性的簡(jiǎn)單樹(shù)結(jié)構(gòu)。屬性是鍵值對(duì),節(jié)點(diǎn)可以包含屬性和子節(jié)點(diǎn)樹(shù)的節(jié)點(diǎn),描述了linux內(nèi)核或其他軟件系統(tǒng)(如u-boot)用于初始化硬件的參數(shù)。
一些優(yōu)點(diǎn)包括:無(wú)需重新編譯任何源代碼即可輕松更改系統(tǒng)配置、可以輕松添加對(duì)新硬件的支持、可以使用include語(yǔ)句重用現(xiàn)有的.dts文件,并可以覆蓋以前定義的功能。)
你熟悉QT么?
具體用到了什么功能?
什么是交叉編譯?
操作系統(tǒng)啟動(dòng)流程;
cache是如何實(shí)現(xiàn)的;
stm32用多少的時(shí)鐘,spi用多少的時(shí)鐘;
64M和2M
項(xiàng)目的spi是怎么實(shí)現(xiàn)的,有什么功能,如何對(duì)多從機(jī)進(jìn)行控制;
uart通信是怎么實(shí)現(xiàn)的,報(bào)文格式是什么?
uart是一種通用的異步收發(fā)器,是一種串行通信方式,數(shù)據(jù)在傳輸過(guò)程中逐一傳輸。對(duì)于串口通信最重要的就是五個(gè)量,起始位、數(shù)據(jù)位,停止位,校驗(yàn)位以及波特率,設(shè)置時(shí)需要對(duì)他們進(jìn)行初始化。使能相應(yīng)的串口時(shí)鐘和GPIO時(shí)鐘-》初始化串口的TXD和RXD所在的GPIO-》初始化串口-》使能串口。通信采用modubus協(xié)議,包括1字節(jié)地址、1字節(jié)功能碼、1字節(jié)寄存器、4字節(jié)數(shù)據(jù)、2字節(jié)校驗(yàn)
介紹一下中斷,你項(xiàng)目中用到了什么中斷?中斷依據(jù)是什么?
定時(shí)器中斷,定時(shí)進(jìn)入程序,檢測(cè)編碼器數(shù)值是否有誤,有誤就進(jìn)入中斷服務(wù)子程序,進(jìn)行相應(yīng)的補(bǔ)償,最后回到主程序
如果項(xiàng)目跑飛了怎么辦
在程序中加看門(mén)狗
看門(mén)狗的實(shí)現(xiàn);
STM32內(nèi)置看門(mén)狗,可用來(lái)檢測(cè)和解決由軟件錯(cuò)誤引起的故障;當(dāng)計(jì)數(shù)器達(dá)到給定的超時(shí)值時(shí),觸發(fā)一個(gè)中斷(僅適用于窗口型看門(mén)狗)或產(chǎn)生系統(tǒng)復(fù)位。獨(dú)立看門(mén)狗(IWDG)由專(zhuān)用的低速時(shí)鐘(LSI)驅(qū)動(dòng),即使主時(shí)鐘發(fā)生故障它也仍然有效。使用自由運(yùn)行的遞減計(jì)數(shù)器,時(shí)鐘由獨(dú)立的RC振蕩器提供(可在停止和待機(jī)模式下工作),看門(mén)狗被激活后,則在計(jì)數(shù)器計(jì)數(shù)至0x000時(shí)產(chǎn)生復(fù)位,所以在程序中使得該計(jì)數(shù)器計(jì)數(shù)到0之前進(jìn)行看門(mén)狗復(fù)位,程序就可以正常運(yùn)行;如果程序跑飛了,看門(mén)狗計(jì)數(shù)到0,自動(dòng)復(fù)位程序,程序就可以繼續(xù)執(zhí)行了。
反問(wèn):
技術(shù)棧、適合什么崗位
HR面
哪里人?以后想在那里進(jìn)行工作,為什么?
是否單身?
期望薪資是多少,有什么判斷依據(jù);
研究生期間有什么最有成就感的事情?簡(jiǎn)述一下;
你有西安的實(shí)習(xí)經(jīng)歷,為什么會(huì)去西安?
在實(shí)習(xí)中學(xué)到了什么?負(fù)責(zé)什么?
在剛剛的技術(shù)面中覺(jué)得自己和崗位適配度高么?
比較想從事底層還是應(yīng)用層的開(kāi)發(fā)?
有考慮其他公司么?現(xiàn)在有幾個(gè)offer?
除了嵌入式,你還有考慮到其他的崗位么?
影響你選擇公司的主要因素有哪些?
hr簡(jiǎn)述公司情況、調(diào)薪方式、公積金、住房補(bǔ)貼等等
反問(wèn)。
沒(méi)啥好說(shuō)的,三個(gè)技術(shù)面試官,面完ok。給的很多,有雙休,剛剛上市還算ok。聽(tīng)別人說(shuō)是薛定諤的加班,僅供參考。
集度(百度下自動(dòng)駕駛企業(yè))
自我介紹
介紹自己的項(xiàng)目(最熟悉的)
你在當(dāng)中做了什么東西?有哪些成果?
camera和dp驅(qū)動(dòng)是自己做的嗎?
移植過(guò)程中出現(xiàn)了哪些什么問(wèn)題?
講述一下上電之后linux啟動(dòng)的流程;
小車(chē)驅(qū)動(dòng)項(xiàng)目主要完成了什么?
控制電機(jī)驅(qū)動(dòng)芯片使得小車(chē)進(jìn)行運(yùn)動(dòng),涉及到時(shí)鐘、中斷、看門(mén)狗、spi、uart、編碼器閉環(huán)控制等等
spi有幾條線(xiàn)?怎么控制多從機(jī)的??jī)蓚€(gè)參數(shù)有什么用?
SPI速度是多少;
2M
怎么配置uart的?
上面介紹過(guò)
在實(shí)習(xí)中負(fù)責(zé)什么工作?
上面介紹過(guò)
怎么定義常量的?
#define或者const。
1、define是預(yù)編譯指令,const是普通變量的定義,define定義的宏是在預(yù)處理階段展開(kāi)的,而const定義的只讀變量是在編譯運(yùn)行階段使用的。
2、const定義的是變量,而define定義的是常量。define定義的宏在編譯后就不存在了,它不占用內(nèi)存,因?yàn)樗皇亲兞?,系統(tǒng)只會(huì)給變量分配內(nèi)存。但const定義的常變量本質(zhì)上仍然是一個(gè)變量,具有變量的基本屬性,有類(lèi)型、占用存儲(chǔ)單元。所以編程時(shí)在使用const和define都可以的情況下盡量使用常變量來(lái)取代宏。
3、const定義的是變量,而宏定義的是常量,所以const定義的對(duì)象有數(shù)據(jù)類(lèi)型,而宏定義的對(duì)象沒(méi)有數(shù)據(jù)類(lèi)型。所以編譯器可以對(duì)前者進(jìn)行類(lèi)型安全檢查,而對(duì)后者只是機(jī)械地進(jìn)行字符替換,沒(méi)有類(lèi)型安全檢查。這樣就很容易出問(wèn)題)
volatile怎么使用的?為什么要用?
為什么編譯器可以跳過(guò)優(yōu)化?
讀內(nèi)存而不是緩存
了解崗位職責(zé)么?
反問(wèn)
一面感覺(jué)還挺好的,面試官還說(shuō)我基礎(chǔ)好,項(xiàng)目也很好,over。
二面主管面
之前都有介紹過(guò),都是差不多的問(wèn)題
自我介紹
你最熟悉的做的時(shí)間最長(zhǎng)的項(xiàng)目是哪個(gè)?
在這個(gè)項(xiàng)目的過(guò)程中你覺(jué)得自己學(xué)到了什么東西,在什么方向上有所提升?
項(xiàng)目中你覺(jué)得最困難的點(diǎn)在哪里,如何進(jìn)行解決的?
簡(jiǎn)單介紹一下你的實(shí)習(xí)經(jīng)歷,從中學(xué)到了什么;
你覺(jué)得在學(xué)校和在公司最大的區(qū)別在哪里,你會(huì)怎么應(yīng)對(duì)?
項(xiàng)目用c語(yǔ)言還是c++比較多?
反問(wèn)
二面時(shí)常很短,就20分鐘左右,可能是kpi面吧
??低暻度胧?/h4>
一面(30min)
自我介紹
選擇一個(gè)你最熟悉的項(xiàng)目進(jìn)行介紹;
你的項(xiàng)目主要解決了什么問(wèn)題,如何解決的,你在其中做了什么;
你的視頻信息是如何傳輸?shù)?,視頻質(zhì)量有什么要求?
視頻質(zhì)量:720P,30fps
如何進(jìn)行iic的配置?Iic開(kāi)始信號(hào)是?
SCL高電平,SDA高變低
項(xiàng)目用c還是c++比較多?
看一串代碼找錯(cuò),主要是字符串的初始化最后一位為,以及strcpy復(fù)制會(huì)帶來(lái)什么問(wèn)題;
手搓結(jié)構(gòu)體,具體就是給了老師、學(xué)生、姓名、性別、學(xué)號(hào)等等熟悉,就公共熟悉用一個(gè)結(jié)構(gòu)體定義,私有屬性繼承公共熟悉的結(jié)構(gòu)體就行;
對(duì)網(wǎng)絡(luò)有了解么?項(xiàng)目中有什么應(yīng)用?
了解??档墓ぷ鲝?qiáng)度么,是否有考慮好?(發(fā)抖)
反問(wèn)
二面hr面(25min)
自我介紹
簡(jiǎn)單介紹一下你最熟悉的項(xiàng)目的開(kāi)發(fā)流程;
項(xiàng)目過(guò)程中遇到什么困難,如何解決的?
你在校園生活中遇到的最大的挫折是什么?
平常學(xué)習(xí)過(guò)程中是如何學(xué)習(xí)的,有什么方法?簡(jiǎn)單介紹一下?
如果在工作時(shí)遇到了困難,你會(huì)怎么辦?
評(píng)價(jià)一下你自己,說(shuō)一下自己的優(yōu)缺點(diǎn);
為什么選擇??低暎坑惺裁戳私??評(píng)價(jià)一下。
相比于其他人,你覺(jué)得你有什么突出的點(diǎn)
期望薪資是多少?
對(duì)于公司的選擇主要看重哪些方面,為什么?
對(duì)于加班怎么看,可以接受么?
海康體面廠(chǎng),可能今年人真的很多,筆試、一面、二面中間隔了好久,面試官也很拽,哎難搞。(不怎么推薦講道理,具體移步知乎)
達(dá)發(fā)科技
一面
自我介紹一下
介紹一下你最熟悉的那個(gè)項(xiàng)目
項(xiàng)目中你主要負(fù)責(zé)哪些部分,做了什么?
視頻采集的流程是怎樣的?
操作系統(tǒng)啟動(dòng)流程
bootloader->內(nèi)核->根文件系統(tǒng)->用戶(hù)程序
平常用c比較多還是c++比較多
手搓代碼:計(jì)算n!的后幾位有幾個(gè)0;
直接百度看
linux用過(guò)是吧,查找文件字符轉(zhuǎn)用
grep
查看多少個(gè)進(jìn)程用
top或ps
在linux上用過(guò)多線(xiàn)程么?進(jìn)程間通信是通過(guò)?
管道,消息隊(duì)列、信箱等
對(duì)網(wǎng)絡(luò)熟悉么?Tcp/ip和udp區(qū)別是什么?
TCP面向連接,而UDP是無(wú)連接的,即發(fā)送數(shù)據(jù)之前不需要建立連接;TCP提供可靠的服務(wù)。也就是說(shuō),通過(guò)TCP連接傳送的數(shù)據(jù),無(wú)差錯(cuò),不丟失,不重復(fù),且按序到達(dá);UDP盡最大努力交付,即不保證可靠交付;UDP具有較好的實(shí)時(shí)性,工作效率比TCP高,適用于對(duì)高速傳輸和實(shí)時(shí)性有較高的通信或廣播通信
tcp和udp頭部分別有多少字節(jié)
20字節(jié)和8字節(jié)
什么是dns服務(wù)?介紹一下。
DNS 是計(jì)算機(jī)域名系統(tǒng)的縮寫(xiě),它是由解析器以及域名服務(wù)器組成的。域名服務(wù)器是指保存有該網(wǎng)絡(luò)中所有主機(jī)的域名和對(duì)應(yīng)IP地址,并具有將域名轉(zhuǎn)換為IP地址功能的服務(wù)器。當(dāng)用戶(hù)在應(yīng)用程序中輸入 DNS 名稱(chēng)時(shí),DNS 服務(wù)可以將此名稱(chēng)解析為與之相關(guān)的其他信息。
接下來(lái)就是閑聊,比如你比較傾向于在哪里工作,老家哪里的,對(duì)達(dá)發(fā)有什么印象,為什么選擇在這里工作等等,然后就是反問(wèn)。
二面主管面
自我介紹一下
你覺(jué)得這個(gè)項(xiàng)目最難的點(diǎn)是什么,你怎么解決的?
你覺(jué)得在這個(gè)項(xiàng)目中你學(xué)到了什么?有什么經(jīng)驗(yàn)是可以帶進(jìn)下一個(gè)項(xiàng)目的?
如果讓你回到剛接手項(xiàng)目的時(shí)候,你會(huì)怎么進(jìn)行項(xiàng)目的研發(fā),為什么?
就是當(dāng)初研發(fā)經(jīng)驗(yàn)少,走彎路,怎么改進(jìn)巴拉巴拉
我為什么問(wèn)剛剛那個(gè)問(wèn)題
要總結(jié),要反省balabala
然后就是介紹達(dá)發(fā)的培訓(xùn)理念,什么什么的
聯(lián)發(fā)科子公司,面試官很友好,自我感覺(jué)良好,等結(jié)果中,推薦推薦。
大疆嵌入式
自我介紹
哪個(gè)項(xiàng)目做的最熟悉,其中有什么難點(diǎn);
你項(xiàng)目中使用了攝像頭,你是怎么進(jìn)行數(shù)據(jù)的采集的?
圖像的格式是什么?怎么進(jìn)行格式轉(zhuǎn)換的?
RAW--RGBA--RGB888,之前介紹過(guò)
怎么解決視頻輸入和處理速度不匹配的問(wèn)題?
對(duì)于存儲(chǔ)的數(shù)據(jù),你是怎么訪(fǎng)問(wèn)的
讀寫(xiě)互斥訪(fǎng)問(wèn),加鎖實(shí)現(xiàn)
你的系統(tǒng)是實(shí)時(shí)采集的,你是如何實(shí)現(xiàn)的?
多線(xiàn)程,主要是平衡讀取時(shí)處理所花費(fèi)時(shí)間太長(zhǎng),所以單獨(dú)開(kāi)辟線(xiàn)程進(jìn)行圖像處理,另外主線(xiàn)程進(jìn)行數(shù)據(jù)處理
你項(xiàng)目中用了多線(xiàn)程與多進(jìn)程,談?wù)勀愕睦斫猓?/p>
前面說(shuō)過(guò)
線(xiàn)程,進(jìn)程間通信方式?
管道、FIFO、消息隊(duì)列、信號(hào)量
平常調(diào)試嵌入式板卡用什么方式?
GDB調(diào)試
介紹一下你的調(diào)試方法
gdbserver是一個(gè)運(yùn)行于目標(biāo)板上,可監(jiān)控被調(diào)試程序的運(yùn)行,可通過(guò)網(wǎng)絡(luò)與上位機(jī)的 gdb 通信,通過(guò)上位機(jī)的 gdb 輸入命令,控制目標(biāo)板上程序的運(yùn)行,查看內(nèi)存和寄存器的內(nèi)容。
1、將我們的開(kāi)發(fā)板,裝好有l(wèi)inux系統(tǒng)的sd卡并上電,ipconfig查看ip地址(開(kāi)發(fā)板插上網(wǎng)線(xiàn),保證開(kāi)發(fā)板和主機(jī)在同一ip下);
2、在QT的工具設(shè)置中添加device(使用IP添加);在build/run的kits中添加該device。
3、之后編譯并運(yùn)行即可??梢栽O(shè)置斷點(diǎn)、使用printf輸出數(shù)據(jù)來(lái)查看問(wèn)題。)
什么是交叉編譯;
交叉編譯是在一個(gè)平臺(tái)上生成另一個(gè)平臺(tái)上的可執(zhí)行代碼。
怎么確保你的交叉編譯沒(méi)有錯(cuò)誤呢?
我在進(jìn)行交叉編譯之前會(huì)在PC機(jī)上進(jìn)行x86的編譯,并且查看相關(guān)的error和warning,還會(huì)在PC上運(yùn)行程序進(jìn)行測(cè)試,都通過(guò)之后才會(huì)進(jìn)行交叉編譯,在板子上進(jìn)行測(cè)試
對(duì)操作系統(tǒng)了解多少,啟動(dòng)流程是怎樣的?
之前講過(guò)
對(duì)大疆有什么了解?平常玩無(wú)人機(jī)、攝像頭什么的么?
哎平常不搞這個(gè),就很虧吧,感覺(jué)面試官還是希望你有這方面經(jīng)驗(yàn)的
反問(wèn)
可能是kpi面吧,我看其他人問(wèn)了很多基礎(chǔ)的,面了好久,我就面了半個(gè)多小時(shí),哎學(xué)歷硬傷,今年太慘啦。
矽力杰
矽力杰就是線(xiàn)下面試了,說(shuō)是線(xiàn)下面試會(huì)優(yōu)先錄取。技術(shù)面大概就是30分鐘多一點(diǎn),可能會(huì)是你之后的直系主管,大概就是自我介紹然后根據(jù)你的項(xiàng)目問(wèn)一些細(xì)節(jié),然后拓展問(wèn)一點(diǎn)八股,畢竟是做數(shù)字,車(chē)載MCU的,還是會(huì)問(wèn)這種嵌入式開(kāi)發(fā)底層相關(guān)的東西,難度也不是很高,之后就大概向你介紹現(xiàn)在做的東西是什么,崗位職責(zé)什么的。
然后就是hr面,都是線(xiàn)下一天面完,主要也就是了解你的意向、對(duì)公司的期望、自身相關(guān)的問(wèn)題,hr也很好說(shuō)話(huà)很溫柔,整體來(lái)說(shuō)感覺(jué)還是很好的。
面試結(jié)束后一周得到電話(huà)意向書(shū)。
聯(lián)影微電子
一面電話(huà)技術(shù)面
沒(méi)有提前通知,突然就是電話(huà)面試,面試官主要考察你的項(xiàng)目相關(guān),首先就是自我介紹,要求重點(diǎn)介紹一下相關(guān)項(xiàng)目以及相關(guān)經(jīng)歷,之后就是對(duì)相關(guān)項(xiàng)目的延申問(wèn)問(wèn)題,總體來(lái)說(shuō)沒(méi)有太難的,都是項(xiàng)目相關(guān)。一個(gè)星期內(nèi)電話(huà)通知二面。
二面視頻技術(shù)面
二面與一面相隔兩周,首先是發(fā)給你一份試卷,十道題,有C基礎(chǔ)、IIC、SPI等等總線(xiàn)傳輸線(xiàn)相關(guān)、手撕代碼、操作系統(tǒng)等等,在半小時(shí)之內(nèi)完成,之后給其中一個(gè)面試官現(xiàn)場(chǎng)批卷;此時(shí)另一個(gè)面試官要求自我介紹,然后問(wèn)項(xiàng)目相關(guān),主要考察你在項(xiàng)目過(guò)程中是如何思考的,怎么解決各種問(wèn)題的,你的學(xué)習(xí)及測(cè)試方法等等,之后面試官會(huì)和你反饋試卷情況。總體一小時(shí)左右,面試官很隨和,試卷題目也算是比較基礎(chǔ)。面試完一周內(nèi)hr電話(huà)面試,八月末發(fā)的意向書(shū)。
個(gè)人總結(jié)
從6月份開(kāi)始提前批以及秋招,現(xiàn)在九月末也差不多接近尾聲了。當(dāng)初本科的時(shí)候計(jì)算機(jī)還是爆火,我的專(zhuān)業(yè)電子信息都不被看好,回家都被親戚說(shuō)你學(xué)這個(gè)干啥,沒(méi)想到讀研期間風(fēng)向稍微轉(zhuǎn)變了。
就去年來(lái)說(shuō)軟件硬件缺口都很大,互聯(lián)網(wǎng)比嵌入式工資高,需求也高,但是就今年形式來(lái)說(shuō),互聯(lián)網(wǎng)真的是寒冬了,不過(guò)嵌入式還是和往年感覺(jué)差不多(大廠(chǎng)除外),相比于我的幾個(gè)純軟件開(kāi)發(fā)的舍友,我還是拿到的offer比較多的。所以選擇嵌入式的xd們也很幸運(yùn),至少餓不死啦。
就工資水平來(lái)說(shuō),嵌入式可能甚至比那些測(cè)開(kāi)、軟開(kāi)等的還要高,并且嵌入式也算是吃經(jīng)驗(yàn)的,也不必?fù)?dān)心青春不在工作也沒(méi)了。
嵌入式這塊找工作真的是幸運(yùn)的,畢竟互聯(lián)網(wǎng)HC少,人多,內(nèi)卷上天, 筆試超級(jí)難,還要手撕算法巴拉巴拉,但是嵌入式的面試手撕算法真的很少(今年比去年的多了一點(diǎn),可能企業(yè)都發(fā)現(xiàn)筆試還是水的),可以說(shuō)算法ok是你的加分項(xiàng)。
但是誰(shuí)知道明年會(huì)怎么樣呢,總會(huì)有卷王的,所以還是打牢基礎(chǔ),多刷題多總結(jié)多看書(shū),實(shí)力才是硬道理。
然后再說(shuō)一下企業(yè)選擇,xdm雙非進(jìn)大廠(chǎng)真的少之又少,特別是今年,你說(shuō)人家大廠(chǎng)收到一堆985本碩、985碩的簡(jiǎn)歷,簡(jiǎn)歷初篩不曬你曬誰(shuí)。
大廠(chǎng)的話(huà)學(xué)歷+大廠(chǎng)實(shí)習(xí)(oh感覺(jué)這個(gè)真的很重要)+國(guó)獎(jiǎng)+頂刊+發(fā)明專(zhuān)利+相關(guān)項(xiàng)目,你最好要占到其中三個(gè)再去沖,不然很容易過(guò)不了初篩。
所以也可以把目光瞄向一些中廠(chǎng),過(guò)的舒服一點(diǎn)也不錯(cuò)不是么。對(duì)于面試的準(zhǔn)備,就是之前我提到的深挖項(xiàng)目細(xì)節(jié)+各種基礎(chǔ)+刷題,項(xiàng)目很重要?。?!要知道很多公司問(wèn)的都是項(xiàng)目相關(guān)以及延申的問(wèn)題,好好準(zhǔn)備不熟悉的項(xiàng)目就別放上去了,問(wèn)到不會(huì)的話(huà)很尷尬的。
當(dāng)然面試心態(tài)很重要,要相信你自己準(zhǔn)備的很好,你就是最棒的!沒(méi)必要為大廠(chǎng)去不了感到難過(guò),努力做好自己能做到的事情,其他的就看天意啦。特別是!別和其他人比!做人不要太攀比,要比就和自己比,適合自己的才是最好的!
我的一些經(jīng)驗(yàn)經(jīng)供參考,大家每個(gè)人都有自己的學(xué)習(xí)方法,希望能對(duì)各位有所幫助。
在我看來(lái),秋招 = 實(shí)力 + 面試技巧 + 運(yùn)氣 + 心態(tài),每一個(gè)環(huán)節(jié)都充滿(mǎn)了不確定性,隨時(shí)都有可能因?yàn)楦鞣N原因掛掉。作為求職者的我們也無(wú)法預(yù)知某個(gè)公司某個(gè)崗位的難度,所以也不建議在一棵樹(shù)上吊死。最后祝大家都能拿到自己心儀的offer,加油加油!
掃碼加我微信
進(jìn)技術(shù)交流群