我是主考官之面試故事(3):兩次棄用的變態(tài)筆試題
電話的溝通雖然不可能對一個程序員作全面的了解,但基本上能有一個比較概括的判斷,這也許就是所謂的***印象吧!
通過電話的初步溝通我對來面試的程序員已經(jīng)有了初步的印象,但說句實話,還是印象不怎么深。因為,畢竟僅僅是電話篩選而已,并沒有更深入的了解與接觸。
在最開始組建這個部門的時候,我基本上不用筆試,而是直接與應(yīng)聘者面試。因為,希望招聘到骨干人員,希望能夠直接面對面的溝通更加方便。但是,當招聘初級程序員的時候我開始也是這樣作的,但發(fā)現(xiàn)這樣作確實非常沒有效率。原因就是,用一句不是很恰當?shù)男稳菰~“濫竽充數(shù)”的應(yīng)聘者還是比較多的,即使是經(jīng)過了電話溝通的應(yīng)聘者也不例外,仍然是很多東西掌握的都不扎實。
后來,我還是選擇了采用其他公司慣用的一個方法——“筆試”。
我開始的時候挺懶的,懶得自己編筆試題,就直接從網(wǎng)上搜一個,也沒怎么看直接給程序員去筆試了,我大概開始搜到的那個題是這樣的:
1、面向?qū)ο蟮奶卣饔心男┓矫?BR>2、String是最基本的數(shù)據(jù)類型嗎?
3、運行時異常與一般異常有何異同?
4、說出ArrayList,Vector,LinkedList的存儲性能和特性
......
9、Collection和Collections的區(qū)別。
10、HashMap和Hashtable的區(qū)別。
11、final,finally,finalize的區(qū)別。
12、sleep()和wait()有什么區(qū)別?
13、同步和異步有何異同,在什么情況下分別使用他們?舉例說明。
14、abstractclass和interface有什么區(qū)別?
......
27、垃圾回收的優(yōu)點和原理。并考慮2種回收機制
28、請說出你所知道的線程同步的方法。
29、你所知道的集合類都有哪些?主要方法?
30、多線程有幾種實現(xiàn)方法,都是什么?同步有幾種實現(xiàn)方法,都是什么?
31、JSP的內(nèi)置對象及方法
......
36、XML文檔定義有幾種形式?它們之間有何本質(zhì)區(qū)別?解析XML文檔有哪幾種方式?
在剛剛開始筆試的時候,我跟前臺說幫我判一下卷子,凡是內(nèi)容非常少的或者很多都不對的,就直接讓他們走就行了。
但當我等了半天,給前臺打電話問問卷子答得如何時,得到的答案是,他們?nèi)甲吡?,我問何故?BR>前臺MM一臉的委屈,你過來看看就知道了!
呵呵,使我萬萬沒想到的是,基本上很多的程序員都是文不對題甚至交白卷。
我比較疑惑,明明在電話溝通的時候說是有項目開發(fā)經(jīng)驗啊,怎么連筆試都過不了?顯然我這樣的某些做法是錯誤的!
說句公道話,我發(fā)現(xiàn)這個筆試題確實有些變態(tài),也不是誰總結(jié)的,有些不常用的題目的具體答案我自己都覺得有些難,更何況這些初級程序員了,顯然這個篩子太密了,把應(yīng)聘者都篩掉了,不行!立刻總結(jié):
***點,辛辛苦苦打電話約來的面試者,連面都沒見到就全讓前臺給拒了,面試者需要我自己來親自見面,不管是否過了筆試我都見一下。
第二點,如果每一個應(yīng)聘者都答不出來,說明這個筆試題有點難了,需要調(diào)整筆試題。
于是,我調(diào)整了我的筆試題,更加貼近了這個職位,我的筆試題如下:
1、請寫一段html,完成下列表格的樣子。注意:是單線邊框。
2、字符串“A@B@C@D”,以@字符拆分返回數(shù)組。
3、字符串Strings=”SDsBEaA”,要求***生成s=”AaBDESs”.
4、有3張表,Student表、SC表和Course表
Student表:學(xué)號(Sno)、姓名(Sname)、性別(Ssex)、年齡(Sage)和系名(Sdept)
Course表:課程號(Cno)、課程名(Cname)和學(xué)分(Ccredit);
SC表:學(xué)號(Sno)、課程號(Cno)和成績(Grade)
請使用SQL語句查詢學(xué)生姓名及其課程總學(xué)分
(注:如果課程不及格,那么此課程學(xué)分為0)
5、請說出這個程序的目的是什么?返回結(jié)果是什么?
publicStation(URLurla){
try
{
Stringa="",b="";
InputStreamins=urla.openStream();
BufferedReaderbReader=newBufferedReader(newInputStreamReader(ins));
Stringinfo=bReader.readLine();
inti=1;
info=bReader.readLine();
while(info!=null){
a=info.substring(0,info.indexOf("@"));
b=info.substring(info.indexOf("@")+1,info.length());
if(i==1){
this.X1=Integer.parseInt(a);
this.Y1=Integer.parseInt(b);
}
if(i==2){
this.X2=Integer.parseInt(a);
this.Y2=Integer.parseInt(b);
}
if(i==3){
this.X3=Integer.parseInt(a);
this.Y3=Integer.parseInt(b);
}
if(i==4){
this.X4=Integer.parseInt(a);
this.Y4=Integer.parseInt(b);
}
i++;
info=bReader.readLine();
}
}
catch(MalformedURLExceptione){
System.out.println(e);
}
catch(IOExceptione){
System.out.println(e);
}
}
這次調(diào)整之后,終于不是滿篇白卷了,但仍然有很多同學(xué)還是好多都不會。
這次調(diào)整的題目是非常貼近實際編程的,一道Html題,兩道Java編程題,一道SQL語句題,一道讀程序理解題,我覺得不難啊!怎么還是有很多同學(xué)不會作呢?
當然,還是有人能答得出來或者說基本上能答得出來,那么基本上能答出來的都進入了面試環(huán)節(jié)。
后記(關(guān)于那個變態(tài)題的后面的故事):
上面的那個變態(tài)筆試題被我扔掉之后,若干日子以后,我不親自去面試和筆試了,那個變態(tài)題被我的一個項目經(jīng)理得到了,他仍然用這個筆試題去筆試。后來一個偶然的機會我發(fā)現(xiàn)原來他還在用這個變態(tài)題!
我非常驚訝的問他:“這個這么變態(tài)的題你竟然還在用?他們都會嗎?”
答曰:“沒問題啊,基本上很多人都答得很正確!”
我暈!怎么回事?難道他遇到的都是高手?
后來才明白,這個能在網(wǎng)上隨時可以搜到的變態(tài)題已經(jīng)早就被這些應(yīng)聘者爛熟于心了,就是為了應(yīng)付筆試才去突擊背下來的!
于是,由于這個原因,這個變態(tài)題被第二次棄用了......
【編輯推薦】