分享幾個Android的面試經曆

來源:互聯網
上載者:User

一個Android菜鳥“面霸”的面試經曆分享


今天是我入職一個創業公司的第二天。由於公司今天才把自己用的電腦買回來,只好今天在做著每一個技術人員入職第一天常做的事:安裝相關開發軟體,配置開發環境。

在安裝軟體的過程中,由於下載最新版的android studio比較緩慢,只好在下載過程中隨便翻翻。然後,看到一個開發群裡,一位朋友還在聊面試的事,他在那裡說,今天又沒有面試通知。聽了之後,感慨萬千,這樣的感受我也有過很多次。

至於為什麼敢稱自己“面霸”,一來有噱頭的成分,二來,確實自己面試了很多次。這不是自己有什麼自豪的地方,確實是因為自己的工作經曆有點特殊。差不多四年的時間,換了四份工作,每一次換工作都會不得不開始找工作。有些是因為個人發展原因,有些是因為一些公司項目組解散,公司管理方面的原因。

去年我最多的一次面試是一天趕四家面試,我以為從那以後,再也不會有這樣的情況了。但是,上周找工作,一周面試了15家,除了第一天面試了一家,後面四天的面試是3個,4個,3個,4個。一天四場面試,中午都是沒時間吃飯的,餓著肚子跑了一天。最後拿到了三個比較滿意的offer。在上海的兩年,因為換工作,上海的地鐵線,除了一個最近新開的16號沒走過,其餘的都走過。然後也遇到過各種奇葩、坑爹的面試。面試我的人組長,主管,技術總監,CTO,老闆,還有不懂技術的各種人物,有上市公司、初創公司,外包、外派公司,有互連網公司,IT公司,也有什麼銷售、廣告、傳媒、金融公司。說了這麼多,不是說自己技術好,我只是因為自身的經曆,看到了很多現象,才想說出來,能幫到一些找工作的朋友,就善莫大焉了。

這裡簡單說一下自己的情況,大專學曆,之前學的機電,然後參加一個Java培訓,培訓之後,自己發現javaee開發需要用到的知識太多了,然後,自己剛好那個時候接觸到android,於是,就想做Android開發。

第一份安卓工作,自己進去差不多就是實習生的身份,因為公司給學習機會,可以一邊學習,一邊跟著做項目,所以,到現在還是很感謝當初第一份工作。

當然,說到剛開始找工作,因為沒有android開發經驗,去網上搜了很多職位,投了簡曆都沒反應,搜了很久才找到那家公司,要求很低,實習生都可以,我才去面試,還有上機測試,但是,因為測試的都是基礎知識,然後,那家公司是在一個縣級市的軟體園區,估計,也因為去面試的人,加上當初自己表現的比較願意學習,老闆才給了這次機會。不管怎麼說,我從心底感謝第一份工作。

這裡的體會是:當你工作經驗很少時,你找一個工作要付出很多努力。有很多人說,沒人通知面試,面試機會少。剛開始確實是這樣,但是,你自己要去找方法。比如:多在幾個網站上投,不要怕他們要求高,你條件達不到,萬一有面試機會呢?另外,有時間多刷刷簡曆,一般上午10點左右,下午2-3點左右刷一下簡曆,這兩個點是hr看簡曆相對集中的時候。另外,你經驗少,你要表現出兩點,一、基礎知識要紮實。二、願意去學習,至少你要表現出一副以後願意在這個方向好好學習的樣子,要不然,別人幹嘛要你?誰願意去培養你。

說到基礎知識紮實,有人說我不紮實,這就是你的問題了。另外,急著找工作,怎麼辦?

你就搜搜大多數的面試題經常問那些問題,提起多看幾遍,不至於問到的時候,根本不知道說什麼,至少你能說出個大概也比什麼都說不出來好。當然,這不是教你詐,是你找到工作後,要趕緊把自己薄弱的地方補上來。

