近期參與了幾個大學的校園招聘,總體下來感覺還行,由于校園招聘需要面的人很多,差不多面試流程都形成模式了,在面試的過程中,有不少學生問過我,到底面試的標準是什么,不過每個面試官的標準都是不同的,所以也就注定了面試是會有些不公平的,是否對面試官的胃口會起到很大的決定性因素,當然,最重要的還是實力,很多學生會認為面試不公平,但我覺得這也算是從學校進入社會的第一課吧,工作后學生們會發現更多不公平的事,對于學生而言,無論是應屆畢業的本科、碩士,我的面試標準都差不多,考察的為Java基礎、Java框架、設計模式、互聯網架構的了解,當然,在最后會問一些其他的問題,例如大學學習情況呀、一兩年后對自己的期望呀、優勢和不足、最近看過的技術新聞等等,在這些所有的問題的背后,考察的最重要的是基礎掌握的是否扎實、學習能力、反應速度、抗壓能力以及技術興趣。
對于應屆生而言,通常都沒有太多的實際的商業項目的經驗,更多要求是基礎的扎實,因此第一關會是java基礎的考察,在java基礎的考察上通常我會考察下學生對于protected、static等等的掌握程度,在面試的過程中,幾乎所有的同學都認為自己熟悉的包是集合,其他的包都談不上熟悉,在集合包方面可以考察的點也很多,例如List、Set的區別;HashMap的實現方式等;在基礎方面,線程、通信、遠程調用、并發、GC等這些會成為加分項,我覺的如果學生能對這些有掌握的話就更好了。
第二關會是Java框架的考察,在這方面會考察學生對于自己認為的最熟悉的框架的掌握程度,然后會考察學生對這類框架中的核心思想的掌握情況,例如Struts,那么就可以考察學生對于MVC思想的掌握情況,自主如何實現MVC框架;例如spring,可以考察如何自主實現一個DI框架等,這些題目其實如果學生具備很強的舉一反三和反向推理的能力,基本是可以答出來的。
第三關會是設計模式的考察,這關我覺得基本已經屬于加分環節了,設計模式方面可以讓學生當場寫一段自己最熟悉的模式的代碼,例如singleton模式,有很多種寫法,可以問下學生各種寫法有什么不同。
第四關為互聯網架構的了解狀況,這關純屬加分環節,如果能夠對互聯網的架構有所了解的話,會非常有幫助。
第一關和第二關屬于通關制,如果順利的通過了第一關和第二關,其實基本也就過了,之后就可以聊聊在大學的學習情況、一兩年后的期望、最近看過的技術新聞、大學期間做過的最有成就感的事等等,盡可能的更加全面的了解學生。
根據整體的面試情況來看,現在應屆生找工作的壓力確實非常的大,而且大部分都已經是碩士了,本科生能過筆試的都不多,能過面試的就更少了,不過也會有就是,面過一個不錯的本科生,竟然對jdk的很多代碼都有閱讀、開源框架上spring DI那部分的代碼也仔細的閱讀過,并且他去閱讀這些代碼的原因就是他認為這些代碼應該是會寫的不錯的,需要仔細看看,:),這我覺得基本是典型的技術人士,另外,還碰到過一個碩士生,他對于Java框架幾乎完全不了解,但他有個很明顯的特征,就是只要他用過、學過的Java包什么的,例如ArrayList、HashMap等等,他都能做到從頭到尾的掌握,可以稱的上是精通了,這種我覺得很適合做專業型的基礎技術,:)
很多應屆生會覺得是因為大學中沒教這些,所以導致他們面試很難通過,但我覺得這還是對于技術的興趣以及自學能力等決定的,大學中最不缺的應該就是時間,完全有足夠的時間看看一些源碼什么。加強自己的知識體系,為離開學校、進入社會工作做好充足的準備,另外,在面試的時候一定要誠實,不懂的就是不懂,沒什么的,不能完全答對面試的問題并不代表就被淘汰了,希望這篇blog能給大學生們提供一點幫助,:)。