由于我每年都會面試不少程序員,其中就包括相當數量的Java程序員,所以就這個問題,跟頭條的廣大網友交流一下。
Java工程師面試也是有一定的側重點,做不同的研發方向,問題上也有所區別。另外,初級程序員與主力程序員的面試問題也有很大的不同,總的來說就是方向與定位相結合,下面為大家一一描述。
Java初級程序員面試
面試Java初級程序員的流程相對來說比較簡單,通常是兩輪面試,首輪面試一般進行技術面試,次輪面試通常是有HR統一安排關于職業規劃以及心理方面的面試(大部分情況是走個流程),這兩輪面試中,技術面試起到了關鍵的作用。
面試初級程序員(2-3級)一般從技術細節入手,要通過面試,首先要知道初級程序員都需要具備哪些能力。下面先描述一下作為一個Java初級程序員(2-3級,Web方向為主)應該滿足哪些要求:
清晰Java面向對象編程步驟,理解封裝、繼承、多態等核心概念,理解基本的前端內容(HTML、CSS、JavaScript)。
能理解程序流程圖描述的功能需求,能獨立完成功能模塊的編寫、部署,能理解功能模塊之間的交互關系,能完成功能模塊之間的消息傳遞和處理。
能理解MVC、DAO等框架,并在實際開發中熟練使用,能獨立完成前后臺的數據處理,能完成各種認證功能的處理。
能使用數據庫連接池等基本優化方式提高程序運行效率。
能理解容器在程序運行中的作用,能配置各種容器的基本參數。
對程序的安全性有一定的理解,能避免初級的安全性問題。
能處理一定數量的并發問題,能解決多線程情況下的數據安全問題。
能理解不同角色的任務分配,能進行有效溝通。
常見框架的使用,比如SpringMVC等。
初級程序員的工作往往是編寫程序基本功能組件,是保證程序質量的一個重要環節,所以團隊的整體能力往往并不是由架構師決定的,反而是由眾多的初級程序員決定的。
Java主力程序員面試
主力程序員的面試通常要3輪或4輪,當然如果你走到了后面的兩輪,基本上選擇權就在你手里了,后面的兩輪面試公司會給你安排一個看似比較美好的職業發展規劃,因為主力程序員不僅要編碼通常還承擔者一部分管理工作(項目責任人),也是管理層比較倚重的。
主力程序員的技術面試流程并沒有那么多細節問題,首先要了解一下做過哪些項目,在項目中都承擔了什么任務,項目中遇到了哪些問題,怎么解決的等等。通常主力程序員的面試時間也比較長(2至3個小時),面試的氛圍也比初級程序員要輕松很多。
主力程序員大部分是推薦上來的,有人力資源公司推薦的,也有公司內推上來的,當然也有主動投送簡歷要求面試的。一般對主力程序員都會有背景調查,這一方面是對公司負責,另一方面也是對應聘者應有的尊重。
希望通過我的回答,大家能對Java程序員的面試有一個基本的了解。
我是悟空問答的簽約作者,致力于為頭條網友提供優質的科技類問題解答,關注我,跟我一起交流關于科技類的問題吧。