本來早就應該寫了,拖延癥害死人。所幸今天開始動筆了。我的秋招嚴格意義上來講是從8初開始。那個時候我面了第一家公司,寒武紀。一直持續到10月15與華為簽訂完三方協議才算結束。一共拿到了寒武紀,匯頂,海康威視,比特大陸,高通,英偉達,ARM,華為一共8個offer。都是數字芯片設計/驗證崗位。最終選擇華為是出于職業發展和個人情節兩方面的考慮。這是我秋招整體一個情況。廢話不多說,下面我介紹一下自己筆試面試的一些心得體會
面試經驗
根據我面試的情況。無論中國企業還是外企。實際上他們在面試中主要就考察兩個方面,第一是項目經歷,第二是基礎知識。
項目經歷
對于項目經歷的話,根據考察方式的不同大概有兩種面試官。第一種會讓你上來自己介紹項目,這種占多數。如果是這種面試官,那么恭喜你。一定要好好把握機會,全面系統的介紹自己的項目。首先介紹項目背景,項目結構,人員分工,最終實現效果等大的方面一直到項目中的難點,項目中的亮點,遇到了哪些典型的問題,以及是如何解決的等細節,越細越好。在談細節的時候最好將細節與你準備的基礎知識聯系起來。比如我向面試官提到做的項目中遇到了頻率上不去的問題。然后我接著提到我的解決方法是采用劃分時鐘域的方法。降低非重要模塊時鐘頻率,然后提高計算密集模塊的時鐘頻率。達到提升計算頻率的目的。這里引出了多時鐘域的概念,那么我就會順便帶出跨時鐘域問題通常是如何處理的。(其實就算你不主動提到,面試官聽到這里也會向你提問跨時鐘域是如何處理的,不過如果是自己主動說出來,面試官對你的感覺會不會又不一樣呢)。為什么要說的如此詳細呢。因為你說的越詳細,他對你的項目就越了解。那么他對項目可問的東西就越多,基礎知識點就問的越少。我想,只要這個項目確確實實是我們自己做出來的,面試官問項目問的越多。實際上對我們自己而言是越有利的。而且也會給面試官留下項目實踐經驗豐富的印象。如果項目上的東西問的少,那么面試官可能會考察很多基礎知識點。這就比較零散了。第二種面試官是不給你介紹項目的機會(這種比較少),他會上來就抓著你的項目來問他比較感興趣的地方。有時候他會忽略掉我們做的比較用心的項目,反而問一些我們下的功夫沒那么多的項目。這個時候就需要我們見招拆招了。如果有機會一定要把話題往你覺得是項目亮點的方向去引導,掌握說話的主動權。一旦獲得了說話的主動權就可以參照第一種介紹項目的方式。另外在外企的面試中會加入英語考核的環節。主要以與面試官進行英文對話的形式為主。對話內容可以是讓你簡要介紹項目,也可以是問一些生活中的問題。比如我就被問過,你讀書的城市最有名的地方是哪?有哪些特色小吃?等等。
基礎知識
對于基礎知識,其實數字IC的基礎知識還算比較集中,無外乎亞穩態,時鐘,復位,跨異步設計,低功耗設計等幾個方面的知識。。這里我推薦一本書《硬件架構的藝術》。這本書幾乎涵蓋了所有常常考察的基本知識點。只要將這本書反復讀個幾遍。面試官考察基本知識點都不在話下。需要特別提出的是,對于設計崗基本上所有的考官都會考察些許驗證的知識。主要以systemverilog的語法為主。常常考的語法是fork 語句的三種形式各有什么特點。然后是驗證平臺的幾個基本組成部分,還有就是SV面向對象的3個基本特征(封裝,繼承,多態)的含義。我建議把《systemverilog驗證——驗證平臺編寫指南》(綠皮書)學習一下。并且推薦看完以后將綠皮書中第11章的源碼下載下來(源碼下載地址在作者的前言中已經給出 )。自己使用仿真器跑跑看看。跑完源碼后可以參照綠皮書中推薦的方法搭建一個驗證平臺驗證一下自己之前做過的項目。這樣我們就會對驗證方法學有一個切身的體會(和普通的仿真有很大差別)。
筆試經驗
至于筆試經驗,講起來都是一把辛酸淚,秋招開始前我以為將上面那些SV和數字IC中常常考察的知識點掌握的差不多就萬事大吉了。結果我做的第一場華為的筆試就給了我一個下馬威。華為的筆試題形式簡單。全部都是選擇題,單選多選都有。然后坑爹的是,它考察了很多IC設計流程的知識。比如前仿真后仿真的區別,可測性設計(DFT)的知識。另外他還會考察IC設計軟件的知識。我就遇到了考察DC, formality,VCS 軟件使用的考題。想想我一個研究生只用過VIVADO的學生。做這些題目真是欲哭無淚呀。只能靠蒙。還好華為爸爸給了我面試的機會。當我覺得華為的筆試已經夠出乎意料之時。大疆的筆試再次教我做人。除開基礎知識,還有各種智力題,C語言編程題,腳本語言編程題。還會考察很多計算機組成原理的東西。比如中斷,指令集等等等等。我暈。這次就沒那么好運了。筆試掛。后面英偉達的筆試題也讓我印象深刻,8個大題,編程題為主。從C語言到腳本語言再到verilog最后是SV全部考察。編程題為主(腳本語言編程題是不限語言種類的,Tcl,perl,python等都可以)。好在最后有幸通過了。所以在我看來,筆試考察的范圍要比面試廣的多。所以如果想完成一份優秀的筆試答卷,還是要好好準備的。數字IC基礎知識,硬件描述語言需要精通,驗證方法學需要熟悉,計算機組成原理,C語言編程,腳本語言編程需要涉獵,能夠寫出簡單的程序最好。
好啦這就是我的一些粗淺的秋招心得體會啦。沒有經驗也有教訓。希望能對大家有一點幫助。