面試官:現(xiàn)在做Android開發(fā)有前途嗎?(android開發(fā)有前景嗎)
文|洪生鵬 編輯|靜子
程序員面試,除了面試技術(shù)外,有的公司經(jīng)常會問應聘者和技術(shù)無關(guān)的問題,考驗求職者的綜合能力,并以此作為是否錄用的依據(jù),很多時候這類問題往往沒有標準答案,就看求應聘者臨場的反應能力如何。
張工是一名Android開發(fā)人員,近日到某知名互聯(lián)網(wǎng)公司面試,面談到最后時,面試官問了張工這樣一個問題:
你覺得現(xiàn)在做Android還有前途嗎?
張工被問得有點措手不及。
現(xiàn)在都在說互聯(lián)網(wǎng)寒冬,尤其是移動端開發(fā)市場趨于飽和狀態(tài),我之前找工作時,也陸陸續(xù)續(xù)找了一個月,應該是我技術(shù)水平不過關(guān)。
現(xiàn)在做Android還有前途嗎?有人說Android開發(fā)前景越來越差了 ,我覺得是片面的,Android開發(fā)前景其實還不錯。
現(xiàn)在各大公司其實都很缺Android中高級開發(fā)工程師,有的公司對Android開發(fā)崗位還在不斷的招人。
對初級Android開發(fā)人員來說,自律和堅持,是一種持續(xù)與別人拉出人生差距的能力。初級開發(fā)者更應該想想怎么掌握好知識點,而不是輕易就轉(zhuǎn)行,要是沒有專研精神,不管換到哪個方向,譬如現(xiàn)在流行的大數(shù)據(jù)開發(fā),都會卡在瓶頸期。
對于Android開發(fā)者,他們有的計算機相關(guān)專業(yè)畢業(yè),有的是參加過IT培訓一段時間,然后找到了一份實習工作或初級Android工程師的職位,心懷憧憬,希望在公司里好好表現(xiàn)自己。于是,在工作中一邊工作一邊學習,下班后還不忘繼續(xù)給自己充電。
這是很難得可貴的。
作為一名Android 開發(fā)人員,如何在面試中脫穎而出,個人認為需要兩項技能:
- 扎實的技術(shù)基礎(chǔ),有技術(shù)追求和工作激情 ;
- 良好的溝通能力和協(xié)作技能。
簡單來說,就是專業(yè)能力和溝通能力。其中專業(yè)能力始終是面試成敗的決定因素,那么技術(shù)掌握到什么程度才能相對輕松地通過面試呢?
面試的時候,更注重基礎(chǔ)知識。一般來說,一場Android面試內(nèi)容不太可能全是Android開發(fā)的問題,應該也會涉及到和編程基礎(chǔ)相關(guān)的問題。比如java基礎(chǔ)、數(shù)據(jù)結(jié)構(gòu)、算法和常見的設(shè)計模式要熟悉,亦或是設(shè)計模式,單例模式、工廠模式、觀察者模式等。至于數(shù)據(jù)結(jié)構(gòu)在工作中不常用到,但還是有必要了解下,能夠熟練掌握更好。
有從事過java開發(fā)的朋友應該知道java有個垃圾回收機制。
面試時要是面試官問“java回收機制對什么東西進行回收”,要是我們只是簡單地回答對沒有用的對象進行回收,按道理來說,這并沒有錯,只是答案可能并不是面試官問這個問題的初衷。要是我們對此能更進一步分析那就更好了,比如這樣回答,GC操作的對象分為:通過可達性分析法無法搜索到的對象和可以搜索到的對象。對于搜索不到的方法進行標記。從root搜索不到,而且經(jīng)過第一次標記、清理后,仍然沒有復活的對象。
對于用可達性分析法搜索不到的對象,GC并不一定會回收該對象。要完全回收一個對象,至少需要經(jīng)過兩次標記的過程。回答問題時把問題具體化,對類似這樣的對象進行回收,相信能給面試官留下好的印象。
那么我們平時如何積累面試中需要的技術(shù),我覺得閱讀源碼是一個不錯的首要選擇,其實很多面試問題我們都可以從閱讀源代碼中找到相關(guān)答案,其次平時要主動學習項目中沒有用到的技術(shù),很多時候,由于項目進度的原因,我們不可能通過公司的項目來掌握Android知識中其他重要技術(shù)知識點,尤其是一些規(guī)模不大的項目來說,這個時候更需要我們主動去學習其他知識點。
比如View的繪制流程、事件分發(fā)、消息隊列、Binder機制、AIDL原理等。類似這類知識點,需要我們在平時工作中不斷去探索實踐,不斷運用,才能在工作中更好地定位問題,解決問題。
你覺得現(xiàn)在做Android開發(fā)有前途嗎?