1面 (社交軟件)
1.UIButton的繼承關(guān)系
UIButton -> UIControl -> UIView ->UIResponder ->NSObject
2.什么是僵尸對(duì)象和野指針,實(shí)際開發(fā)中案例,報(bào)錯(cuò)代碼
3.內(nèi)存泄露舉例,循環(huán)引用
4.block相關(guān),分類(堆棧全局),寫出三種block
5.MLeaksFinder原理
6.項(xiàng)目中bug如何追蹤管理處理,bugly原理
2面 視頻 (教育軟件)
1.項(xiàng)目架構(gòu)介紹
2.MVC優(yōu)化,MVVM和MVC優(yōu)缺點(diǎn) 實(shí)際應(yīng)用MVVM,如何界面跳轉(zhuǎn)
3.Runtime
4.線程相關(guān)問題,GCD,NSOperation,隊(duì)列分類
5.常用三方庫,SDWebImage架構(gòu)分析(下載邏輯,如何避免重復(fù)下載,操作隊(duì)列,為什么最終的方法基于UIView實(shí)現(xiàn)的下載)
6.內(nèi)存管理,堆棧區(qū)別
7.RAC框架的使用和雙向綁定
8.JS交互
9.bug定位和處理流程
10.上架遇到的問題
11.隊(duì)列的分類(并行,串行,主隊(duì)列,全局隊(duì)列)
3面 (泛娛樂公司)
1.筆試答題 全是英文 側(cè)重設(shè)計(jì)模式 邏輯思維 找規(guī)律題
2.懶漢式和餓漢式區(qū)別
3.MVC MVVM MVP 介紹
4.實(shí)現(xiàn)監(jiān)聽模式不依賴現(xiàn)有方法
5.中間人攻擊
4面 (金融股票)
1.事件傳遞
(IOKit---->springBoard->UIApplication-->UIWindow-->遞歸找到最合適處理的控件-->控件調(diào)用touches方法-->判斷是否實(shí)現(xiàn)touches方法-->沒有實(shí)現(xiàn)默認(rèn)會(huì)將事件傳遞給上一個(gè)響應(yīng)者-->找到上一個(gè)響應(yīng)者-->找不到方法作廢),
2.響應(yīng)事件方法有哪些
- 觸摸事件
- 加速計(jì)事件
- 遠(yuǎn)程控制事件
3.超出父類控件子控件點(diǎn)擊 - 重寫View 的hittest方法
- 擴(kuò)大點(diǎn)擊范圍pointInside:(CGPoint)point withEvent:(UIEvent *)event
4.OC消息轉(zhuǎn)發(fā)機(jī)制,項(xiàng)目中哪里用到
5.對(duì)象方法存儲(chǔ)位置
6.block理解,使用,對(duì)block使用copy修飾 拷貝的底層原理(block如何從棧拷貝到堆)
三種block在mrc和arc都可以使用么
7.runloop理解 runloop喚醒機(jī)制 source0 和souurce1理解 與線程之間的關(guān)系
8.APP時(shí)間緊迫柱狀圖實(shí)現(xiàn)方式
9.股票K線圖畫線,貝塞爾曲線
10.自己開發(fā)APP,那些模塊做的,遇到比較難的地方
4面 (中科軟)
1.蘋果內(nèi)購流程
2.音視頻處理,視頻單幀提取處理
3.項(xiàng)目中用到runloop runtime(歸檔解檔)
4.滑動(dòng)計(jì)時(shí)不停止
5.kvc kvo
6.js交互 jsbridge
7.SDWebImange原理
,同時(shí)下載圖片個(gè)數(shù)6個(gè)
5面 (支付公司)
1.block
2.常用傳值方式
3.app程序啟動(dòng)過程
4.copy 修飾可變數(shù)組
5.常用多線程 ,方法, 場(chǎng)景
6.GCD的常用方法
7.assign 和weak區(qū)別
8.tableView卡頓優(yōu)化
9.數(shù)據(jù)存儲(chǔ)方式/區(qū)別
10.代碼優(yōu)化,內(nèi)存優(yōu)化,內(nèi)存泄露
11.移動(dòng)支付SDK使用流程,前后臺(tái)支付結(jié)果延時(shí)處理
12.單點(diǎn)登錄
13.屏幕適配
14.iOS13系統(tǒng)適配
15.音視頻處理
16.KVO KVC
17.XIB搭建用時(shí)
18.ios加密方式,防止數(shù)據(jù)篡改
6面 (晉江)
1.swift函數(shù)式編程,面相協(xié)議編程
2.swift 結(jié)構(gòu)體和class區(qū)別
3.copy修飾符
4.MVVM介紹,代碼抽離原則
7面
1.直播相關(guān)(播放地址 流媒體地址,每一幀buffer處理,屏幕渲染內(nèi)存如何釋放)
2.iOS內(nèi)存管理
3.音視頻編解碼,系統(tǒng)播放器
4.weak指針如何維護(hù)
5.多次循環(huán)創(chuàng)建對(duì)象,如何管理內(nèi)存,會(huì)多次創(chuàng)建釋放池
6.自動(dòng)釋放池,創(chuàng)建銷毀時(shí)間
7.A B兩個(gè)View ,A增加點(diǎn)擊事件,B add到A,點(diǎn)擊B,A會(huì)響應(yīng)么,事件響應(yīng)鏈
8.-對(duì)象里有個(gè)Test 方法,在不修改.m文件的條件下,如何修改test方法實(shí)現(xiàn)?
-繼承于該類子類里調(diào)用test方法,如何不受父類的實(shí)現(xiàn)的影響?
-基于該類創(chuàng)建多個(gè)分類,并重寫了test方法,如果調(diào)用會(huì)調(diào)用那個(gè)里面的test方法?
-分類方法是如何加到類方法里買?多個(gè)分類里相同的方法呢?
-分類如何添加成員變量? (runtime的關(guān)聯(lián)對(duì)象),不通關(guān)聯(lián)對(duì)象能添加成員變量么?為什么?
9.串行隊(duì)列,異步執(zhí)行,異步里面有個(gè)同步執(zhí)行,同步隊(duì)列里打印一個(gè)東西,可以打印出來么?
8面 (小熊美家)
1.已開發(fā)項(xiàng)目框架介紹
2.項(xiàng)目存儲(chǔ)云端遇到什么問題
3.繼承ijkplayer遇到什么問題
4.圖片上傳模塊設(shè)置
5.微信支付SDK最近版本有遇到未驗(yàn)證應(yīng)用問題,Universal Links
6.swift寫得項(xiàng)目,swift5對(duì)比之前有什么變動(dòng)
7.runtime原理
8.消息轉(zhuǎn)發(fā)機(jī)制
9.做過那些性能優(yōu)化,(從內(nèi)存,用戶交互,本地緩存,網(wǎng)絡(luò)優(yōu)化,包優(yōu)化)
10.離屏渲染
11.啟動(dòng)圖廣告實(shí)現(xiàn),Launch上如何實(shí)現(xiàn)廣告
12.KVC KVO 原理
13.NStimer 如何打破循環(huán)引用
14.WKWebView JS交互JScore
15.工廠模式,類工廠說一下理解
16.APP審核遇到什么問題
9面 (一起學(xué))
1.融云內(nèi)部邏輯,下發(fā)消息規(guī)則
2.數(shù)據(jù)庫存儲(chǔ)類型考察
3.項(xiàng)目主要負(fù)責(zé)的模塊,視頻圖片上傳模塊實(shí)現(xiàn),大文件上傳方式,壓縮,分片上傳,文件合成,斷點(diǎn)續(xù)傳如何實(shí)現(xiàn)
4.圖片視頻瀏覽器如何實(shí)現(xiàn)
5.WKWebView交互,網(wǎng)頁白屏無數(shù)據(jù),如何檢測(cè)
6.APP性能監(jiān)控
7.事件響應(yīng)鏈
8.runtime理解
9.KVO實(shí)現(xiàn)原理
10.自定義鍵盤,輸入框自適應(yīng)的高度,cell內(nèi)部輸入框自適應(yīng)
11.內(nèi)購實(shí)現(xiàn)邏輯,掉單處理
12.音視頻轉(zhuǎn)碼,視頻轉(zhuǎn)碼壓縮
13.block內(nèi)部實(shí)現(xiàn)原理
14.SDWebImage如何在cell上顯示防止復(fù)用