記得剛開始學Java時,經常會被問到一些問題,比如,Java的三大特性,抽象類別與介面的區別,重載與重寫,單例模式,遞迴演算法,多線程,這些經常碰到的問題。放到安卓上,可能剛開始經常會問道一些基本的知識:比如,4大組件,5大布局,listview,Intent的使用。面試時這些最常用的知識你要知道,要說的上來吧。

剛開始工作的一兩年,面試的時候,碰到出面試的公司大概90%以上,當然,這個各種公司參差不齊的,有的是自己出的有深度的題,有的是從百度上搜的一份列印的,我見過幾家直接能搜到原題的面試。先不說出面試的公司怎樣,說說我碰到的各種面試的,有全英的,有全部是邏輯題的,就是給你三個圖形,讓你推測第四個圖形的,有面試安卓開發,出了一對c++和sqlserver的題的(公司是做遊戲的)。有些面試題做起來真的是浪費時間,如果你感覺這家公司很不滿意,就禮貌的說出來,不做了走人吧。如果是正兒八經的面試題,你做不出來時,最好能寫寫大致的思路,有時候也能算做對的。

說到面試題,有的公司的面試題,真的是多年不變的,我碰到過兩家公司,隔一年去面試,還是那幾道題,當然有家公司第一次面試過了,因為面臨其他的一個機會沒有去,第二次面試還是那些題,依然也過了。但是,同樣的題,不同的經驗,你要答出不同的答案,至少要比之前你回答的更有深度。

其實,你工作大概兩三年之後,面試做面試題的公司已經很少了,但是也有15%左右,還是會有面試的。只不過,更多的會問你項目情況,一些實際的開發方面碰到的問題。

比如,現在經常會問到一些,listview的最佳化技巧,自訂控制項的步驟,非同步載入方面,jni,ndk,然後一些開源架構,開原始檔控制的使用,並且經常被問到,這些開原始檔控制的源碼你看過沒有。因為相信大家都明白,很多開原始檔控制都用過,但是,真正去看他們源碼,去改他們源碼的,恐怕不多吧。還有一些架構設計,安卓源碼方面的問題。當然,如果你帶過團隊,也會問一些團隊分工,管理方面的問題。

我記得一個同學的qq簽名是,能力越大,責任越大。我想到的是,人是要不斷成長的,當你不斷的成長的時候,你的責任是不自覺的加給你的。比如,你三年經驗做的事和一年經驗做的事,肯定有不少差別的,當然你們待遇也有不少差別。

面試,真的是個體力活加腦力活。你一次次面試,要學會總結,其實,從面試中,我們能學到很多東西。比如,你去一個公司面試,要記得看公司環境,地理位置,公司環境,辦公室裝置,都能看出一個公司資金背景情況。因為,上海這個城市,真的有很多坑爹的創業公司,說白了就是幾個人想到一個app創意,就組建一個團隊開始做,做不長,資金或者融資跟不上就死掉了。我面試過一家在唐鎮的“公司”,我拿著地圖找到那裡之後,“公司”對面還有人在炒菜,聞起來應該是洋蔥炒雞蛋。公司是直接在小區裡租的那種三室一廳,然後,把了七八台電腦,還不交稅,直接發現金,我隨便聊聊就趕緊走了。其實,這樣的公司上海真的很多,見過好多小區房裡面上面掛著“禁止在住宿房辦公”牌子,但是裡面是一個個小公司在關著門上班,第一道大門還在裡面反鎖著。還有一些所謂的高新園區,集電港什麼的,裡面一兩個小房間,密密麻麻的擺了十幾張電腦桌。我不知道,裡面上班的人做何感想。我只能說,我們程式員真命苦,要在這樣壓抑的環境中上班。

所以,對於面試,我個人的推薦是,如果剛畢業,外包、外派的這樣的公司,可以迅速的通過大量的項目開發提升自己的技術水平,但是,不要待的太長,除非你有機會進到管理崗位。一般不要超過兩年。

