iOS開發--面試

来源:http://www.cnblogs.com/JianweiWang/archive/2016/03/30/5333165.html
-Advertisement-
Play Games

今天一大清早去面試, 公司距離我家還挺近的, 花了一個小時走著去, 也順路印下簡歷, 理理思路, 到了公司面試官什麼的都不錯, 還給我講了很多知識, 收貨也是滿滿的, 總結下今天都遇到了哪些問題, 調整調整狀態. 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從這裡, 還是回答不上來了.

  


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • android的服務端是用MVC+ef,第一次訪問特別慢,第一次以後就快了。 在網上找了很多原因,解決不了。後來發現是連接池的問題,如果連接池有連接就快,所以和android代碼沒關係。 ...
  • 今天 在導入 一個新項目時 ; 出現了這個錯 一 、於是 點擊Open Android SDK Manager ; 想更新下android studio 下的 sdk ; 無奈出現了這個錯誤: Loading SDK information... Installing Archives: Prepa ...
  • Could not find Developer Disk Image 這是由於真機系統過高或者過低,Xcode中沒有匹配的配置包文件,我們可以通過這個路徑進入配置包的存放目錄: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneO ...
  • 圖標是IOS程式包所必需的組成部分。如果你沒有提供程式所需的各種尺寸的圖標,程式上傳發佈時可能會無法通過驗證。IOS程式為兼顧不同的應用場景,定義了多個不同規格的圖標,並以不同的命名區分: IOS圖標尺寸一覽 iPhone專用程式: ipad專用程式: 通用程式: ...
  • 剛學安卓App開發的朋友們,可能會遇到一個問題,就是人家的App剛進入會有一個頁面出現一會兒後消失, 這個頁面可以用來打廣告,也可以聲明App的主題,所以說這個啟動頁面至關重要,接下來,我把我的代碼共用給你們 記住這個activity要在Androidmanifest.xml中聲明為主頁面,也就是 ...
  • 使用<EditText/><TextView><ImageButton/>組件xml中開發界面;使用findViewById、OnClickListener後臺綁定事件: 使用<RadioGroup>,<RadioButton>組件實現單選框 具體代碼如下: xml代碼: <?xml version ...
  • 有許多關於Xcode的插件,在這裡強烈推薦的是Alcatraz插件。因為我們可以通過這個插件來安裝其他插件 1.Alcatraz插件。 Alcatraz是一個方便我們安裝各種那個插件的插件。插件之王? 安裝方法: 在終端粘貼 然後重啟Xcode你會發現在window中多了一項《package man ...
  • 以上是個非常簡單的操作系統helloworld源碼,用bochs載入後如下圖(bochs是個虛擬機,模擬操作系統載入),顯示了紅色的Hello,OS world,實際上是系統載入起來的樣子: 源碼解析: 1.org 07c00h和dw 0xaa55和times 510-($-$$) db 0 當計算 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...