本人Android小菜雞,目前還在大三下學期,在學校的網絡中心搞Android開發。面試
想趁着春招體驗一下面試,就在一個月前投了阿里,(ps:阿里的簡歷處理速度有點慢)。直到今天才打電話通知我電話面試。 記錄一下4.29日下午4點阿里的電話一面:算法
面試官:請作一下自我介紹
我:你好,我是…..如今在學校網絡中心負責Android開發。(正常介紹就完事)數據庫
面試官 : 你作過的這些項目中 , 哪個是最有成就感的?
我: …(想了想Crossword作的最多,就說了說Crossword是怎麼從無到有和小夥伴在老師的指導下開發的)。 ok,ok..嗯..嗯數組
面試官 : 那這個項目中,你遇到的最難的問題是什麼?
我 :拍照打分(講了講項目中要實現從目前二維數組到像素座標轉換的難點)。 嗯。。嗯。。(貌似對個人回答挺滿意 ? )微信
面試官 :還有嗎其餘遇到比較難的地方嗎 ?
我 : (想了想。。。好像其餘沒什麼太難的,畢竟都是OCR和翻譯的百度的服務。)實現生成Crossword的算法,到打印成pdf吧,優化算法的過程當中費了很多時間,學習PDF庫的使用。網絡
面試官 : ok,沒什麼問題,說一下Android的四大組件吧 ?
我 : Activity,BroadCastReciver,Service,ContentProvider(這個相信你們基本都會)app
面試官 : 好,那說一下 ContentProvider 的做用吧
我 : ContentProvider,內容提供程序,能夠爲其餘app提供信息,好比獲得電話號碼,能夠進行一些類數據庫的增刪改查操做之類的操做( 感受說的不是很好 )ide
面試官 : 嗯,好。說一下Activity吧,Acitivity有四個啓動模式,都知道嗎 ?函數
我 :….(想了半天,就記起來一個 棧內複用模式)棧內複用模式,當A是此模式時,A啓動了B,B啓動了C,C再啓動A,系統就會把A從活動棧中拿出來(這點說錯了,面試官糾正了我,實際上是啓動了A,那麼棧中在A之上的活動B,C都會被彈出,A回到棧頂。) (。。面試官估計是不太滿意)佈局
面試官:(打破窘境)那我們換個換題吧,用過自定義View嗎?
我 : (對於自定義View我有點虛,只會點簡單的),用過一些簡單的自定義View,好比一個View實現隨手全局滑動。
面試官 : 好,這個全局隨手滑動是怎麼實現的呢 ?
我 : 在View的 onTouchEvent函數中,獲取手指的座標,在onLayout中,對View進行定位,座標是得到的手指座標。
面試官 : 好,那 在 onTouchEvent方法,onLayout方法中,座標是相對與誰的 ?
我 : (這一點,我開始說了是相對屏幕的,而後意識到不對,立刻改爲是相對父佈局的….)
面試官 :(估計也發現了我對這塊不太熟..)那有沒有作過更復雜一點的自定義View呢?
我 : 沒有,不過目前打算在咱們的項目中用到自定義棋盤的GridView.
面試官 :嗯。那你準備怎麼實現呢 ?
我 : 先實現可以展現黑白棋盤格子,而且有效格子部分可以接收鍵盤輸入,而後若是屏幕顯示不下,還須要畫布可以隨手勢放大,縮小。。。暫時想的是實現這些。 (其實這裏,我是瞎吹的,這個功能估計不會作。)
面試官 :好,那你能講一下 隨手勢 放大 縮小怎麼實現呢 ?
我 : 這兩個手勢都是須要兩個手指觸摸屏幕,我只要觀察兩個觸摸點之間的距離,放大時 兩個觸摸點的距離會愈來愈大,反之亦然。
面試官 :嗯好,那這個方法縮小的中心點在哪裏呢 ?
(問的問題好奇怪,不過確實,這也是實現過程當中要解決的問題 ) 我 : 暫時想的是以得到焦點的格子爲中心或者,當時畫布的中間爲中心。
面試官 :你有沒有觀察過微信中 圖片的 放大縮小 的中心點 在哪裏 ?
我 : (這我真沒觀察過,後來試了試發現是以兩指之間的中間點爲放大縮小的中心點。。。)嗯。。。是兩隻之間的中間點,這是個不錯的方案。
面試官 :嗯。。。。(反應通常,貌似沒達到滿意的效果)。
給你看到算法題吧,說一說你的思路
(重點來了)
我 :(想了一會,說了一個比較笨的方法)對數組挨個遍歷,第一個是9,用9日後加,不符合就跳到下一個元素5...,5日後加,5,4,8是符合的,ok,結束。面試官 : emmm,你的時間複雜度是多少 ?
我 : 。。。。n2.
面試官: 題目要求時間複雜度是2n,你還有更好的方法嗎?
我 : (emmmmm。。。)在以前檢查9的時候能夠保存已經 加過了的信息,留到檢查到後面的元素是複用。
面試官 : 那能說說具體用什麼實現嗎
我 : 隊列 ?...(我本身也不肯定)emmmm,暫時不清楚。
面試官 : 好,個人問題問完了,你還有什麼問題嗎
(我估計已經涼了,等秋招再來吧)
我 : emmm,若是此次面試沒有過的話,會影響秋招嗎 ?
面試官 : 基本不影響的吧,(好像他本身也不肯定),通常都是春招沒有招夠,再在秋招補招的
我 : ???(好吧),那沒有什麼問題了。。
面試大概用了40分鐘吧,面試的人也是個懂技術的,都說大廠重視基礎,這句話一點也不假,問個人這些問題,都是基礎範圍。
仍是準備的不充分,再這最後半年好好複習了。加油吧
(完~)