谈谈对于技术面试的心得体验
導(dǎo)讀:作者lzprgmr寫了一篇《談?wù)劶夹g(shù)面試》文章,他在文中講述了自己對于技術(shù)人員面試的經(jīng)驗和心得,以下是文章內(nèi)容:
只要是招一個技術(shù)人員,不管是初級的程序員還是高級軟件工程師,技術(shù)上的考核都必不可少。很榮幸作為面試官參與過公司的一些技術(shù)面試,從中也體會到了一些東西。
首先,我覺得技術(shù)面試是需要講究技巧的,不是隨隨便便拉一個技術(shù)不錯的人就可以,因為面試的過程是雙方相互交流的過程,你需要給對方營造一個輕松的氣氛,并在不斷的提問與回答的過程中,進(jìn)行“合理的引導(dǎo)”,“適時的追問”與“正確的判斷”。
所以我覺得一個公司的技術(shù)面試需要有良好的經(jīng)驗傳承,不光光只是留來一些題庫;也不光光是一句要相互尊重,你代表公司的形象;更重要的如何去主導(dǎo)一場面試,全面、準(zhǔn)確的了解對方的能力。一個新的面試官在上場前需要培訓(xùn)一下如何去做到這些,最好能新老搭配帶一下,這樣,我覺得才是最靠譜的,也是我們之前做的不夠好的地方。?
一般情況下,軟件公司招人總會對這三個方面的能力做一下考核,一是編程語言,二是數(shù)據(jù)結(jié)構(gòu)與算法,三是系統(tǒng)設(shè)計。
編程語言
語言是工具,是一個程序員每天都要使用的東西。在我看來,考察編程語言,不僅能考察一個人對一門語言的理解程度,也能反應(yīng)一個人的對待知識的態(tài)度——你會怎么看待一個有10年C++經(jīng)驗但卻對這門語言所知甚少的人?恐怕是安于現(xiàn)狀,不求甚解。
針對被面者熟知的語言與庫來考察其對語言各個特性的了解與應(yīng)用,最后,讓被面者寫個程序看看其對這們語言的操控程度。
數(shù)據(jù)結(jié)構(gòu)與算法
工作5、6年,在我以前的項目中,需要用到數(shù)據(jù)結(jié)構(gòu)與算法的機會不是很多。我也曾經(jīng)懷疑,考察算法是不是有必要。那么有必要嗎?
我是這么說服自己的:
的確,有些項目,涉及更多的只是調(diào)用第三方庫去堆徹代碼,實現(xiàn)業(yè)務(wù)邏輯,沒有太多的機會去直接的、明顯的應(yīng)用算法,但如果因此而自我設(shè)限,難免淪為平庸。
算法,其實考的也是一個人思考問題的套路,一個人的創(chuàng)造力。說句俗氣的話,不管你現(xiàn)在做的是什么,如果你具備了這種思維方式,你總能找到地方應(yīng)用它。或許,以前你所認(rèn)為的那些沒有意義的事情,只是因為你選擇了沒有意義的方式去完成它而已。
考察一些初級數(shù)據(jù)結(jié)構(gòu)與算法的概念,別考的太深太偏。準(zhǔn)備一些具有“可伸縮性”的算法題,看看被面者如何分析問題,如何分析算法復(fù)雜度,以及如何用其選擇的語言實現(xiàn)算法。
系統(tǒng)設(shè)計
這個主要是考察被面者在面向?qū)ο筌浖O(shè)計方面的能力,一般針對高級一些的職位。
可以先了解一下被面者對面向?qū)ο笤O(shè)計的基本概念與原則的了解,然后讓其談?wù)勊绊椖恐凶鲞^的設(shè)計;并準(zhǔn)備幾道可以逐步深入的設(shè)計題讓其當(dāng)場設(shè)計。哦,別忘了問問他為什么這么設(shè)計。
需要注意是,要了解面試者真實的實力,你必須要好非常好的臨場應(yīng)變的能力,善于從面試者的回答中提取有用信息并加以追問。
另外,因為現(xiàn)場面試需要耗費雙方很多的時間與精力,所以針對上面三個方面,最好能先進(jìn)行一下電話面試,做一個大概的了解,這樣可以避免不必要的耗費——所以,做好電話面試也就非常重要有了:你需要做成盡量準(zhǔn)確的判斷——來,要是不來。
總結(jié)
以上是生活随笔為你收集整理的谈谈对于技术面试的心得体验的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用属性block进行代替代理使得两个v
- 下一篇: 健康丨汗从哪里出 病从哪里来