兩年以上經驗的話,有機會進一些大公司,比如,一些大型IT公司或者互連網公司,這樣最好。如果進不了大公司的話,進創業公司也是一個不錯的選擇,關鍵是,你進一個什麼樣的創業公司。最近幾年移動互連網的發展,造成很多創業公司或者很多創業團隊,想到一個點子,或者他們所謂的創意,就迅速的招三五個開發人員,開始開發,開發幾個月之後,項目over了,團隊解散了。對於創業公司,你一定要擦亮眼睛,進去之前,要問清楚公司做什麼產品,公司的團隊構成,從一些背景方面,瞭解公司的資金情況,在要做的產品方面的資源優勢,如果產品前景不好,公司有沒有資金或者資源優勢,這樣的創業公司你要謹慎考慮了。不要輕易的聽信一些面試官,或者老闆的忽悠,拿什麼前景忽悠你,只能說這麼多了。

說一些面試的坑爹經曆:

1.一家公司,在一個火車站附近的商業大廈裡,進去之後,一看就三個中年人,擺了幾台電腦,屋裡光線很暗,上來讓填一個表,剛準備寫,猶豫了一下,我說,不好意思,我不喜歡這樣的工作環境(太壓抑了),把表還給他們,走了。

2. 有一家金融公司,準備組建團隊做自己的金融app,(發現15年準備做自己金融APP的公司特別多)。進去面試,三個西裝革履的人,提各種問題,從開發細節,到產品流程,到產品與開發的溝通,問得非常詳細,坑爹的地方在於,三個人都拿了一個筆記本,我回到的一些問題,他們覺得重要的都記了下來。比如,我說,我們開發一般需要一個功能文檔,和ui流程圖、UI效果圖。問了一個多小時,他們也記了一個多小時。然後,等通知,沒有下文。分明就是想免費瞭解一些項目開發方面的東西。

3.剛來上海時,有一家公司面試要上機,一定要我建個工程,寫個東西,哪怕只是一個button點擊事件。

4.面試一家公司的android開發,給了一份c++測試題和一個SQLServer方面的題。我以為拿錯了,又問了一下前台,她說,我們招android的就是做這個題。

5.碰到過一家公司的填表問,“你為什麼要應聘工作?”、“你家庭生活怎麼樣?”類似的問題。

6.一個公司在居民樓裡,對面的房間還在炒菜。就是上面說的,洋蔥炒雞蛋。

7.去一個比較大的公司,看到填表上有,一面,二面,三面,四面。禮儀評分,穿

著評分,口才評分....問題是,一面是10分鐘結束,二面要等下次。為了這一個面試你要跑四次。遂一面之後,放棄。

8. 還是一個金融公司的面試,面試館拿了一個厚厚的列印資料,回到問題的時候,看他翻頁,無意間瞥到了首頁上寫著幾個打字“安卓面試題集”,問的問題,亂七八糟。五大布局叫什麼名字,activity的生命週期,java的三大特性,aldi叫什麼,等等,很多是一些基礎的,網上搜來的面試題。

9.有一家公司,打電話過去面試,我剛填完面試表,剛做完大致介紹,說,我們給不了你這麼高的薪資,然後,薪資擦了一大截。然後,結束了,

10.四張全英的面試題,中間兩頁是邏輯圖,全是什麼圖形推斷,數字推斷的題。

11.過去先做一個小時的試題,做完了說,先回去吧,我們會電話通知的...

印象比較深刻的就說這幾個吧,還有其他的一些,什麼過去面試等半天,不懂技術的人,揪著你一個問題一直不放的都有。

說一些面試準備方面的問題:

1.提前查好路線,乘車方式。(我一般是寫在紙上,包括連絡方式,然後用百度地圖,不過,有定位不準的情況)

2.提前瞭解一下面試公司的一些職位資訊,大概需要的一些技術點,可能問到的一些問題。

