前言
現在距離正式九月正式秋招還有4個月,距離八月提前批還有3個月,相信不少粉絲都在盤算着為工作做准備。今天,我以一個過來者的身份跟大家分享分享,關於秋招如何准備以及一些注意事項,希望大家能夠有所收獲。同時也感謝在求職過程中給予我幫助的同學們。
整體概述
我將對秋招的准備分為兩個部分,就像一個系統一樣,總是划分為軟件和硬件的,軟硬協同才能發揮最好。這硬件的意思就是,打鐵還需自身硬,面試官、筆試題千奇百怪,但是最終起決定性作用的還是自身實力,包括但不僅限於學歷、基礎知識、項目經驗、實習經歷和比賽獲獎,這些寫在簡歷上直接就能拉高面試的通過率。軟件部分就是面試的時候的臨場表現,如何最大程度的體現出自己的優勢,展現自己的能力,畢竟一個人的能力單單從面試很難考察的非常清楚。
接下來分幾個部分來介紹如何准備秋招,設計基礎,驗證基礎,簡歷准備,信息獲取,筆試經驗,面試經驗,其他注意事項。
設計基礎
無論是找設計還是驗證,設計部分的基礎都是必須的,不會設計的驗證工程師不是一個好工程師。
整體流程
首先要建立起一個宏觀的概念,一顆芯片,從設計需求到最后成片需要經歷哪些流程,這些是必須了解的,每個流程的具體作用是什么,所使用的工具是什么,基本概念必須清楚。然后再繼續后續的復習。
電路基礎
設計的基礎可以從最基礎的模電數電開始准備復習,然后進階到模集數集。這個階段要懂得什么是BJT,什么是MOSFET,什么又是CMOS。給一個邏輯表達式,怎么畫出它的CMOS電路,D\SR\JK\T觸發器的結構是什么樣的,如何化簡到最大項和最小項,卡諾圖的使用,加法器的種類與區別,什么是亞穩態,什么是雙穩態,SRAM的結構和基本原理等等。知識點很零碎,對於非電子類的同學來說這部分可能比較薄弱,需要好好補一補。此外,對於基本的CMOS電路,我推薦能夠畫出版圖最好,起碼一個與非門、反相器這種版圖能看得懂。
verilog基礎
有了上面的基礎,就可以進一步的復習。這個階段可以復習verilog,如果有C語言基礎,一兩天速成是沒有問題的。verilog使用的關鍵詞不超過20個,module endmodule wire reg always negedge posedge if else assign case,用這些基本就能完成所有的電路設計。verilog語法學習的書推薦一本《輕松成為設計高手》,然后在hdlbits上用verilog去完成基本的電路,熟悉常見結構的書寫,例如什么是時序邏輯,什么是組合邏輯,如何例化模塊,gen語句的使用,哪些是可以綜合的,哪些是不可以綜合的,怎么避免latch,代碼綜合出來大概是什么樣的電路。有些同學盡管做了很多項目,很多細節還是很不清楚,要多復習一下基礎。
有了語法基礎以后,就開始用verilog寫一些小模塊,並且為這些小模塊寫testbench。舉些例子,可以寫序列檢測器、紅綠燈、斐波那契數列求解器、fir濾波器等等。然后用verilog的語法寫tb,最后跑跑仿真。最好能夠用eda綜合一下,vivado就行,保證自己寫出來的代碼是沒問題的。
亞穩態
復習完verilog以后,就可以進一步的去理解電路的細節了,主要就是時序分析的問題,包括亞穩態、建立時間保持時間、復位、跨時鍾域等等。
亞穩態部分,要了解什么是亞穩態,亞穩態如何產生的,亞穩態的危害是什么,如何避免亞穩態,深惡么事平均失效間隔時間,亞穩態是能夠避免的嗎。
結合亞穩態,解釋什么是建立時間保持時間,他們的物理意義是什么,通過建立時間和保持時間如何計算一個電路的最高工作頻率。
異步復位和同步復位的區別是什么,優缺點是什么,如何在復位階段避免亞穩態的產生。
最后的重中之重,跨時鍾域的概念是什么,什么情況算跨時鍾域,什么情況不算跨時鍾域,跨時鍾不處理會發生什么,什么情況下可以不處理,常見的跨時鍾域方法有哪些,快到慢,慢到快,多bit,單bit這些分別應該怎么處理?
有時間的話,推薦各位去聽一聽邸志雄老師的mooc,關於靜態時序分析的公開課。
綜合類
以上就是通用基礎了,以此為基礎,在往上就要准備專業一點的東西了。例如CPU的基本結構,cache的作用,這些計算機體系架構的基本概念要有。然后再去了解常見的總線協議和通信協議。總線協議常見的包括APB\AHB\AXI,還有一些用的比較少的,比如avlon、wishbone。要透徹地理解他們的特性,應用於什么場景,有什么特點,有什么區別,為什么能夠應用於這種場景,什么是outstanding,什么是outoforder,什么是interleaving,如何握手,突發有什么特點,總線的流水線是什么意思。通信協議不用太復雜,除非自己去研究過,只需要了解常見的iic,uart和spi就行。
此外,FIFO也是非常重要的一點,需要知道同步FIFO如何設計,最好能手寫代碼。需要知道異步FIFO的設計思路和整體結構,能寫出關鍵部分的代碼,然后如何生成FIFO的空滿信號,接近空接近滿如何生成,假空假滿為什么會產生,產生了有什么影響么,如何設計一個深度不是2的冪的FIFO,根據兩邊的讀寫速率和間隔計算FIFO的最小深度。FIFO的內容非常重要,一定要好好研究一下。
后續還有一些零碎的東西,也需要去整理歸納,
時序違例了怎么處理?什么是重定時,什么是流水線,流水線優化了什么,帶來了什么消耗。
時鍾切換電路應該怎么設計,如何實現無毛刺切換,門控時鍾的作用是什么,門控時鍾單元的結構是什么樣的。
總功耗由哪些部分組成,各個部分分別受到什么的影響,如何降低各個部分的功耗?
然后准備一些常見的代碼,奇數分頻、幀頭檢測、狀態機、無毛刺時鍾切換、按鍵去抖動
驗證基礎
驗證工程師的准備要比設計工程師的更加多,一方面現在很多從材料轉過來的同學,對於設計一竅不通,這樣很容易在面試中落得下風,另一方面本身驗證就是設計,設計就是驗證,只是從不同的角度去解讀SPEC,對設計的理解當然是多多益善。
這里我推薦大家報名路科驗證的V2pro,三個月剛好可以完成UVM的學習,對UVM的整理哲學有一個清楚的認知。V2pro對比原來的V2還增加了新的虛擬項目,進一步加強個人的競爭力。我個人在19年的時候就已經學習過V2課程了,熟悉我的人都知道,路科驗證在我的成長路途中,是一個重要的轉折點,實驗室沒有條件的情況下,通過路科驗證才得以入門了驗證,幫助我后續在比賽中獲獎,在找實習的時候也如魚得水,最后也順利在秋招斬獲OPPO、樂鑫、展銳、平頭哥、匯頂還有AMD的offer。真誠地推薦大家通過V2pro學習入門驗證。
掃描二維碼聯系路科驗證MOMO,然后報出暗號摸魚范式
就能獲得200優惠券
!對於課程學習有任何問題,都可以掃描下面的二維碼,加我微信咨詢。
👇課程詳情👇
強者之路已為你鋪開,驗證V2Pro課程本周日開班!錯過等半年!
驗證的基礎准備主要就分為三個部分,SV基礎、UVM基礎和驗證通識
SV基礎
與設計不同,驗證幾乎100%使用SV作為編程語言,需要對SV足夠熟悉。SV的學習推薦大家去看綠皮書,然后自己用SV的語法,不使用UVM但是仿照UVM去理解如何使用SV去編寫一個通用的測試平台。
下面是一些需要掌握的基本知識點
SV對比V提供哪些有點,新增了什么數據類型
什么是隊列,關聯數組以及動態數組,分別用在什么場景,如何聲明,有什么優缺點
旗語和事件有什么區別,wait和@的區別是什么
const、ref、input、output、inout分別是什么意思
全局變量和局部變量的作用域是什么,靜態變量和動態變量的區別是什么
package的作用使用,使用package和include有什么區別
fork三兄弟的區別與作用是什么
什么是OOP,三大要素是什么,三大要素在SV中分別使用什么來實現的,使用OOP有什么好處,SV中有重載嗎,覆蓋和重載的區別是什么
什么是類,class和module的區別是什么,什么是虛函數,虛函數的作用是什么,
什么是虛接口,虛接口存在的意義是什么
SV的覆蓋率如何聲明,如何采集覆蓋率,bin的數量如何確定,交叉覆蓋率的作用是什么,ignore和illegal的bin如果觸發了有什么區別
SV的仿真調度機制是什么樣的?
SV的內容很多,以上只是我現在能想起來的考察重點,自己復習的時候要仔細鑽研。
UVM基礎
UVM現在基本是驗證崗必備的技能了,所以也是復習重點。這部分推薦先看看一本書叫UVM primer,eetop有中文版,對UVM的設計哲學有一個整體概念,然后再去研讀白皮書和紅皮書。
UVM的基礎也和SV類似,大概有以下一些內容
UVM的歷史,從哪些項目中分別獲得了什么特性?
UVM的優勢和劣勢是什么,一定要使用UVM嗎
UVM如何啟動測試?如何把接口傳遞到環境中
configdb機制的作用是什么,如何使用,set以后一定要get嗎?什么情況下可以不get?
什么是域的自動化機制,域的自動化機制提供了哪些特性
sequence機制是什么,為什么要設計sequence,什么是layer sequence、vritual sequence?
什么是phase機制,phase有哪些,什么條件下可以進入下一個phase,各個phase的作用是什么,各個phase的執行順序是怎么樣的?
工廠機制是什么,通過工廠機制,UVM提供了什么特性,如何使用這些特性
UVM的整體結構是怎么樣的,頂層是什么
UVM的消息是如何管理的,冗余度的意義是什么
一個典型的UVM環境純在哪些組件,數據是如何流動的,每個組件的作用是什么
component和object有什么共同點和區別
什么是事務級建模,TLM接口的作用,如何使用TLM接口,TLM FIFO的作用是什么
上面僅僅列出了常見的面試考點,通過這些考點,同學們可以自行主動拓展發散思考。
驗證通識
和設計一樣,基礎知識是必備的,如何使用這些基礎只是去解讀SPEC才是重點,所以對於驗證之上的一些概念需要加以理解。
有哪些驗證手段?動態仿真、形式驗證都有什么優缺點
門級仿真的作用是什么,STA的作用是什么
給一個模塊,要能夠根據SPEC進行功能點的分解,提出覆蓋率
功能覆蓋率和代碼覆蓋率什么意思,這些覆蓋率不夠怎么辦,覆蓋率滿了就能說驗證完備嗎
受約束的隨機驗證優缺點是什么
簡歷准備
投遞簡歷通常是我們進入到應聘流程的第一步,作為理工科的簡歷,建議大家保持簡歷界面整潔,最好直接白紙黑字,簡歷的主題內容一定要是自己的項目、專利、論文。
自己的專業,本科院校,碩士院校都要寫清楚,如果覺得自己學校名氣不夠但是確實是一個211/985,推薦大家直接注明9885,IC這邊就是這么真實。如果是轉行的同學,不要避諱的專業,直接大大方方寫出來,沒有項目經歷的話哪怕是自己做的小模塊也可以寫上去,實在沒有,培訓班的經歷也可以寫。
簡歷的項目中,要包括一下幾個內容
- 如果是比賽,說清楚比賽名字,等級,獲獎情況,時間,自己是隊員還是隊長
- 項目的簡要概述,包括項目是做什么的,采用什么方法,用到了哪些協議
- 講清楚自己所負責的內容,不是自己做的,一定不要寫
- 講清楚達到一個什么水平,例如,如果是ASIC項目,講一講工藝和頻率,綜合面積,吞吐量。如果是FPGA項目,講一講開發板類型,用到了什么外設,LUT消耗了多少,DSP消耗了多少,Bram消耗了多少。
- 盡管內容比較多,但是不要讓項目內容過余冗余,簡要描述就可,語言簡單輕快。
如果你有專利和論文,無論是不是IC、FPGA相關的,我都建議你寫上,這是你能力的一個證明
在描述自己的專業技能時,使用三個關鍵詞對掌握程度進行區分:了解,熟悉,精通。對於自己淺嘗輒止的領域使用“了解”,對於自己常用的技能可以使用“熟悉”,對於自己非常有自信,很熟練的技能,使用“精通”。這樣在面試的時候,如果問到你不會的,可以有一個退路。
推薦一個免費的簡歷制作網站,制作簡單,風格簡潔。
有很多同學,經驗比較豐富,所以項目有很多,這里建議在保證一頁紙的前提下,盡可能多寫幾個,但是盡量保證一頁紙,但是這不是絕對,大家自行取舍。多余的項目可以提交到公司的簡歷系統中。同時,如果你是設計驗證都有求職意向,或者要針對不同公司投遞,那么就需要制作不同版本的簡歷,側重設計或者驗證,有些公司要求有通信背景,那么可以突出通信項目,稍微展開一點。
信息獲取
秋招實際上也是一個信息戰,能夠收集更多的情報代表了你有更多的優勢,信息來源無非就是幾個地方,知乎、微信公眾號、微信群、QQ群、公司官網。
知乎和微信公眾號,推薦一個比較活躍的,也是2022屆的應屆同學,FPGA探索者
,我今年也會繼續給大家帶來面經和招聘信息的整理,屆時請繼續關注。
QQ群和微信群可以在點下面的鏈接加,人很多,都是應屆的。大家一起備戰秋招。
筆試經驗
筆試題有一些資料也放在QQ群了,有需要的同學加群下載就行,我就講講筆試的注意事項。
大部分筆試都分為兩種,一種是性格測試這種,測性格還有所謂的智力的,這種如果是有計算題大家記得准備好計算器,口算是不切實際的,時間很緊。然后性格測試直接follew your heart,但是要注意,前后要一致,可能第十題和第四十題是一樣的,如果兩次回答差異過大,會判你不及格,倒在這種地方實在是太虧了。
專業筆試的話,沒啥不好意思的,准備兩台手機,一台用來掃碼鎖定,另一台上群交流,很多人都這樣,不過以IC這邊的筆試難度,交不交流都差不多,難度不會太高,基礎扎實的都不怕。
面試經驗
面試的固定流程一般都是一樣的
-
起手式,自我介紹一下。自我介紹部分作為面試的開始,大家可以提前打好草稿,主要從幾個方面進行,本科的學校和專業,碩士的學校和專業,如果有的話,介紹自己的比賽、專利和論文,在實驗室的研究課題,所做過的項目。注意,在介紹由多人合作共同完成的內容的時候,一定要說清楚,自己負責的什么部分,不要讓面試官對你的工作有錯誤的認知。最后有一點一定要注意,很多同學的意向崗位是IC驗證,但是公司不一定有單獨的驗證崗位,比如VIVO、OPPO、樂鑫有專門驗證崗位,而聯發科、中興、華為只有IC開發工程師,所以在自我介紹的最后,強調自己對於SV\UVM的熟悉,以及自己的求職意向。
-
自我介紹完以后,一般會進入簡歷提問環節。因此,針對簡歷上寫的每一個項目,每一個點,都必須了然於心,有些面試官提出的問題會比較細節。這部分大家針對自己的項目好好准備
-
對於基礎知識的考察有時候會隨着項目一起問,有時候會直接拋出來。常見的基礎知識大概有幾種
- 跨時鍾域
- 低功耗
- 流水線
- verilog語法
- 異步FIFO
- 如果目標公司要求體系架構的知識,或者你本身有體系架構相關的項目,會問到,比如流水線的好處,流水線帶來什么問題,如何解決,cache的作用等等
- 時序分析相關
- 芯片設計流程
- SV oop相關
- UVM相關
- 驗證通識相關
- AMBA總線知識
-
除了對專業知識的考查,通常還會設計到一些項目管理或者人際交往的問題。例如,設計和驗證人員是如何溝通的,你是如何分配成員任務的,當你的團隊遇到重大bug時是如何解決的,如果你的隊員中途退出導致你項目趕不上進度該怎么辦。這些問題大家各有各的看法,但是在面試之前可以稍微想一想。
-
一個面試小的tips,聊勝於無,當面試官對你拋出一個問題的時候,在回答問題的基礎上可以做一些拓展。這有兩個目的,一是引導暗示面試官往你擅長的方向進行提問,二是展現你的知識儲備,刷好感度。舉個例子,面試官問你,interface如何傳遞句柄到環境內中,可以先從interface講起,interface是什么,為什么要vritual interface,什么是uvm_config機制,在哪里set,在哪里get,這樣你從interface的概念到動機到configdb再到使用方法,全都講了一遍,拉高面試官對你的印象。
-
在最后的環節中,面試官會問你,你還有什么問題嘛?這種時候一般可以問這些問題
- 你們公司這個部門的主要業務是什么?很多大公司在不同的的城市業務都不一樣
- 你們公司對於新人的培訓機制是怎樣的?作為新人,有必要了解這家公司對於應屆生的培育方法
- 如果我想了解學習其他崗位的內容,會有途徑嘛?做設計的可能想學習架構、驗證,做驗證的也是同理,很多同學都不希望局限於一個崗位中
- 最后還可以問一問剛剛自己沒有回答出來,或者自己覺得回答不好的問題,讓面試官告訴你,為以后的面試做好准備
建議大家在面試之前准備一套自我介紹模板,把自己的主要信息一氣呵成的介紹好。如果是轉行過來的同學,一定要准備面試管問你為什么要轉過來,你有什么優勢么。
其他注意事項
面試復盤
經過不斷的面試,你可能發現自己在某些方面有一些欠缺,某些知識點有遺漏,這些都對你下次面試起到了很好的查漏補缺作用,所以,建議搭建把自己在面試中所遇到的所有問題,無論自己回沒回答上來,都記錄下來。不僅僅是問題,還要包括自己的回答,面試官的解釋,如果可以的話,在面試的最后環節,可以問一問面試官剛剛自己不懂的問題。也許,下一面試官問你的問題,就是你上次記錄下來的問題,細節決定成敗。
面試環境准備
最好不要在實驗室面試,找一個網絡穩定,並且確定沒有人打擾的環境面試,比如和室友商量,在寢室面試,一定要保證網絡通暢。如果是線下面試,由於我們不是行政、人力這方面的崗位,着裝得體大方就行,記得洗臉刮胡子。線下面試一定要准備多幾份紙質版簡歷備用,以防萬一。
應聘信息整理
因為不同公司的招聘系統都不一樣,推薦大家用excel記錄一下不同公司的投遞方式、官網地址、面試進度和面試時間以及最終反饋,讓信息更加明了。
相關文章推薦
其他推薦
最后祝大家都能夠如願找到自己中意的工作!也請以后繼續支持
摸魚范式
!