面試一共分為兩輪,人資會先透過表先發一份線上問卷填寫個人資料,並安排面試時間。
第一面為遠端面試,之後由一位And
roid team member面試,首先先自我介紹,並針對過往經歷提問,主要是在乎你的轉職動機,並針對一些作品架構提問,例如MVVM、社群串流、Coroutine以及一些APP操作問題。
二面為實體面試,由Android team leader與兩位Member共同面試,一開始先自我介紹,之後便是白板題測驗,有別於傳統的機上考,在過程中面試官會與面試者頻繁的互動,例如詢問為何要這麼寫,有沒有更好得辦法,他的時間複雜度是多少,還能夠更好嗎,結束後會詢問一些職涯規劃與價值觀問題。
面試問答
為什麼要用MVVM?
MVVM能改善像APP這種有頻繁UI操作的情境,將View與Model關聯在一起。
MVVM適用的場合是?
適用於中大型專案,且有頻繁UI操作的應用,諸如前端網頁與手機APP等。
你的聊天室是怎麼做的?
我們是採用Firebase Cloud Message結合WebSocket實現背景推播與即時的資料刷新,並搭配Pading3 Lib實現資料的批次載入,而較舊的聊天記錄會透過Room保存在使用者手機上,以避免後端資料庫資料臃腫問題。
有使用WebRTC製作串流嗎?
目前的聊天室中有提供語音通話功能,而視訊的部分由於對伺服器負載較大,因此還在測試階段。
請告訴我Kotlin的Class與Data Class的差異?
Data Class是Kotlin提供的語法糖,能夠自動生成toString、hashCode、equals、compomentN與copy函數,此外Data class被設計為final class無法繼承。
有碰過Coroutines?
Coroutines是Kotlin所提供的輕量級非同步API,有別於Thread,Coroutines能再直接運行在當前執行序,或是透過Dispatcher切換至不同的Thread,比AsyncTask更為靈活與易用。
若在Coroutines同時執行三個運算運算去++同一個變數會怎樣?
可能會發生數值覆蓋導致遺失計算結果。
我有一個掃碼頁面,要如何調整頁面亮度,並避免使用者因為太刺眼看不到提示?
在載入頁面時,透過onResume回調中調用API記住初始亮度並去提升亮度,隨後在onPause回調中將亮度調整回來,就可以避免彈出對話框時看不清楚的問題。
你會如何實作扣款成功的通知?
若扣款的行為是立即性的,可在進入頁面時使用Socket、WebSocket等技術監聽結果,若為延後行為,則可接上Firebase Cloud Message在後續提供給使用者。
工作上遇到最大的困難是什麼?
業務一個禮拜改了三次需求,導致我們的規劃或開發被頻繁打斷,後續與業務協調,討論出每季目標,避免頻繁的更動導致排程滑期。
面試建議
91APP位於南港區商業大樓,在松山捷運站附近,為開放式辦公室,主要是做電商服務租賃,替非技術型公司提供相關業務,能夠感受到風評上的問題,有興趣可以自己去查一下,APP工程師需要輪班onCall,當伺服器發生問題時需要隨時支援後端,
面試下來對於技術部分有所要求,但反問問問題卻發現對方回答對不上,例如宣稱公司內部已全面採用Compose開發,但是Compose的列表動畫行為是今年才推出Alpha版本,或是對DI的需求高,但並非都有做測試,在薪資方面不甚理感到惋惜。
解鎖 1412 字完整內容
171 人已看過