今天一大清早去面試, 公司距離我家還挺近的, 花了一個小時走著去, 也順路印下簡歷, 理理思路, 到了公司面試官什麼的都不錯, 還給我講了很多知識, 收貨也是滿滿的, 總結下今天都遇到了哪些問題, 調整調整狀態. 1, 當需要自定義tabbar的item的數量可變時怎麼做的 這裡原本是想說自定義ta ...
今天一大清早去面試, 公司距離我家還挺近的, 花了一個小時走著去, 也順路印下簡歷, 理理思路, 到了公司面試官什麼的都不錯, 還給我講了很多知識, 收貨也是滿滿的, 總結下今天都遇到了哪些問題, 調整調整狀態.
1, 當需要自定義tabbar的item的數量可變時怎麼做的
這裡原本是想說自定義tabbar的, 不過估計考察的應該是runtime下的class動態創建類方法, 然後就簡單的說下runtime, 並不知道回答的是否好, 但是原理是不會錯的. 通過和後臺的合作在數據中鍵值對中拿到類名, 然後通過class的方法實例化對象即可(NSClassFromString()).
2, 瞭解runtime麽
並沒有和麵試官說消息機制什麼亂七八糟的, 感覺沒多大卵用, 就說了runtime的一些實際應用, 自我感覺還湊合, 畢竟自己在開發中用過幾次, 也會動態的設置成員變數(成員變數其實是不可以的, 但是在runtime頭文件中的確有方法, 這個涉及到靜態的結構體成員變數動態增加, 所以應該並不是通過常規理解的runtime方法實現的)和方法
3, 做過定位麽, 如果在後臺始終刷新位置
這個我感覺可能面試有點誤會我的意思了, 也可能是我的確說錯了, 畢竟本人英語很爛, 方法會敲不會說, 不過也做過差不多的, 定位就不用說了, 沒啥說的coreLocation或者百度的SDK, 說下如果在程式進入後臺後長久的運行代碼.
- (void)applicationDidEnterBackground:(UIApplication *)application { [self beingBackgroundUnpdateTask]; /* 代碼寫在這裡就可以了 */ [self endBackgroundUpdateTask]; } - (void)beingBackgroundUnpdateTask { self.backgroundUpdateTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{ [self endBackgroundUpdateTask]; }]; } - (void)endBackgroundUpdateTask { [[UIApplication sharedApplication] endBackgroundTask:self.backgroundUpdateTask]; self.backgroundUpdateTask = UIBackgroundTaskInvalid; }
這樣後臺就會反覆刷新了.
4, 瞭解YYModel, 或者YYKit麽
表示真的不會, 就看過一些YYKit的源碼, 也沒想過面試會問三方框架, 基本沒說上啥.
5, 瞭解MVVM嗎, 說說MVVM
這個基本也沒啥說的, 網上一查一堆, 自己還是會一些的, 簡單說說, 沒問太多.
6, RAC
響應式函數編程, 對於信號流的應用, 說了些應用場景, 非要說框架的話也並非很熟悉.
7, tableView優化
說了動態計算高度, 通過介面數據等, 分散方法邏輯, 儘量手動計算, 也說了drawRect, 說了手動繪製cell, 不過又問起了YYKit從這裡, 還是回答不上來了.