面試阿里客戶端開發工程師(Android)實習生需要具備怎麼的能力?
01-26
先說一下問題的背景:
本人研究生,研究方向計算機視覺(伏筆),面試地點:西安,時間:2015.04.21,面試崗位:客戶端開發工程師(主要是Android方向。雖然面試只有一面就被拒絕了,但是實習生面試是本著為秋季正式校招積攢更多的經驗,總之,需要總結的很多。但是還是有一些疑惑,根據面試過程說一下,期待大家回復。=======================分割線=============================今天早上趕到面試的酒店,本來預約10點的面試,結果可能是前面沒有面試客戶端的,所以8點40一簽到就收到立即面試的通知,還是小緊張了一把。(此處省略其他過程)...下面說一下面試的過程:首先讓你自我介紹,balala...然後面試官開始問問題,全程只根據簡歷上寫的項目來問(心得是你要對簡歷上的每一個字負責!)並且沒有讓寫演算法、數據結構什麼的代碼,說一下我比較困惑的問題:
1.面試官覺得我2013年上研以來沒有什麼成長,表現在沒有深入研究底層的一些實現過程細節比如ActivityManager的流程是怎樣,如何渲染界面的啊? 大部分項目都還是調用第三方庫的API,沒有深入研究其中的演算法,對於一個Android應用開發者來說很底層的也需要熟練掌握嗎?(這也是為什麼說計算機視覺是伏筆,因為項目中大部分調用的是OpenCV的API)。2.其次是面試覺得大家三分鐘能在Google找到答案的問題,不是你值得關注和繼續分享的,應該授人與漁(這點我同意,因為大家都會,但是很多時候是你自己還不明白,如何深入學習?),但是在怎樣算是深入?怎樣表現算是進階的能力?3.最後一個問題是如果你是客戶端開發面試官你期待怎樣的簡歷和能力?對於研究生來說更關注哪些方面的能力?先寫到這,匿名原因,不想引起不必要的麻煩...
面試了和你一樣的職位,客戶端開發工程師。公司用人,對於本科生和研究生要求不同,會要求在本科的理論基礎和大致方向上針對某一個小區域有比本科生更深入的認知(比如知識體系、實踐經驗等)。客戶端開發工程師,簡單地從某幾個方面描述一下個人理解里不同的等級:初級的可以熟練使用系統框架提供的組件,搭建所需應用程序;中級的,會對系統框架中如view繪製、broadcast機制、內存管理、混合語言編寫等內容有專門的研究,可以很好地實現效率很高的自定義組件,也可以在熟知系統處理方式的基礎上,對應用穩定運行提供保證;而高級的開發者,應該對於如何實現系統本身有專門的研究。這三個等級,好比對於一頭牛,第一等級會吃,第二等級會像食客一樣區分優劣用不同烹飪方法吃,第三等級就好像是一個養牛的人、一個獸醫,一個如庖丁解牛故事裡的人物。所以,如果明白我們處在哪一個等級,清楚自己主觀和客觀的付出、按照社會的相應要求應該處在哪一個等級,再做出相應的行動,可能會把這個問題本身變成答案。
我也感覺應用層知識不多,感覺沒什麼進步,底層涉及到c的又不太明白。
能分享一下問了些什麼問題嗎?
這些不懂,還不如本科生,人家為何要你?我大四獨立做app,讀源碼情景分析,編ROM,sms,pms,wms,jmm,jvm規範,x
推薦閱讀:
※讓你變懶的 Android Studio Live Templates
※Google 可能會在 Android P 中更嚴格限制隱藏 API 的使用
※Google 開發者大會紀念 T 恤贈送(全球限量)
※如何在Android上發送加密郵件?推薦這四大神器