<samp id="nffkn"></samp>
      <tbody id="nffkn"></tbody>
      <menuitem id="nffkn"></menuitem>
        <samp id="nffkn"></samp>

        <tbody id="nffkn"></tbody>
        1. 好獵頭網-中高級人才獵頭網站!服務熱線:400-1801-668 好獵頭   |   登錄 注冊

          阿里巴巴java研發工程師沈陽面試經歷分享

          添加時間:2017-11-27 00:00:00
          瀏覽次數: 0

          職位類型:Java研發工程師
          面試地點:沈陽
          招聘公司:阿里巴巴

          昨天中午接到阿里巴巴的面試通知,心中喜憂參半,喜的是終于能夠有機會進入阿里巴巴,憂的事自己真是一點準備都沒有,完全沒有信心啊~!但是既然機會已經來了,我還是要去試一試的。

          今天上午9點到了裕寧酒店在等待區沒等多久就被領去面試了。阿里的一面是在大廳中分組一對一單面的。面試我的是一個二十七八歲的帥哥,面試過程也很友善。進去后,他首先看了我的簡歷,然后問我能不能說一下自己的特長優勢什么的(都沒有讓自我介紹)。我簡單的把在校三年來自己學習的技術和參加的項目介紹了下,然后拿出了自己準備好的《項目回顧表》以及自己做的《作品回顧》光盤和已經出版發行的兩張光盤給他看。他看了說不錯,然后就問我項目的事兒。

          他說自己對3D開發不太了解,然后問我感覺在做《山海關虛擬博物館》的時候有沒有什么技術難點和重點。我說重點是在尋路上(囧,說完我心里就哇涼哇涼的了,不應該說這個),然后他就問我是怎么實現尋路的,我給他畫了下場景地圖,然后解釋了下我的做法(主要是用狀態機)他可能不太滿意,然后問我能不能用算法來描述。我沒太明白他想要什么,然后他開始引導我回答這個問題,先問我學沒學過圖論,我說在數據結構和離散數學中學過,然后我明白了他想要什么了,我說可以用圖存儲各個目標點,然后通過判斷各點之間的連通性來判斷點是否可以到達,可以通過深度優先搜索來完成(說完我心里又是哇涼的,根本就沒準備圖這一塊兒的數據結構)。

          然后他說讓我寫下深度優先搜索程序(= =,這個鄙視我吧,我真忘記了)。我想了會兒說記不清楚了,他問我圖是怎么存儲的,我說用臨接表和臨接矩陣,然后他讓我給他畫下,我就畫完(這些還是會的)。他說再試試呢,我思考了下說記不清了(我怕寫完他在讓我寫廣度程序的和優化查找,這塊兒真心沒準備)。然后他讓我寫下自己用過的設計模式,我說有策略模式、單例模式、工廠模式、狀態模式、適配器模式。然后他讓我寫下單例模式,我用了最簡單的方式,static變量new自身對象。他說有沒什么問題,比如變量被賦值呢。我說在C#中可以用訪問控制符禁止set,在java中也可以用靜態方法來屏蔽。他又問那你的類被別的類實例化,我說構造方法我用private的。(總之是沒寫全,寫全他就不會問了。)

          設計模式談完,他說來說下你的網站項目吧,我的簡歷里有寫“系統架構”,他讓我解釋下,我就畫了下MVC圖,jsp頁面作為視圖,servelt作為控制層,然后建立model,建立service和dao,以及他們的作用。他說SSH和這些有什么不同嗎?我說Struts2代替了servlet,hibernate代替了dao,spring貫穿他們,注入對象。他說那你說下spring的核心思想吧。我說主要是IoC,AOP,DI。他說說下IoC和AOP吧,我提到了IoC控制反轉,通過配置文件將對象注入到程序中,他說你寫下配置文件吧(又要寫,= =,Spring半年沒搞了早忘了)我說平時都是copy,忘記了。他可能以為我不會spring,然后問我那你都知道各個元素的作用嗎,我說知道。(但是真心的忘記bean標簽中都有哪些了,我發誓看見之后都知道有什么用,抓狂啊。)

          SSH告一段落(回答的太爛了,這些初級的學者都會,最主要的是很多都沒記住),我有一個項目寫的是已經上線了,他讓我寫下那個URL,我有點蒙,就寫了域名,他說你們就用這個嗎,我不知道他想要什么,我就又寫了127.0.0.1:port,他問我用戶可以訪問?(當我是小白了- - ,哎前面回答的太爛了)我說當然不可以,我們的申請的IP是172.168.XX.XX:80這個是給用戶的。他說服務器用的什么,我說tomcat,他問tomcat的端口號在哪里配置,我說在web.xml(說順嘴了,其實我知道在server.xml中配置)。他說都可以配置什么,我說可以配置端口號,虛擬主機。他說還有嗎,我說還可以配置一個監聽端口號。他說默認的都多少,我說8080,他問我另外一個,我說不記得了。然后他讓我寫下JSP頁面的標準頭部是什么。我把page標簽寫上去了,我提到了頁面編碼,他問我用什么編碼我說UTF-8,他說還知道其他的編碼嗎,我說還有GBK。然后他問我UTF-8和GBK的區別,我只說了表面的,他讓我從計算機組成原理的角度說下GBK和UTF-8,我說我們專業沒開計算機組成原理,然后他看了下我的簡歷。然后讓我寫下平時都看什么書,我大概寫了下。最后他問我有什么要問他的嗎,我讓他點評了下。點評了啥就不說了,反正都在意料之中。

          總結:今天阿里的面試非常爛,問題很簡單,但是因為很久沒搞Java了(有半年多了)所以很多都忘記了。基礎太不扎實,這也是很多應屆生的缺點吧。想要進大中型公司應該具備以下素質,留給各位準備面試和將來面試的人吧。

          1.數據結構,這個不是懂了就行,剛學完數據結構,各種算法自己也可以很快寫出來的,但是很久沒寫了都忘記了。數據結構這個東西必須能信手拈來,隨手就能寫出各種樹、圖的遍歷以及排序、查找等算法,以及二叉樹,B-樹、堆的概念和程序(最好做到能當場寫程序)。

          2.明白Java API的源代碼實現,比如LinkedList和ArrayList,不只是數據結構的區別(這個大家都清楚)還要能從源代碼的角度,比如線程安全性,內部擴充方式,每次擴充的長度等等來表達。(你可以想想自己能不能說出String、StringBuffer、StringBuilder的區別;HashTable、HashMap、TreeMap的區別呢?屬性類的安全性?等等,別查文檔,也別說你知道,面試的時候不會聽你啰嗦的,就說重點區別)。

          3.設計模式,要明白各個設計模式的優缺點,應用場景,最好能說出哪些框架應用了這些設計模式。對于簡單的設計模式,如單例等可能會被現場寫。

          4.SSH框架,只要搞Java的都會被問這三個框架的很多東西,Spring的IoC,DI,AOP,配置;Struts2的創建過程,Filter,配置;Hibernate的O/R Mapping,映射的配置,樂觀鎖、悲觀鎖等等。緊緊在項目中用還不行,最好要明白內部原理。

          5.操作系統的一些知識,筆試的時候有考到LRU算法(差一點就忘了)。

          總之大公司考的范圍很廣,絕大部分都學過,但是很多我們在學校中學一次就很可能不會再用(比如頁面置換算法,存儲過程等,學生項目不會涉及這么復雜底層的東西)。還有就是平時我們依賴IDE慣了,很多我們知道的東西,比如標簽都有哪些屬性什么的,當場寫我們可能就寫不出來了(比如各種配置文件,使用自動提示慣了,讓自己寫都不會了,這是平時注意自己敲吧)。

          感想:其實阿里巴巴的技術面反映出來的最主要的問題不是自己的技術問題,而是自己真正想要做什么。

          今天問的這些問題,如果放在大三上學期問的話,我能很自如的答出來,但是從專業實習之后自己一直就在研究Unity3D和Photon,這些很久都沒看了,忘了很自然。自己現在真正應該思考的是到底想不想要做Java開發,做Java開發的話就要用SSH框架,自己又不太喜歡基于SSH框架的網站開發。(= =真是個糾結的問題,男怕入錯行,如果你了解的也比較多還是慎重考慮吧,雖然招聘Java的很多,但是面試Java的比招聘的還多,Java發展了這么多年,想要說你精通Java要有一定實力哦,要不然隨便一個細節問題,比如Java反射、序列化、反序列化等都可能問死你,不是你不行,是這個太細了)有側重的復習面試很重要。想要深入游戲開發,又怕自己沒學過C 和圖像處理算法和別人差距太大。這幾天要反思下。

          av高清在线观看