技術面試篇

本篇是面試部分的最後一篇:技術面試篇。適用於計算機相關職位。
  對於這部分面試來說,沒有太多的技巧可言,主要還是看個人的技術水平,積累程度和
項目研究相關性,相信對於那些技術很牛的同學,通過這部分面試應該沒問題。所以,本篇
的主要內容,是向那些技術儲備不夠的同學提供一些具體的面試題,希望將要參加技術面試
的同學能夠對症下藥,提前作好準備。
  一般來說,技術面試中的問題主要分爲兩大類:通用問題和專業問題。下面分別來說。
(一)通用問題
  通用問題指的是,對於你簡歷中的個人經歷、研究項目、編程實踐進行發問,主要是圍
繞你的簡歷內容進行提問。這是絕大部分技術面試必然有的內容。在這部分面試中,提醒大
家注意以下幾點:
1、自己沒有做過的項目,沒有編過的程序,千萬不要往簡歷上寫,因爲在面試環節肯定會
被問出來,那樣不管你其它環節多優秀,都將馬上被淘汰,因爲任何企業都不能容忍不誠實
的人。
2、對於自己簡歷上的內容,一定要熟記於心,自己做過的東西,更要非常熟悉才行,建議
每次面試之前把自己做過項目的細節再好好看一遍。在面試環節,面試官往往會針對你做過
的具體項目,問非常細緻的問題。所以,一定要確保,寫到簡歷上的內容都是自己非常熟悉
的,不怕細問。
3、介紹自己做過的項目時,最好挑應聘職位相關的項目,因爲對於技術主管來說,他關心
的是你做過的項目跟他們有沒有相關性,以及你的專業特長跟具體職位的要求是否吻合。
  下面把這部分面試中常見的問題作以歸納總結,便於大家提前準備:
1、你都做過哪些項目?簡單介紹一下。
2、挑一個你做過比較拿手的項目介紹一下。
3、你這個項目用什麼技術開發的?數據庫用的什麼?你在裏面做的哪部分?
4、你在項目中遇到什麼問題?怎麼解決的?
5、你在項目中採用了什麼算法?什麼技術?
6、這個項目是幾個人開發?做了多長時間?你擔任什麼職責?
7、這個項目用了什麼第三方軟件/插件?用的什麼版本控制工具?採用了什麼樣的軟件開發
流程?
8、這個項目是怎樣進行進度控制和風險控制的?
9、這個項目都做了哪些測試?
10、說說你對xx技術/領域的看法。
  相信只要項目你確實做過,程序確實編過,這部分應該都問題不大。
(二)專業問題
  這部分問的就是,跟你的項目無關的專業知識,主要考察的是你對具體專業知識的掌握
情況,以及編程能力。面試的形式有:問答,現場編程,上機編程。一般問答的形式居多,
像微軟、google、moto這種非常牛的公司,纔會現場考你編程,純考算法的公司也就那麼幾
家。大部分情況都是問你一些基本的技術細節,考察你對專業基礎知識的掌握情況。注意:
IT企業往往問的都比較細,非IT領域的計算機職位往往問的比較泛泛。
  這部分的關鍵還是在於技術積累,因爲很多技術問題你不知道就是不知道。所以多積累
面試常見問題和知識點還是非常重要的。
  下面按照不同的技術領域分類總結各部分常見的面試問題,括號中會標註該問題的來源

1、java
  因爲我投的職位主要是java相關的,所以這方面積累的經驗比較多一下。這部分考查的
重點主要有:java基本語法,多線程,異常處理,抽象類,匿名類,接口,MVC架構,設計
模式,Servlet,Struts,Spring,J2EE。以下是我遇見過的面試問題:
1)transient和volatile是java關鍵字嗎?(瞬聯)
2)抽象類和接口有什麼區別?(瞬聯)
3)能說一下java的反射機制嗎?(瞬聯)
4)詀va中怎樣實現多線程?(瞬聯)
5)你用過哪種設計模式?(瞬聯,IBM,aspenTech)
6)請說一下MVC架構(瞬聯,IBM,aspenTech)
7)如果類a繼承類b,實現接口c,而類b和接口c中定義了同名變量,請問會出現什麼問題?
(瞬聯)
8)請說一下java中爲什麼要引入內部類?還有匿名內部類?(瞬聯,IBM)
9)請說一下final,finally和finalize的區別?(瞬聯)
10)請說一下HTTP請求的基本過程(IBM)
11)java中存在內存泄漏問題嗎?請舉例說明?(IBM)
12)請說一下java中的內存回收機制所採用的算法(IBM,瞬聯)
13)請說一下System.gc()函數的作用。什麼什麼時候可以調用垃圾回收器?(瞬聯)
14)你做過的項目中採用了什麼安全認證機制?(IBM)
15)Math.round()什麼作用?
2、C
  C語言考查的重點一般是:指針、結構體、條件編譯、全局變量/局部變量。以下是我遇
