的底层实现 ios_iOS 面试梳理
本次面試周期為一周,準(zhǔn)備時(shí)間為一周。
本次面試共投遞25家,約面11家,最后大廠(chǎng)只面了360、字節(jié),實(shí)際面了9家,收到4家offer。
563513413可獲取相關(guān)的面試資料
說(shuō)明:16年畢業(yè),非重點(diǎn)大學(xué),非計(jì)算機(jī)專(zhuān)業(yè),本科
經(jīng)過(guò)這次面試,對(duì)自己的定位又有了更多的認(rèn)知,由于之前工作經(jīng)驗(yàn)的原因,音視頻這塊將會(huì)成為我今后的主要方向,下一次希望能做到一個(gè)資深iOS音視頻工程師,我也會(huì)把更多時(shí)間放到這上面。
確實(shí)算法能考察一個(gè)人的聰明程度,這段時(shí)間完全被女票碾壓,好在算法多做一些,總結(jié)規(guī)律,也能把人訓(xùn)練的更聰明,像奧數(shù)一樣。
建議大家用C寫(xiě)算法題;平時(shí)leetcode也用C。
主觀面試感受
- 最右印象較差,面試官不nice;
- 360最佳,很細(xì)心,很喜歡他們的leader;
- 其他公司均不錯(cuò)
- 幾乎每一家都有算法題,但整體難度不大(大部分是動(dòng)態(tài)規(guī)劃+樹(shù)的遍歷)
360 音視頻崗位
主觀評(píng)價(jià):面的是音視頻中臺(tái)的崗位,本以為HR會(huì)推薦業(yè)務(wù)崗,準(zhǔn)備不充分
一面:
- 以往直播和相機(jī)的業(yè)務(wù)考察
- AVFoundation、GPUImage
- 兩道算法題(追問(wèn)優(yōu)化)
二面:
- AVPlayer實(shí)現(xiàn)原理、數(shù)據(jù)緩存
- OpenGL ES 處理流程
- 硬編、軟編
- 直播整體流程
- 濾鏡實(shí)現(xiàn)原理
然后回去讓我等通知,說(shuō)一周內(nèi)。
抖音 業(yè)務(wù)崗
主觀評(píng)價(jià):吐槽下,獵頭給我很多面試題,讓我背,結(jié)果一個(gè)都沒(méi)遇到; 希望大家遇到一個(gè)好的面試官
- 大數(shù)相加
- 樹(shù)的遍歷(遞歸,隊(duì)列兩種方式)
- 事件響應(yīng)機(jī)制(傳遞鏈、響應(yīng)鏈、手勢(shì))
算法寫(xiě)出來(lái)了但花了50分鐘,然后一個(gè)小時(shí)就過(guò)去了,我。。。能力不足,leetcode還要繼續(xù)。
天真互動(dòng)
主觀評(píng)價(jià):這家雖然是創(chuàng)業(yè)公司,有三面,算上HR是4面,最后一面我感覺(jué)面試官水平超高,應(yīng)該是個(gè)大神,被虐,但還是拿到了他家的offer。
- xcode 證書(shū)校驗(yàn)過(guò)程
- json轉(zhuǎn)model實(shí)現(xiàn)
- 動(dòng)態(tài)庫(kù)靜態(tài)庫(kù)區(qū)別
- 用純AVFoundation框架,向視頻中加入一個(gè)水印怎么做
- GPUImag框架介紹
- 網(wǎng)絡(luò)如何優(yōu)化
- camke用法
- 視頻從采集到顯示,最終寫(xiě)入文件流程
- AVPlayer緩存技術(shù)
- 視頻如何2倍播放,2倍速導(dǎo)出
- charles原理
- samplebuffer與pixelbuffer區(qū)別
- CMTime結(jié)構(gòu)
這個(gè)人的問(wèn)題專(zhuān)業(yè)程度不遜于360。
最右
一面
- crash崩潰怎么解,崩潰到底層代碼
- AVplayer 遍播遍下載
- 如何設(shè)計(jì)一個(gè)網(wǎng)絡(luò)庫(kù)
二面
- FBO、H264、GPUImage3、
- 大圖加載、PCM計(jì)算時(shí)間、
- 如何實(shí)現(xiàn)分割濾鏡、
- 音視頻編碼
美術(shù)寶
主觀評(píng)價(jià):我感覺(jué)是最高效的,簡(jiǎn)潔
- kvo
- block
- notification
- runloop
- 二面有個(gè)算法題
兩次面試加一起50分鐘,然后就發(fā)offer,牛。
其他公司
主觀評(píng)價(jià):大小公司都會(huì)有算法,有的用牛客網(wǎng),有的用leetcode,純手?jǐn)],無(wú)提示。
- NSCache 應(yīng)用場(chǎng)景 與NSDictionary區(qū)別
- git工作流
- 常見(jiàn)的鎖,哪個(gè)性能最差,以及原因
- app逆向分析
- leak工具使用
- charles原理
- http與https區(qū)別
- 組件化思路
- 持續(xù)集成方案
- copy、assign區(qū)別
- 內(nèi)存對(duì)齊
- sel、_cmd、isa
- Tagged pointer
- 剪刀石頭布
- 最長(zhǎng)不重復(fù)字符串
- 大量的數(shù)字排序
- leetcode 32
- leetcode 1237
- leetcode 828
- leetcode 283
- leetcode j67
- leetcode 116
- 函數(shù)調(diào)用機(jī)制
- 消息轉(zhuǎn)發(fā)
- h5、js
總結(jié)
iOS底層:
- kvo、
- runtime、
- kvc、
- notification、
- runloop、
- 關(guān)鍵字(copy、assign、strong)、
- block、
- GCD
其實(shí)東西不多,理解底層對(duì)于記憶規(guī)則,有很大幫助。建議源碼和《iOS和OS X多線(xiàn)程和內(nèi)存管理》一起看,以及一些大神的文章
音視頻方向:
- 從AVFoundation入手,然后GPUImage,在然后OpenGL ES、MetalKit
- ffmpeg、opencv
- cc++
- rtmp、webrtc
其他:
- 組件化
- 設(shè)計(jì)模式與原則
- 網(wǎng)絡(luò)
- 持續(xù)集成
- 團(tuán)隊(duì)協(xié)作流程
面試沒(méi)有遇到Swift的問(wèn)題,有點(diǎn)意外,這次面試,大約有一半使用swift,有一家純swift開(kāi)發(fā),其余都是混編,或者有業(yè)務(wù)線(xiàn)是swift。
建議大家先找到工作再辭職,除非工作太忙,沒(méi)時(shí)間。
關(guān)于Swift
swift我也準(zhǔn)備了,預(yù)計(jì)明年,swift相關(guān)的問(wèn)題會(huì)爆發(fā)出來(lái)
- 泛型約束
- 關(guān)聯(lián)類(lèi)型
- 類(lèi)型擦除
- where使用
- codable 如何實(shí)現(xiàn)key映射
- AnyIterator
- sequence
- indexable
- collection
- map、filter、reduce、sorted
- 如何實(shí)現(xiàn)鏈?zhǔn)骄幊?#xff08;snapkit)
- 函數(shù)派發(fā)機(jī)制(class、struct、extension、protocol)
- kvo失效怎么辦
- 內(nèi)存管理 pwt、vwt
- 內(nèi)存,統(tǒng)一類(lèi)型的變量可選值與非選值內(nèi)存有什么區(qū)別
原創(chuàng)聲明,本文系作者授權(quán)云+社區(qū)發(fā)表,未經(jīng)許可,不得轉(zhuǎn)載。
如有侵權(quán),請(qǐng)聯(lián)系 yunjia_community@tencent.com 刪除。
總結(jié)
以上是生活随笔為你收集整理的的底层实现 ios_iOS 面试梳理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java程序优化快捷键_Java 代码中
- 下一篇: docker 添加端口映射_苟且偷生的程