3.無論是多大的公司,自己多心儀的公司,或者自己不喜歡的公司,都要盡量淡然對待,保持自信,哪怕裝你也要裝的有自信的樣子。

說一些面試收穫上的東西,之前看到過一句話說,你要割一段時間就要重新整理下簡曆,不要在一個環境裡待的太久。先不說這句話的對錯。不同的人有不同的理解。我是因為有些自身的經曆,換工作城市,進的某些公司項目組解散,等等原因,才造成換工作比較頻繁。不得不一直走在面試的路上。但是,在面試過程中,自己也確實學到了不少東西。跟一些CTO,技術經理面試,他們有的提的問題,包括給的一些建議都很中肯,有一個技術經理也跟我分享了他剛畢業幾年的工作經曆。還有之前去國內一個微博巨頭公司下的一個遊戲公司面試,那位美麗的hr負責人姐姐,也給了很多建議,讓我弄清楚了自己到底想找什麼樣的工作。因為剛開始幾年,通過跳槽,確實薪資提升比較快,但是,5年以後呢,如果技術沒有深入的一個方面,恐怕就不能持續發展了。

說到上個星期之前,其實找到了一家,但是只上了一天班。第二天,我做公交做到地鐵站,徘徊了很久,沒有進去,就沒去那家公司了,雖然那家公司給的薪資不低,離自己住的地方也進,但是,公司一些其他資源不足,能很清楚地看到那一個項目做不長,自己不想做幾個月之後,再換工作。然後,才有了上周比較瘋狂但是有選擇的面試。

說了這麼多,只是想分享一些自己的切身經曆和感受,希望能給一些最近正著找工作的朋友一些協助。每個人都有自己的獨特性,存在的都是合理的,技術人千萬不要唯技術論,覺得自己技術很牛,就可以目無別人,別人比你薪水高,比你受歡迎,一定有他獨特的地方。每個人的經曆不同,你要找到適合你的方法,你才能更好的在自己的路上走下去。

回首向來蕭瑟處,也無風雨也無晴。

夢裡不知身是客,一晌貪歡。


分享一下android面試經曆,應屆生,非211


年前不是找工作的好時間。

碼頭大了,船自然會來。

找工作前前後後找了差不多3個周了,我呢是應屆生,非211,確切地說是大四學生,很多人應該和我差不多,如果你真的有能力,哪個公司會不要你?

寫程式很多時候不是經驗問題。很多時候是一個思想,回來了,開始寫。

還有,我以應屆生進去的,因為沒有畢業證,所以先實習。

論壇還是有協助的

11.11好像

第一家公司:新媒傳信,不知道?總得知道飛信吧。好了,第一家面試,非常緊張,筆試答的本來就不好,我只說我記得的,題目挺多的,NND,根本打不完,有個演算法題,最佳化問題,總之最佳化問題是用空間換時間,不過面試官說他也不會,感到平衡許多。。。。總之,各種原因 悲劇了,有人說加班多,這個到無所謂。

11.12應該

橡果國際,名字很好聽的,沒有筆試直接,當時坐地鐵,沒有直達的,還得坐bus,直接搞得我頭暈,他們在4層,進去前台不在,打電話問,帶回前台來了問:是不是看沒人沒敢進? 我汗,那是禮貌問題,直接無語了,沒什麼好說的,很失望,真是只有一個好名字。

後面各種小公司

挑部分說,有些我也記不住。

因為我是應屆生,一般都背著電腦,有個項目是平板的。所以,,,都說麗水橋附近的騙子公司多,不知道是不是這樣。有一個panyun,linux打字不爽啊,用拼音了,進去說流程40分鐘,上級,一道演算法,一道app,我對硬體還是挑剔的。我想開發的記憶體要4G才行,開啟eclipse有點卡,接下來問題來了,我愁了愁cpu ATOM頓時沒了做題的慾望了。

我不是說小公司怎麼樣,不是那個意思。

