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