談一談周公所理解的面試

因為公司最近招聘的力度很大,所以最近公司的面試很多,加之很多同事項目緊,所以讓我參加了一些技術面試。不論是作為面試官還是應聘者,參加工作以來我參與的面試的次數我自己也記不清了,所以在此想從面試官和應聘者的角度來談談我的面試經歷和感受。

作為面試官

因為上周的事情比較近,我就先從公司最近的面試談起。我所在的公司面試是分為四輪的,前兩輪是技術面試,第三輪是英語面試(因為是外企,所以對英語要求相對較高),第四輪是人事的面試,因為應聘者分布范圍很廣,所以我們的面試以電話面試為主。因為我本身就是技術人員,所以我只會參與前兩輪的面試。

首先公司負責招聘的工作人員會從招聘網站收集一些相關技術領域的應聘者信息,在這里做一些初步的過濾,比如學歷、工作年限、工作經歷等等,在這里的過濾沒有任何技術人員的參與,僅僅是負責招聘的同事根據自己以往的經驗來工作,這一步驟我沒有參與,所以我也不知道具體細節。通過了簡歷過濾這一步之后,應聘者會得到電話確認通知,確認是否真的有意向來本公司工作。

經過了簡歷過濾之后,就進入到正式的面試流程,也就是第一輪技術面試。這一輪的技術面試有點像“超女”的海選。在這一輪中我們會對應聘者的技術廣度和深度做一個較為全面的測試。對于技術人員,我個人有這樣一種看法:技術的深度是決定是否錄用的充分條件,而技術的廣度是決定你的薪水高低的充分條件。注意我在這里用的詞語是充分,而不是充要或者必要,因為有些偏才、怪才不屬此例,如果你自認為不是偏才或者怪才,那么就要在技術的深度和廣度上下功夫,最好是遵循先深度再廣度的過程。所以在第一輪的技術面試中,我們會首先通過一些基本的問題來了解應聘者的所掌握技術的廣度,然后再通過一些基礎題來測試應聘者所掌握技術的深度。如果應聘者在某些面上達到了我們的深度要求,就會進入到下一輪面試。

跟第一輪面試有所不同的是,第二輪面試提問的面不會那么廣,而是根據應聘者在上一輪中的表現突出的部分再深入詳盡了解測試一下他所掌握的技術的深度,除此之外,可能還會有一些問題來測試他的思維反應能力,比如針對某一個框架中已經實現過的功能要求應聘者嘗試另外一種實現,比如如何寫一個Web服務器或者某個框架等等,在這里并不是要求應聘者真的去實現這樣一個功能,而是借此來判斷他對陌生問題的思維反應能力。如果通過了這一輪面試,算是通過了技術部分的面試了。

在這里我想糾正幾個錯誤的觀點。

第一個觀點就是很多初中級開發人員經常會想一些類的基本用法一查幫助手冊或者在網上一搜就能得到答案了,為什么還會問這樣的問題?這個觀點是錯誤的。我承認很多問題確實可以通過查找幫助手冊或者在網上搜索就能找到答案,但是作為開發人員掌握一些基本知識是必須的。就像通過查字典我們能閱讀所有的書籍一樣,但是你見過哪個作家認識的字還沒有一個小學生認識的多就能寫出一部長篇小說來?開發人員是創造者,如果腦子里實現沒有一些基礎的知識,他怎么能夠天才般地想到這個問題改用那個類的那個方法來實現?這就是為什么所有的針對初中級技術人員的面試一定少不了問基礎知識的原因。對于同一個功能的實現,可能在類庫中有不同的實現,這些實現之間的差別我并不認為是類似“茴香豆的茴字有幾種寫法”那樣迂腐可笑,相反它們可能分別適應于不同場景下。

第二個觀點就是很多應聘者總感覺面試官是一定要難倒應聘者才會獲得心理上的快感,或許有這樣的面試官,但是大部分面試人員沒有這種心態。有時候會提一些刁鉆、偏僻的問題,這是出于了解應聘者的掌握的技術的廣度的需要。在大部分情況下,某些問題你回答不上來沒有關系,沒有人指望你會獲得滿分——當然,如果你獲得了滿分,在你和HR談薪資的時候你會更主動、底氣更足。在某些情況下,面試官在某個地方深究可能是出于項目的需要,比如希望招聘進來的人將來從事某個項目的開發,而這個項目對一些領域要求比較高。

