面試總結(jié)

一、小豬

1、runtime、runloop的各種使用場(chǎng)景,詳細(xì)介紹下。 (類別添加屬性、線程?;畹缺M可能多的說(shuō)出使用場(chǎng)景)
2、如何擴(kuò)大按鈕的點(diǎn)擊區(qū)域。
3、id和void的區(qū)別?

id指任意一個(gè)Objective C類的對(duì)象的指針,僅限于Objective C類的對(duì)象;
void 指一個(gè)未知類型或未知內(nèi)容的指針,提供了一個(gè)對(duì)其他API的對(duì)象的指針;
建議最好不要使用void
,盡量用NSObject*替換id,這樣編譯器可以提供更好的檢驗(yàn)。
4、內(nèi)存對(duì)齊、偽指針?
內(nèi)存對(duì)齊:對(duì)齊就是為了優(yōu)化硬件效率,結(jié)構(gòu)體的內(nèi)存對(duì)齊,按照其內(nèi)部最大元素基本類型或者模數(shù)大小對(duì)齊
5、匿名函數(shù)和block的區(qū)別?
匿名函數(shù)就是block,沒(méi)有名字。
6、block的原理?(指針引用、值引用、__block修飾原理、block的類型,區(qū)別是什么)
7、路由的原理?
8、autoreleasePoll原理?和runloop有什么關(guān)系?
9、鎖都有什么類型?傳送門(mén)
10、dyld作用,以及APP啟動(dòng)流程?
11、iOS內(nèi)存管理機(jī)制?引用計(jì)數(shù)用什么維護(hù)?
12、weak原理?
13、GCD、NSOpreation區(qū)別,并發(fā)數(shù)越多越好嗎?為什么?
14、UI在子線程刷新有什么問(wèn)題嗎?為什么?
15、類別怎么實(shí)現(xiàn)weak屬性?在什么地方銷毀呢?
16、可變類型用copy修飾可以嗎?有什么問(wèn)題?為什么?
17、說(shuō)出消息轉(zhuǎn)發(fā)機(jī)制?
18、實(shí)例方法調(diào)用方法流程?self和super調(diào)用有什么區(qū)別?

二、學(xué)而思

側(cè)重基礎(chǔ),免了兩次,一次一面掛,一次二面掛。
一面:
1、GCD和NSOpreation區(qū)別,詳細(xì)說(shuō)明? GCD怎么實(shí)現(xiàn)NSOpreation的依賴?怎么實(shí)現(xiàn)NSOpreation的并發(fā)數(shù)?
2、runtime、runloop的具體項(xiàng)目應(yīng)用?
3、深淺拷貝?自定義對(duì)象的拷貝怎么實(shí)現(xiàn)?以及修飾可變和不可變數(shù)據(jù)類型用什么?有什么區(qū)別?
4、APP啟動(dòng)流程?Mach-O是什么?
5、block是什么??jī)?nèi)部原理是什么?
6、事件響應(yīng)和分發(fā)?
7、內(nèi)存泄漏的場(chǎng)景以及解決辦法?(盡可能多的說(shuō)出來(lái))
8、KVC和KVO場(chǎng)景?
9、如何找到兩個(gè)UI的共同父類?
10、界面卡頓的原因以及如何優(yōu)化?
11、怎么處NSTimer的理循環(huán)引用?還有什么方法能替代NSTimer定時(shí)器嗎?
12、什么導(dǎo)致離屏渲染,它的渲染原理是什么?怎么處理?
二面:
1、你在項(xiàng)目中擔(dān)任什么角色?是怎么設(shè)計(jì)項(xiàng)目框架的?為什么這么設(shè)計(jì)?還有別的更好的設(shè)計(jì)嗎?
2、你個(gè)人有什么優(yōu)勢(shì)?項(xiàng)目有什么亮點(diǎn)?
3、2的1000次方你怎么算?
4、創(chuàng)建一個(gè)對(duì)象占有多少空間?實(shí)際占多少空間?
系統(tǒng)分配了16個(gè)字節(jié)給NSObject對(duì)象(可以通過(guò)malloc_size函數(shù)得到); 但NSObject對(duì)象內(nèi)部只使用了8個(gè)字節(jié)空間(在64bit環(huán)境下,可以通過(guò)class_getInstanceSize函數(shù)獲得)。

三、作業(yè)幫

1、代理、block使用場(chǎng)景?為什么會(huì)內(nèi)存泄漏? 代碼展示block的值引用指針引用。
2、直接allloc一個(gè)對(duì)象,它在哪個(gè)空間,什么時(shí)候銷毀呢?

UIView *view = [[UIView alloc] init];

3、內(nèi)存泄漏場(chǎng)景以及解決辦法?
4、@synchronized(self),為什么用self,有什么作用,用nil可以嗎?
5、B是A的子視圖,B超出A范圍的點(diǎn)擊失效了怎么處理讓它可以點(diǎn)擊?

四、今日頭條

基礎(chǔ)+算法,問(wèn)的都不是平時(shí)用的,都是指針內(nèi)存,算法,慘敗。

五、當(dāng)當(dāng)