面試了差不多10家吧。

有 eico desigin的,做設計的都知道這家公司。

因為緊張,應屆生沒有經驗啊。很多事情畢竟不知道。跟那些工作很多年,跳槽很多次的我當然沒法比。

在西城區有一家公司,名字忘了。筆試不錯,面試除了有點緊張。我從面試官哪兒獲得了對於一個應屆生的要求:

1 基礎是否紮實

2 溝通意識,團隊合作能力

3 吃苦能力和求知慾

這些對於我來說不是什麼問題了,可是你還要找到你的缺點是什麼,雖然不夠致命。

前幾天去AppWill面試官也是山東的,挺和氣的,然後呢說了說我,普通話問題,雖然做技術的,交流問題我知道很重要。

平時說話有點快,普通話基本不說,在學校說普通話遭圍觀啊。

第二天AppWill說提供一個職位,當時我說考慮考慮,這是上周三,我是上周以接到京東的面試說:下周二面試。11.29號了

大家都說待遇問題,我也說說自己的觀點,記得有人說如果一個人價值8k,hr砍價到7.5k,雖然砍掉了500,也涼了人家的心,如果有更好的機會人家肯定會走。後面還有,不說了。基本就是這個事。

不是每個企業都喜歡培養人的,應該叫做人才儲備,對吧。

我知道很多人面試都碰壁,跟研究生我們肯定有差距,不是211也沒關係,誰讓我們高中貪玩呢,是吧。

業內都知道做加簡曆,北京很嚴重,朋友跟我說過,他們面試也是睜一隻眼閉一隻眼,我也很頭疼實習就實習吧,反正沒有畢業證。這樣更是悲劇,原因很簡單,其實吧,大家都說我精通什麼什麼,你說我熟悉什麼什麼,不說了。

其中獲得了2個內部推薦,一個新浪的,一個京東了,因為新浪那個,當時沒有經驗,所以跟新浪無緣了,最後我準備了一周去京東面試,一頓狂轟亂炸。

面試了一個下午,終於好了,以前我也沒想過能夠進去,總之,作為應屆生,誠實一點(如果你的撒謊能力很X,至少我不行,一下就被揭穿了)謙虛一點,肯學肯吃苦,喜歡鑽研,像頭說的,可能現在多拿1k,可是5年後你拿的不是1k的問題了。

有些時候目光要長遠一些。

企業不是慈善機構,學校都那樣。企業願意培養你,肯定覺得你有培養的價值。

android 4源碼發布了,唉這幾天沒心情研究源碼了,現在開始下載。嘿嘿。

應屆生們,加油了,我們年輕,多面試幾次就行了,很多不是我們不行,只是很多我們不知道,再次謝謝各個給我面試機會的公司,謝謝各位給我提建議的面試官。也謝謝把我簡曆DL的HR們。

自從上大學沒有過過一次聖誕節,每次聖誕都考試,煩人,這次聖誕好好放鬆一下吧,好好努力


android面試360經驗


今天去傳說中高大上的360面試了,本人原來從事j2ee的web網站開發,自學android一年,今天被打擊了,題目如下僅供參考,這種大公司都是看面試官臨時發揮問問題啦~~

深刻醒悟到自己對安卓的理解是多麼的淺薄~~

1 activity啟動模式及應用情境:重點是問singleInstance的模式下是否新啟動一個task,別的應用啟動這個activity在哪個task裡以及跳轉到別的頁面如何跳回來?

其實這個問題,論壇裡有很多文章來講一些理論的東西啦,當然也有很多錯誤的,大家不能看一面之詞啦,還是去官網尋找答案。(面試官面無表情,我也就說了一些我自己的想法)

