這兩天和領(lǐng)導產(chǎn)生了一些誤會,領(lǐng)導給了我很多Android開發(fā)讓我面試,本意是讓我招大哥,我卻按招小弟的標準來面試的,結(jié)果通過的人完全無法達到第二次篩選的標準。不知大家有沒有發(fā)現(xiàn),在國內(nèi)對于程序員或開發(fā)工程師嚴重缺乏評級標準,往往是按工作年限評級的,一兩年的叫工程師,三五年的叫高級工程師,七八年的就叫資深高級工程師(有些厚顏無恥的叫架構(gòu)師),十年左右的叫大神!十多年以上的,什么?你還在做開發(fā)?你有問題吧!
但是大哥不是按年齡劃分的。
面試題:吹牛
說具體點可以是:說一下你認為自己比其他程序員出色(厲害)的地方?為什么我們要選擇你呢,你和其他程序員比有什么優(yōu)勢?
這個是非常難的面試題,你覺得呢?哲學家蘇格拉底說過“人最難的就是認識自己”,這句話一點都不假,而且據(jù)調(diào)查很多人都認為自己的水平高于平均水平(總之不會是自己拖后腿)。所以往往自己都會認為自己比其他程序員厲害,但要真說出厲害在哪幾點,還真難說出來。
有很多人面試后也感覺自己面的不好,面試官明明問的都是基礎題,只不過是多嘴問一下對這些組件的看法,就把很多“資深的高級工程師”搞得有點不好意思了,突然感覺到自己好像不會Android開發(fā)一樣。其實,這表明了很多人只是會使用這些常見的東西,但從來不會去思考為什么要這樣用、還有沒有更好的用法。
有時都不是有更好的用法的問題,而是正確的用法的問題。說一個例子:前些天遇到一個Android開發(fā)(按年限算應該是“高級工程師”了),他的應用發(fā)生了Crash,找我?guī)兔Ψ治鲆幌隆N也榭匆幌氯罩景l(fā)現(xiàn)是NullPointerException,應該是很好解決的。然后發(fā)現(xiàn),NullPointerException的地方是在他的Service的一個public方法中去調(diào)用了一個在Service的onCreate創(chuàng)建的變量。
再查找發(fā)現(xiàn)他知道使用bindService來綁定服務,也知道在onConnection中獲取Service的實例,從而可以調(diào)用Service的方法。問題在于,他知道這個bindService是異步的,所以在沒有bindService成功前就自己手動創(chuàng)建了一個Service實例。當然,這個Service實例不會調(diào)用它的onCreate方法。
他知道用bindService啟動一個Service,但卻不知道自己創(chuàng)建的實例和系統(tǒng)創(chuàng)建的Service實例是有區(qū)別的。你會使用了,不代表你就真地明白了。
如果,我們?nèi)狈λ伎迹皇且晃兜穆耦^于眼前的問題,那么我們很難跳出這個問題的怪圈:因為眼前的問題纏住自己了,所以沒有時間和精力去學習和反思,因為不學習和反思思維就更局限,就更沒有辦法解決眼前的問題......
有過一些表現(xiàn)比較積極的面試者,在技術(shù)面試表現(xiàn)不佳時,主動和我表白:“自己絕對有信心和能力解決工作中的問題,而且自己的學習和理解能力超強的,現(xiàn)在不知道的等下來一學就會”。好吧,積極推銷自己總歸是不錯的。
但是真正看一個人是不是比別人出色,首先不是看他說了什么,而是看他做出了什么。比如你直接讓我看一下你的一個Github的開源項目,那我直接看看你的代碼就知道你是否真的比一般的開發(fā)出色了。如果它有100+顆星,那我覺得你是真厲害了。
提交項目到Github簡單嗎?簡單,但很多人都做不到。
看著再簡單的事情,做了才好評價。所以,如果你還只是一個學生,或者工程師的角色,那么給自己定一個三到五年計劃吧,現(xiàn)在雖然不知道自己比別的工程師出色在哪里,但希望三年后你能知道,大家也能看得出來。
Even 原創(chuàng)
簡書鏈接:http://www.lxweimin.com/users/f9fbc7a39b36/latest_articles
轉(zhuǎn)載請注明出處。