各種設(shè)計(jì)模式,實(shí)例化應(yīng)用場(chǎng)景讓你轉(zhuǎn)換成對(duì)象。
1、我是面試官,你是面試者,請(qǐng)?jiān)O(shè)計(jì)個(gè)抽出的對(duì)象來(lái)處理?
2、列出設(shè)計(jì)模式?以及應(yīng)用場(chǎng)景?(你為什么要這么設(shè)計(jì),比如你為什么用代理?)
3、知道面向?qū)ο蟮慕M合嗎?
4、排序兩個(gè)數(shù)組中的數(shù)字,并算出時(shí)間復(fù)雜度?

六、智聯(lián)招聘

1、SDWebImage在cell中的復(fù)用機(jī)制?
imageView 對(duì)象會(huì)關(guān)聯(lián)一個(gè)下載列表,列表是給AnimationImages用的,這個(gè)時(shí)候會(huì)下載多張圖片,當(dāng)tableView 滑動(dòng),imageView重設(shè)數(shù)據(jù)源url 時(shí),會(huì)cancle掉下載列表中所有的任務(wù)
,然后開(kāi)啟一個(gè)新的下載任務(wù)。這樣就保證了只有當(dāng)前可見(jiàn)的cell對(duì)象的imageView對(duì)象關(guān)聯(lián)的下載任務(wù)能夠回調(diào),不會(huì)發(fā)生image錯(cuò)亂。
即:每次下載前都先取消掉上一次的下載。那么你的圖片下載器就需要實(shí)現(xiàn)取消下載功能,幸運(yùn)的是SD這樣的圖片加載器已經(jīng)實(shí)現(xiàn)了這樣的功能
鏈接:http://m.itdecent.cn/p/e979581ac4c2

2、深淺拷貝?自定義對(duì)象的拷貝?它的屬性也會(huì)拷貝嗎?為什么?(這里問(wèn)的很深,請(qǐng)重點(diǎn)寫(xiě)代碼測(cè)試,否則說(shuō)不好)
3、線程、autoreleasepool應(yīng)用場(chǎng)景以及原理?
4、runtime和runloop的實(shí)際使用?
5、APP怎么優(yōu)化?
6、MAC和MVVM?
7、通知是同步的還是異步的?
8、KVO原理

七、點(diǎn)點(diǎn)互動(dòng)

做游戲SDK,對(duì)于數(shù)據(jù)的采集存儲(chǔ)方式、共享、準(zhǔn)確性、內(nèi)購(gòu)等。
1、內(nèi)購(gòu)流程以及掉單怎么處理?
2、APP怎么共享數(shù)據(jù)?keychain的原理是什么?
3、數(shù)據(jù)存儲(chǔ)的幾種方式?APP崩潰了怎么保證數(shù)據(jù)不丟失?SDK中存儲(chǔ)在NSUSerDefault中的數(shù)據(jù),有沒(méi)有可能被其他SDK或者APP清掉?
4、線程的具體應(yīng)用?
5、怎么防止SDK的崩潰?runtime的應(yīng)用。

八、貝塔科技

做廣告SDK ,涉及到的SDK的下載,打包,合并,策略都要有所了解才能比較好的應(yīng)對(duì)。
1、怎么聚合多個(gè)SDK,減少SDK體積?
2、SDK展示廣告機(jī)制?(從下載、存儲(chǔ)、斷網(wǎng)考慮)
3、SDK的多種形式?(視頻、原生、H5)
4、SDK什么時(shí)機(jī)給用戶反饋?

九、齊聚科技

做直播的,要比較專業(yè)的直播知識(shí)。
1、文字聊天界面,隨時(shí)有幾百上千條聊天,怎么處理?
2、GCD和NSOPreation?
3、直播時(shí)候渲染界面的流程?(太專業(yè),沒(méi)答出來(lái))

十、國(guó)能合電

十一、測(cè)測(cè)星座

全flutter寫(xiě)的工程。
!??!打廣告啦,招兼職啦!??!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 在投遞簡(jiǎn)歷之前,就是所謂的寒冬將至,開(kāi)個(gè)年會(huì)都是守望寒冬,然后我身邊的準(zhǔn)備跳槽的大佬們,都是有幾分涼意,不過(guò)...
    天下林子閱讀 6,003評(píng)論 9 130
  • [toc]主要是一些視頻筆記和面試時(shí)候常問(wèn)到的問(wèn)題記錄。(持續(xù)更新) Runtime 什么是 Runtime?它的...
    youlookdeliciou閱讀 768評(píng)論 0 8
  • iOS面試總結(jié) 1. 網(wǎng)絡(luò) HTTP協(xié)議(HyperText Transfer Protocol)的請(qǐng)求和響應(yīng)請(qǐng)求...
    崇山峻嶺閱讀 755評(píng)論 0 2
  • 最近換工作,面試了好幾家公司,終于拿到了滿意的offer,可惜進(jìn)不了大廠,還需繼續(xù)努力。通過(guò)這次面試發(fā)現(xiàn)了太多的不...
    寫(xiě)前端的大叔閱讀 1,653評(píng)論 10 25
  • 表情是什么,我認(rèn)為表情就是表現(xiàn)出來(lái)的情緒。表情可以傳達(dá)很多信息。高興了當(dāng)然就笑了,難過(guò)就哭了。兩者是相互影響密不可...
    Persistenc_6aea閱讀 129,941評(píng)論 2 7

友情鏈接更多精彩內(nèi)容