談談技術面試

2022-03-06 08:26:40 字數 1398 閱讀 7110

只要是招乙個技術人員,不管是初級的程式設計師還是高階軟體工程師,技術上的考核都必不可少。很榮幸作為面試官參與過公司的一些技術面試,從中也體會到了一些東西。

首先,我覺得技術面試是需要講究技巧的,不是隨隨便便拉乙個技術不錯的人就可以,因為面試的過程是雙方相互交流的過程,你需要給對方營造乙個輕鬆的氣氛,並在不斷的提問與回答的過程中,進行「合理的引導」,「適時的追問」與「正確的判斷」。

所以我覺得乙個公司的技術面試需要有良好的經驗傳承,不光光只是留來一些題庫;也不光光是一句要相互尊重,你代表公司的形象;更重要的如何去主導一場面試,全面、準確的了解對方的能力。乙個新的面試官在上場前需要培訓一下如何去做到這些,最好能新老搭配帶一下,這樣,我覺得才是最靠譜的,也是我們之前做的不夠好的地方。

一般情況下,軟體公司招人總會對這三個方面的能力做一下考核,一是程式語言,二是資料結構與演算法,三是系統設計。

程式語言

語言是工具,是乙個程式設計師每天都要使用的東西。在我看來,考察程式語言,不僅能考察乙個人對一門語言的理解程度,也能反應乙個人的對待知識的態度 - 你會怎麼看待乙個有10年c++經驗但卻對這門語言所知甚少的人?恐怕是安於現狀,不求甚解。

針對被面者熟知的語言與庫來考察其對語言各個特性的了解與應用,最後,讓被面者寫個程式看看其對這們語言的操控程度。

資料結構與演算法

工作5、6年,在我以前的專案中,需要用到資料結構與演算法的機會不是很多。我也曾經懷疑,考察演算法是不是有必要。那麼有必要嗎?

我是這麼說服自己的:

的確,有些專案,涉及更多的只是呼叫第三方庫去堆徹**,實現業務邏輯,沒有太多的機會去直接的、明顯的應用演算法,但如果因此而自我設限,難免淪為平庸。

演算法,其實考的也是乙個人思考問題的套路,乙個人的創造力。說句俗氣的話,不管你現在做的是什麼,如果你具備了這種思維方式,你總能找到地方應用它。或許,以前你所認為的那些沒有意義的事情,只是因為你選擇了沒有意義的方式去完成它而已。

考察一些初級資料結構與演算法的概念,別考的太深太偏。準備一些具有「可伸縮性」的演算法題,看看被面者如何分析問題,如何分析演算法複雜度,以及如何用其選擇的語言實現演算法。

系統設計

這個主要是考察被面者在物件導向軟體設計方面的能力,一般針對高階一些的職位。

可以先了解一下被面者對物件導向設計的基本概念與原則的了解,然後讓其談談他之前專案中做過的設計;並準備幾道可以逐步深入的設計題讓其當場設計。哦,別忘了問問他為什麼這麼設計。

需要注意是,要了解面試者真實的實力,你必須要好非常好的臨場應變的能力,善於從面試者的回答中提取有用資訊並加以追問。

另外,因為現場面試需要耗費雙方很多的時間與精力,所以針對上面三個方面,最好能先進行一下**面試,做乙個大概的了解,這樣可以避免不必要的耗費 - 所以,做好**面試也就非常重要有了:你需要做成盡量準確的判斷 - 來,還是不來。

談談容器技術

首先呢,上台演講的人均認為容器不是虛擬化,兩者不等價。嗯,是呀。如果等價的話,這應該叫虛擬化技術大會了。演講者均認為這兩者的區別在於 容器是應用的包裹。虛擬化是作業系統的包裹。這就是為什麼我收快遞總是有那麼多層包裹。最後裡面的玻璃杯還是tm的碎了。原因?原因可能是快遞小哥扔了一下。所以需要商家再增加...

談談技術 Technology

技 術 我們搞技術的,天天說自己是搞技術的,那麼有沒有問過自己,到底是什麼是技術?你搞的東西到底是什麼?先翻百科,看看學術定義 技術是解決問題的方法及方法原理,是指人們利用現有事物形成新事物,或是改變現有事物功能 效能的方法。技術是製造一種產品的系統知識,所採用的一種工藝或提供的一項服務,不論這種知...

談談IT技術學習

我覺得對於技術類it崗位,學習 總結 進步 是乙個for 迴圈,但卻是一種良性的busy loop,一旦你break,在程式終結的同時,我想你的技術類職業生涯也就該謝幕了。對別人的學習過程不敢妄加誹議,結合自己的學習過程來談談吧。首先要明確的是學習的意義 為了完成工作?為了做技術投資?為了興趣?我想...