第三個觀點是關于面試官與應聘者的技術高下的,很多人認為面試官一定比應聘者技術高,其實未必。當然在大多數情況下可能是如此。我有看到有人在寫面試經歷中寫到自己曾經問過面試官一個問題,結果面試官回答并不理想,于是就得出面試官技術不咋地,甚至還會說面試的那個公司全部技術不怎么樣的結論,其實這個結論未必是正確的。所謂術業有專攻,你所掌握的知識未必就一定是別人所需要的,你在某一個點上勝了別人未必代表你在所有面上都超過了。當然也存在你在某一個面上真的勝出了別人——這很可能就是別人要招聘你的原因。總之,面試官不是處處都比你牛,他能代表公司來面試你可能是他在另一個你并不擅長的方面很突出所以就進入了公司并且代表公司來面試你。

作為應聘者

前面周公說過,周公做過面試官,也做過應聘者,在這里周公也談談周公作為應聘者的一些經歷和感受,在簡歷中我的應聘崗位從C#高級程序員到項目經理及技術總監。為了避免不必要的麻煩,在下面的敘述中列出的公司名稱都是隨意取的代號,請大家不要對號入座。

從山西太原回湖北武漢之后,周公在一家掛著美資旗號的臺資企業WSW工作(臺資企業最典型的代表就是FSK了,最具有臺資特色的就是所有窗戶外面都有安全網),這類的臺資企業還有WCQS等等。因為臺資企業的變態管理制度和無福利措施,所以在那家公司時周公去過武漢一些軟件公司面試。在這里周公談一談一些印象比較深刻的面試。

第一家印象比較審核的公司就是QS。這也是和WSW一樣,這也是一家掛著美資旗號實行臺企管理的軟件企業,里面有很多不違反法律法規但是讓人覺得非常不舒服的措施,其中之一就是讓你拿著二線、三線城市的薪水去一線城市出差(有些臺企如WSW更惡劣到以“培訓”的名義讓你出差,這樣連差旅費都省了)。在這家公司里我被問及到很多技術和管理方面的問題,大多數我都回答得比較好,所以就沒有什么印象了。我至今仍有印象的就是一道關于單元測試題,題目就是有針對一個大型項目的單元測試,全部測試用例有16萬個,做完全部測試的時間大約需要8小時。現在的情況是如果一次性全部測試就會有用例測試不通過,如果只測試一半(前1/2或者后1/2)就能通過,問如何解決這個問題。說實在話當時對這個問題我就沒有思路,一般開發者在項目中也不會遇到這樣數量的單元測試用例,我當時的思路是再測試前1/43/4部分的用例看是否會全部通過,或者繼續類似于修電腦式的故障排除法(就是通過分段的方式)來查看問題所在,不過仍被否定。至今這個問題我仍沒有想出比較好的辦法(這也是為什么我至今仍沒有忘記的原因),現在想到的可能就是是否在單元測試中有未來得及釋放的資源,在少量用例測試中并不會出現,在大量用例測試中就會因為沒有來得及釋放所導致(比如大量對數據庫訪問導致數據庫連接池中沒有可用連接導致等待超時等等)。

第二家公司是在漢口的一家公司。去了之后被告知公司總部位于深圳,武漢分公司成立不久,公司現在目前還沒有技術人員,唯一懂技術的總經理當時正在出差,在出差之前總經理留下了一套題。等HR把這套題拿過來之后,我一看真的是傻眼了!在這份8頁的試題上寫滿了題,所涉及到的編程語言有DelphiC\C++JavaC#PHP,所涉及到的數據庫有SQL?ServerMySQLOracle,除此之外還有一些算法題,什么灰度算法之類的等等。說實在話,這些編程語言和數據庫我都使用過(廣度還算可以吧,當然有些只是在業余學習并實踐的),但是不能在每個編程語言和數據庫上都能達到相同的深度,花了兩個半小時做了我所能做的部分就交卷了。事后的感覺是,在應聘過程中我遇到過不少要求廣度和深度的公司,但是如此要求的真的是平生第一次,到最后我都不知道這家公司主要用什么變成語言開發。