見過的面試問題:
1)請說一下extern C的作用(漢略)
2)請說一下#ifdef...的作用(漢略)
3)C語言裏,哪些變量是存放在堆裏,哪些是存放在棧裏?(普天)
4)C語言裏的static關鍵詞是什麼含義?(普天)
5)進程和線程有什麼區別?(普天)
3、C++
  C++語言考查的重點主要有:多繼承,抽象類,虛函數,拷貝構造函數,析構函數,動
態聯編,多態,const,static。以下是我面試中遇到的問題:
1)你聽說過拷貝構造函數嗎?能具體說一下它的作用嗎?(漢略)
2)析構函數必須是虛函數嗎?爲什麼?(漢略)
3)你聽說過鑽石結構嗎?請具體說一下(aspenTech)
4)什麼是深拷貝?什麼是淺拷貝?他們有什麼區別?(aspenTech)
5)什麼是虛函數,什麼是純虛函數?爲什麼引入虛函數和純虛函數?(漢略,aspenTech,
普天)
6)請說一下面向對象的基本特性。(aspenTech)
7)C++中的const關鍵定代表什麼含義?跟C語言中的const有什麼區別?(aspenTech)
8)C++中的static關鍵定代表什麼含義?跟C語言、Java中的static有什麼區別?(普天)
4、數據結構
  這是面試中幾乎必考的部分。考查的重點有:鏈表,二叉樹前序、中序、後序遍歷(遞
歸,非遞歸),二叉樹結點、層次的計算,樹轉二叉樹,各種排序算法(冒泡排序,快速排
序,堆排序是重點)。以下是我在面試中遇到過的問題:
1)請編寫程序,將一個鏈表倒置。(聯發)
2)請編寫二叉樹的中序遍歷非遞歸算法。(新華社)
3)請編寫一個程序,實現將樹轉化成二叉樹。(華爲)
4)一棵滿二叉樹有x個結點,請問整棵二叉樹有多少結點?(新華社,中國信保)
5)請編程實現一個堆排序算法/快速排序算法。(漢略)
5、數據庫
  這也是面試重點內容。主要考查點有:範式,1、2、3範式,事務,內連接,外連接,
關係代數,數據庫設計。以下是我遇到過的面試問題:
1)什麼是範式、1範式、2範式、3範式?(百度,中航信,新華社,中國信保)
2)事務具有哪些特性?(中航信)
3)請說說什麼是外連接、左外連接、右外連接?(aspenTech)
4)請說說關係代表中的幾種基本運算?(中航信)
5)請對一個論壇進行數據庫設計,並說說你設計的數據庫滿足哪個範式(百度)
6)給你一個數據庫需求,請對數據庫進行設計,並根據要求寫出查詢語句(中國信保)
6、網絡
  這也是常考的部分。主要考查點有:OSI參考模型,TCP/IP參考模型。以下是我遇到過
的具體面試問題:
1)請解釋一下OSI參考模型。(中國信保)
2)請解釋一下TCP/IP參考模型。(中國信保)
3)爲什麼現在的網絡最後採用了TCP/IP參考模型而沒用OSI參考模型?(中國信保)
  總結:這部分面試主要考查的還是你的專業基礎知識和技術積累程度。所以一定要回過
的具體面試問題:
1)請解釋一下OSI參考模型。(中國信保)
2)請解釋一下TCP/IP參考模型。(中國信保)
3)爲什麼現在的網絡最後採用了TCP/IP參考模型而沒用OSI參考模型?(中國信保)
  總結:這部分面試主要考查的還是你的專業基礎知識和技術積累程度。所以一定要回過
頭,把書上的重點章節再看一遍。對於一些常見的面試問題,要多注意積累,這樣才能在面
試的時候充滿自信,臨陣不慌。
  建議:首先把重點的專業課知識重新複習一遍,做到熟記於心,靈活運用。然後,買一
本<程序員面試寶典>好好看看,一定要把裏面的重點章節全看完,全背下來。在這裏,強
烈向大家推薦那本<程序員面試寶典>,一定要人手一本,認真看完,找工作時你會發現,
大部分面試題都是那裏面的。最後,多向周圍的人取取經,把你在面試中遇到的問題和別人
在面試中遇到的問題記下來,不會的及時問,把它弄懂。這樣,在不斷的總結、改進過程中
,自己的技術水平、面試經驗才能不斷提高。
  最後,祝願大家都能順利通過面試,拿到滿意的offer!
(注:面試部分到這裏就全部寫完了,如果還有同學有其它方面問題,請直接和我聯繫,衷
心希望每一個同學都能順利通過面試,拿到理想的offer!)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章