前言
最新收集了前兩個月的iOS面試題總結(jié),答案這塊啊终,就不細(xì)說了镜豹,畢竟有的題目也是拿不準(zhǔn),如果有不明白的蓝牲,大家一起留言評論探討趟脂,大家一起努力!
網(wǎng)絡(luò)模塊:
1例衍、http 的發(fā)展歷史 以及https的相對于http的加密過程
2昔期、分別說一下tcp 和 udp 以及他們的區(qū)別和聯(lián)系;
3佛玄、http的超時默認(rèn)從什么位置開始計算
4镇眷、http使用udp還是tcp鏈接以及每次發(fā)送一個http請求 就一定建立tcp鏈接嗎 為什么
5、tcp三次握手鏈接 四次斷開鏈接 問:tcp存在四次握手鏈接嗎 以及tcp存在三次握手?jǐn)嚅_鏈接嗎翎嫡?
6欠动、為啥是出現(xiàn)四次握手?
7惑申、tcp建立了幾個通道 具伍,分別是什么 ,發(fā)送端和接收端是同一個通道嗎圈驼?
算法模塊(可以刷題LeetCode):
1人芽、如何判斷一個鏈表是否是雙向列表
2、搜索旋轉(zhuǎn)樹相關(guān)的問題
3绩脆、數(shù)組的排序問題
4萤厅、給定一個字符串,請你找出其中不含有重復(fù)字符的最長子串的長度靴迫。
5惕味、給你一個二叉樹,請你返回其按層序遍歷得到的節(jié)點(diǎn)值
6玉锌、給定一個二叉樹名挥,找出其最大深度。
7主守、兩個棧 實(shí)現(xiàn)一個隊(duì)列
.......
直接刷題就好了 iOS這塊的難度一般都在:簡單 中等 禀倔;目前hard難度的比較少的!
iOS模塊(主要是OC):
1参淫、atomic 和 nonatomic的區(qū)別 atomic一定是安全的嗎 為什么 舉個場景
2救湖、category可以添加成員變量嗎 為什么? 如果對應(yīng)的結(jié)構(gòu)體有這個ivarList的數(shù)組 可以添加成員變量嗎 為什么
3涎才、iOS的系統(tǒng)通知怎么實(shí)現(xiàn)的 接受線程和發(fā)送線程一定在同一個線程嗎 為什么 舉個例子
4鞋既、GCD NSThread NSOPeration 使用的場景和區(qū)別 以及NSoperation的幾種狀態(tài)分別是什么
5、block的實(shí)現(xiàn)原理(這塊問了很多 只要了解很透徹的話 這塊不是問題)
6、iOS的內(nèi)存管理方式是什么 ARC和MRC有區(qū)別嗎 為什么
7涛救、weak畏邢、strong 他們分別的實(shí)現(xiàn)原理
8、手寫一個單利(采用宏定義)检吆,以及為什么采用【super alloc] init】
9舒萎、對象的創(chuàng)見為什么要init 不要init可以嗎 為什么
10、一個NSobject 對象本身占用多少個字節(jié)(如何計算的) 以及蘋果為什么給對象都是16字節(jié)的倍數(shù)蹭沛? 什么叫空間換時間
11臂寝、NSAutoRealesepool 的實(shí)現(xiàn)原理 以及何時給對象發(fā)送relese消息
12、app的性能優(yōu)化--啟動優(yōu)化說一下
13摊灭、NSRuntime NSRunloop 聯(lián)系 平時怎么使用 比如如何監(jiān)聽卡頓 和 如何讓線程常駐
14咆贬、image的加載做成 以及如何優(yōu)化
15房官、動態(tài)庫和靜態(tài)庫區(qū)別和聯(lián)系 平時怎么使用的 現(xiàn)在使用動態(tài)庫的目的是什么 (動態(tài)庫會增加啟動時間) 再說一下這種庫加載過程以及如何優(yōu)化
17缴阎、詳細(xì)說一下事件的傳遞和響應(yīng)過程 (注意:手勢的有優(yōu)先級問題還有同時如何阻斷事件傳遞)
18、什么叫離屏渲染(要說的越詳細(xì)越好)
19衫冻、kvo的實(shí)現(xiàn)原理 以及如何手動觸發(fā)kvo
20煤杀、說一下以往項(xiàng)目中 最有成就感的項(xiàng)目 并詳細(xì)介紹使用到的技術(shù)點(diǎn)眷蜈,以及如何攻破技術(shù)難點(diǎn)的
21、說一下寫時復(fù)制
22沈自、swift的面向協(xié)議的理解
23酌儒、swift中的可變數(shù)組 為啥用var來修飾
24、說一下 無痕埋點(diǎn)以及如何實(shí)現(xiàn)
2021枯途,祝大家都找到合適的高薪工作
- 對于答案忌怎,歡迎大家積極討論;整理不易酪夷,如果您覺得還不錯榴啸,麻煩在文末 “點(diǎn)個贊” ,謝謝您的支持