設定了"singleTask"啟動模式的Activity的特點: 1. 設定了"singleTask"啟動模式的Activity,它在啟動的時候,會先在系統中尋找屬性值affinity等於它的屬性值 taskAffinity的任務存在;如果存在這樣的任務,它就會在這個任務中啟動,否則就會在新任務中啟動。因此,如果我們想要設定了"singleTask"啟動模式的Activity在新的任務中啟動,就要為它設定一個獨立的taskAffinity屬性值。 2. 如果設定了"singleTask"啟動模式的Activity不是在新的任務中啟動時,它會在已有的任務中查看是否已經存在相應的Activity執行個體,如果存在,就會把位於這個Activity執行個體上面的Activity全部結束掉,即最終這個Activity執行個體會位於任務的堆棧頂端中。

加一句感覺面試真得很像相親,有緣分怎麼都聊的來,沒緣分說什麼感覺都交流不了,我說了上面一大段singleTask的東西後,面試官問我 singleInstance的東西,還問另一個應用程式要使用singleInstance的頁面,這個activity會在哪個棧裡,感覺他應該問的是這個圖的情況,但是他說是singleInstance,我就說singleInstance獨佔一個task了。2 然後問了Dalvik虛擬機器和JVM虛擬機器的區別,問的程度很深,單單說處理的東西不同,運行效率不同,Dalvik多個執行個體運行,面試官並不滿意,追問了為什麼基於寄存器就快,為什麼Dalvik設計成多個執行個體運行這個問題確實把我難住了,一直研究應用開發確實忽略了研究Dalvik虛擬機器。下面是找了一些答案給親們做參考吧~特別提示,此題千萬別說基於寄存器的Dalvik比基於堆棧的jvm運行速度快,我就是這樣掉坑裡了,又解釋不出來,悲劇了。 Dalvik虛擬機器與Java虛擬機器的最顯著區別是它們分別具有不同的類檔案格式以及指令集。Dalvik虛擬機器使用的是dex(Dalvik Executable)格式的類檔案,而Java虛擬機器使用的是class格式的類檔案。一個dex檔案可以包含若干個類,而一個class檔案只包括一個類。由於一個dex檔案可以包含若干個類,因此它就可以將各個類中重複的字串和其它常數只儲存一次,從而節省了空間,這樣就適合在記憶體和處理器速度有限的手機系統中使用。一般來說,包含有相同類的未壓縮dex檔案稍小於一個已經壓縮的jar檔案。Dalvik虛擬機器使用的指令是基於寄存器的,而 Java虛擬機器使用的指令集是基於堆棧的。基於堆棧的指令很緊湊,例如,Java虛擬機器使用的指令只佔一個位元組,因而稱為位元組碼。基於寄存器的指令由於需要指定源地址和目標地址,因此需要佔用更多的指令空間,例如,Dalvik虛擬機器的某些指令需要佔用兩個位元組。基於堆棧和基於寄存器的指令集各有優劣,一般而言,執行同樣的功能,前者需要更多的指令(主要是load和store指令),而後者需要更多的指令空間。需要更多指令意味著要多佔用CPU時間,而需要更多指令空間意味著資料緩衝(d-cache)更易失效。3 然後問了項目的成就感,我說了Oauth編程被鄙視,說這是業務不能算技術;說了DeviceplocyManager,反正沒什麼亮點吧。各位親們各自發揮吧,最好是能抓住面試官的興趣。4 訊息推送的時候怎麼擷取每台裝置的id?這題完全沒答上來不知道什麼意思。不過我說了開發過程中用過的Mac地址加上終端編號加上CPU的序號,android不太瞭解應該有相應的東西。5處理序間通訊為什麼用aidl,socket通訊,content provider不是都可以處理序間通訊嗎?6 為什麼使用 content provider 共用資料?7 listview的最佳化,問了item內部的recycle問題,把我問住了總體而言,這次面試感覺非常不好,主要是經常會被面試官打斷再深入問另一個問題思路經常會斷,好吧,自己確實沒有深入的去想android系統的設計理念和實現方式。

只能給親們提供這些東西了,親們加油吧!


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.