面試問答
為什麼要分 View 和 ViewModel 層?
configurat...
先筆試再面試。
筆試是 Codility 3題,在面試前自己找時間做完就可以了,其中2題類似LeetCode題目,要稍
微想一下,但暴力解得出來;1題是 debug題,我還第一次遇到這種考題,印象滿深刻的,因為題目不會告訴你有哪些bug,要自己找出來會有哪些 bug,然後再去改寫 code 解決他。
面試是由兩位部門(應該是主管跟資深工程師?) 一起面,問的都是很切實際的Android觀念題,但我基礎觀念可能沒理解與準備得太好,所以面試的時候回答錯很多問題,有些根本回答不出來,我覺得滿可惜的。但我覺得他們問得確實都是能理解我程度的問題,所以還是很感謝面試官辛苦的問我一堆問題。
最後面試官有稱讚我筆試做得不錯,所以還是有被安慰到啦,雖然個人超討厭刷LeetCode的,平常也沒在刷,但第一次覺得這種筆試好像沒那麼討厭了 XD
面試問答
為什麼要分 View 和 ViewModel 層?
configuration change 時 view 中的資料會被清掉,寫在 ViewModel中可以避免此事
Coroutine setValue vs. postValue 差異
setValue 只能在 main thread 呼叫
如果要在 background thread 給值,要用 postValue
data class & class 的差異?
有點多,可能煩請自行google一下
RxJava map, flatmap 差異; zip 和 combine 差異
有點多,可能煩請自行google一下
面試建議
看網路評價原本以為面試好像會很可怕,但其實也還好,但觀念題目可能是真的要花時間準備一下,問了滿多手機方向轉換時的資料處理/生命週期...等。Android Team 目前 7 個人,為因應之後旅遊開放後,流量跟需求有可能會增加的情況,公司最近主要在做一些重構與優化,除了KKday,也有做一些給廠商 (如: 掃QR碼) 的app。