第三家公司是曾經位于中南的WC公司。進去之后也是發了一堆面試題,有中文描述要求中文作答的,有英文描述要求英文作答的,有技術的,也有考邏輯思維能力的,也有個人要求填寫個人隱私資料的。在技術面試部分有考編譯原理的,也有考匯編語言的,盡管學的不是計算機專業課,但是為了拓展眼界我曾經自學過這方面的知識,所以大部分勉強回答得上來,不過最終我沒有做完全部的試題,因為我在試題中看到了很多設計個人隱私問題,比如是否得過乙肝(這個好像國家禁止用人單位打聽并以此拒用應聘者吧),還有在過去三年是否得過重大疾病以及對祖上的調查等等,并且公司說如果不如實回答公司如若發現就會立即辭退,考慮到這樣的公司不可能會對員工有所尊重,所以我決定半途退出(事后我有同事去了這家公司,完全證明了我的推測)。

第四家公司是位于珞瑜路上的一家公司,總部也是位于深圳。在一個大學紛飛的冬天,我去了這家公司面試。頭一次遇到沒人給倒杯水的經歷(我當時真的很想喝杯熱水暖暖身子,特別是我后來知道整個面試過程持續了三個半小時時)。這家公司的面試題也很厚,前半部分是非技術測試,題目很像公務員考試的邏輯推理題目(周公曾有一次公務員考試的經歷),后半部分是技術題,讓我吃驚的全部是CC++的題目。術業有專攻,對于CC++方面的知識我確實不熟悉,只能回答一部分。最后來了一個技術人員和我聊天,我們談了各種數據庫的記錄數達到何種級別就需要采取集群或者負載均衡措施,之后的全部時間都是在圍繞著數據庫方面的知識進行。事后周公的感覺是,可能這家公司的HRC#當做C++,因為他們要招聘的是高級C++開發人員而不是C#,估計是看到都有C,覺得差不多所以讓我過去參加海選。

第五家公司,這家公司是我進入到當前公司之前的最后一家公司,這是一家創業型的公司,所以對技術要求比較高。在這家公司里面試過程中,基本上都是圍繞C#ASP.NET進行,中間曾有過JavaC#的對比,對于JavaC#我一直都在用并且也都在關注技術趨勢,所以回答得比較順利。有兩個問題印象比較深刻,一個是一個方法,在C#的循環里執行1000次和在Java里執行1000次(忽略語法上的區別),它們在執行過程中甚至在運行時有什么區別沒有;另一個問題是在ASP.NET中實現URL重寫,這個過程是在對用戶身份認證之前還是之后?在這家公司干了三個月最終離開了,并且在現在的公司認識了以前也同樣在那家公司干過的同事(我進去之后正好坐在該老兄的位置上),大家的感覺是這家公司勞動強度太大,一周上班六天也就罷了,還每天工作12個小時以上,真的是受不了。

最后談談我現在公司對我的面試。在沒進去之前我也經歷過四輪面試,前兩輪同樣是技術面試,在技術面試中問到了IIS各版本之間的差別、命名管道、ASP.NET頁面生命周期、ASP.NET1.1ASP.NET2.0之間的區別(aspx頁面部分就有區別,前為extends,后位partial,編譯處理也不一樣)等等考察廣度和深度的問題。最終通過了面試而入職。


在入職現在的公司之前,還受獵頭推薦跟上海的一家移動互聯網公司接觸過,應聘的崗位是技術總監,在這家公司面試時主要是談及高并發下的處理問題,比如如何使用負載均衡,如何使用Memached等第三方工具等等,本來在這方面我還是有一定經驗,并且對方很也看中我的技術和管理經驗,只不過周圍的人都不太贊同我再次離開武漢,所以最后只好作罷。說真的,心里感覺有些遺憾,但為了父母和家人,只好放棄。

感觸和體會

在面試過程中遇到不能回答的問題不必太過于在意,特別是面試官在考察你掌握的技術的廣度的時候,最忌諱因為一兩道題回答不上來而緊張,從而影響了個人能力的發揮。對于個人來說,一定要盡量在深度上下功夫,在滿足深度的前提下拓展廣度(用邏輯思維能力,舉一反三)。最后要說的是,心態很重要,你有選擇公司的權力,公司也有通過各種手段來來考察你的能力的權力,在不涉及隱私和影響個人福利的情況下盡量作答,能進去自然皆大歡喜,不能入職也沒有必要自暴自棄。可以繼續尋找適合你的公司,也可以繼續準備,為再次面試做準備。

周公

2011-08-15

如有這方面的問題,可以在博客下方留言或者異步到周公的微博(http://weibo.com/zhoufoxcn)參與討論。


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/454642.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/454642.shtml
英文地址,請注明出處:http://en.pswp.cn/news/454642.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

idc機房運維巡檢_智和信通賦能國產信創 建設IT智能監控運維體系 - 蔚穎willing...

作為信創領域深耕多年的企業,北京智和信通技術有限公司始終堅持研發自主知識產權的IT智能運維監控大數據分析系統——智和網管平臺SugarNMS,積極探索AIOps智能運維,通過“國產安全監控分析安管日志運維開發”七合一模式,賦能IDC數…

long long or int

long long or int 很多時候long long爆空間,int有時又不夠 。 在算乘法的時候,要保證乘出來的中間項也不爆long long 轉載于:https://www.cnblogs.com/war1111/p/7532412.html

用Python的Tultle模塊創建一個五角星

方案所需準備Python官方手冊。 這里是我找到的中文版。一個可執行Python的解釋器Ttultle簡介來源烏龜圖形是一個不錯的方式來為孩子們介紹編程。它是Wally Feurzig和Seymour Papert在1966年開發的原始Logo編程語言的一部分。想象一只在x-y平面上,從(0,0&…

鏡像上傳到linux失敗,Docker push鏡像失敗解決方法

Docker push鏡像失敗解決方法發布時間:2017-03-09 12:07來源:互聯網當前欄目:web技術類Docker push鏡像失敗的問題。以下是輸入push自己的tomcat后出現了失敗[rootslave3 ~]# docker push lekkoliu/tomcat8:latestThe push refers to a repos…

Python 之 Python2 和 Python3 的區別

1、默認編碼方式 # Python2 默認編碼方式是 ascll碼 # Python3 默認編碼方式是 utf-8 # Python2 輸出中文要加 # -*- encoding:utf-8 -*- # Python3 不需要 2、print # Python2 可以使用 print,也可以使用 print() 例: print(lili) 或 print lili # Py…

【C/C++開發】C++11 并發指南二(std::thread 詳解)

上一篇博客《C11 并發指南一(C11 多線程初探)》中只是提到了 std::thread 的基本用法&#xff0c;并給出了一個最簡單的例子&#xff0c;本文將稍微詳細地介紹 std::thread 的用法。 std::thread 在 <thread> 頭文件中聲明&#xff0c;因此使用 std::thread 時需要包含 &…

【找工作資料】外企面試技巧

這里談談面試的技巧。這是根據誠迅聯豐咨詢公司許國慶在北大光華管理學院、經濟學院和清華經濟管理學院的講座整理出來的。他曾在美國的投資銀行和商業銀行工作了近十年。 一、面試前的準備 1&#xff0e;確定3W 明確面試前的三要素&#xff0d;When (時間)、Where&#xf…

觸摸屏Sensor疊構實例學習記錄(一)

現在從事TP這個行業&#xff0c;看再多的資料和介紹&#xff0c;不如直接拿個實例的工程圖來看&#xff0c;分析每一部分具體是什么東西&#xff0c;比看再多的資料更容易入門。 以下圖紙和圖片都是我從網上隨便下的&#xff0c;僅次于學習記錄使用&#xff0c;不做另外的商業用…

linux查找influx的安裝位置,InfluxDB學習之InfluxDB的安裝和簡介 | Linux大學

最近用到了 InfluxDB&#xff0c;在此記錄下學習過程&#xff0c;同時也希望能夠幫助到其他學習的同學。本文主要介紹InfluxDB的功能特點以及influxDB的安裝過程。更多InfluxDB詳細教程請看&#xff1a;InfluxDB系列學習教程目錄一、InfluxDB 簡介InfluxDB 是用Go語言編寫的一個…

Python 之數據類型

文章收集于網絡&#xff0c;如有版權&#xff0c;請聯系作者 一、引子 1 什么是數據&#xff1f; x10&#xff0c;10是我們要存儲的數據 2 為何數據要分不同的類型 數據是用來表示狀態的&#xff0c;不同的狀態就應該用不同的類型的數據去表示 3 數據類型 數字、字符串、列表…

Jquery中$(document).ready(function(){ })函數的使用詳解

Jquery是優秀的Javascrīpt框架,$是jquery庫的申明&#xff0c;它很不穩定&#xff08;我就常遇上&#xff09;,換一種穩定的寫法jQuery.noConflict(); jQuery(document).ready(function(){}); 使用jQuery的好處是它包裝了各種瀏覽器版本對DOM對象(javascript的DOM對象你應該知…

爬蟲數據executemany插入_金融數據的獲取——一個爬蟲的簡單例子

對量化投資策略進行研究&#xff0c;第一步就是獲取我們需要的數據。使用歷史數據能夠對策略進行回測&#xff0c;以驗證策略的有效性和可信性。另一方面&#xff0c;量化投資本身也是一種對數據的研究&#xff0c;因此它也必須遵循數據分析的相關步驟。作為一個業余的量化投資…

洛谷 P1736 創意吃魚法

P1736 創意吃魚法 題目描述 回到家中的貓貓把三桶魚全部轉移到了她那長方形大池子中&#xff0c;然后開始思考&#xff1a;到底要以何種方法吃魚呢&#xff08;貓貓就是這么可愛&#xff0c;吃魚也要想好吃法 ^_*&#xff09;。她發現&#xff0c;把大池子視為01矩陣&#xff0…

程序員面試中遇到問題

面試時候經常會問的一些問題(不斷補充中) 面試必備基礎題目(雖然不一定常用, 僅用于面試, 面試就是把人搞的都不會然后砍價, 當然您可以講我可以查資料完成, 但是面試的時候就是沒道理的, 起碼我是經常看到這些題). 如何把一段逗號分割的字符串轉換成一個數組? request.getAtt…

linux檢查swap配置,Linux環境下swap配置方法

8種機械鍵盤軸體對比本人程序員&#xff0c;要買一個寫代碼的鍵盤&#xff0c;請問紅軸和茶軸怎么選&#xff1f;前言安裝Linux系統之后&#xff0c;默認是沒有swap分區&#xff0c;那么我們怎樣增加和刪除swap分區。配置swap步驟1) 內存占用情況1free -hSwap: 0B 0B 0B2) 通過…

react學習系列1 修改create-react-app配置支持stylus

注&#xff1a;由于前端更新非常快&#xff0c;寫這篇文章時 create-react-app 使用的版本是1.4.1 最新的使用流程請參照官方文檔。create-react-app 是facebook推出的快速創建react項目的命令行工具。 他和 vue-cli 類似。開箱即用&#xff0c;不用改一行配置就可以開發出針對…

Python 內置模塊之 時間模塊 datetime

概述 datatime模塊重新封裝了time模塊&#xff0c;提供更多接口&#xff0c;datetime庫定義了2個常量和5個類。 2個常量分別是&#xff1a; MINYEAR1MAXYEAR9999 5個類分別是&#xff1a; date類&#xff1a;表示日期的類time類&#xff1a;表示時間的類datetime類&#xf…

python自學網站需要多長時間-怎么自學python,大概要多久?

我潑點冷水&#xff1a;建議還是要慎重選擇上來新手就自學Python。如果想認認真真打好基礎&#xff0c;還是要至少從Java學起。換句話說&#xff0c;先學會Java&#xff0c;然后再學Python不遲。 Python的最大優勢是簡單明快&#xff0c;最大問題也是簡單明快。 我面試過很多用…

[c/c++] programming之路(25)、字符串(六)——memset,Unicode及寬字符,strset

一、memset #include<stdio.h> #include<stdlib.h> #include<memory.h>void *mymemset(void *p, int num, int len) {char *px (char *)p;if (p NULL)return NULL;while (len>0){*px (char)num;px;len--;}return p;//因為上述代碼是對px進行操作&#…

linux切換sid,linux – 將sid字段添加到ps -f輸出

我正在閱讀ps手冊頁,有一些我不明白的東西.-f does full-format listing. This option can be combined with many otherUNIX-style options to add additional columns. It also causes thecommand arguments to be printed. When used with -L, the NLWP (number ofthreads) …