最近找工作,筆者面了字節(jié)跳動(dòng),嗶哩嗶哩数冬,哈羅單車芽唇,騰訊淤翔,支付寶等公司,下面就這些公司N面的技術(shù)題做個(gè)整體匯總,供大家參考:
網(wǎng)絡(luò):
1.HTTP和HTTPS區(qū)別?
2.HTTPS的加密方式有哪幾種睦擂?如何簽名的?
3.HTTP的缺點(diǎn)有哪些杖玲?
4.TCP和UDP區(qū)別顿仇?
5.如何優(yōu)化TCP連接?
6.APP中網(wǎng)絡(luò)響應(yīng)慢從哪幾個(gè)方面優(yōu)化摆马?
7.socket屬于哪個(gè)層臼闻?原理是什么?
APP優(yōu)化:
1.如何優(yōu)化項(xiàng)目編譯速度囤采?
2.冷啟動(dòng)速度如何優(yōu)化述呐?
3.后臺(tái)如何保活蕉毯?
4.如何做性能檢測(cè)乓搬,并逐項(xiàng)提出優(yōu)化建議?
5.APP埋點(diǎn)怎么做恕刘?
視頻和IM:
1.webRTC的PLI是什么意思缤谎?原理是什么抒倚?
2.webSocket如何建立連接的褐着?原理是什么?
3.你們IM采用什么協(xié)議托呕?
4.簡(jiǎn)述H264編碼的優(yōu)缺點(diǎn)
5.音頻采樣如何優(yōu)化含蓉?
6.解碼用的硬解還是軟解频敛?各自優(yōu)缺點(diǎn)?
7.RTMP協(xié)議內(nèi)容馅扣?RTSP協(xié)議是什么斟赚?
多線程:
1.簡(jiǎn)述GCD,NSThread,NSOperation使用,各自優(yōu)缺點(diǎn)
2.GCD底層原理是什么差油?
3.給定一個(gè)網(wǎng)絡(luò)請(qǐng)求依賴場(chǎng)景拗军,用自己熟悉的方式解決
4.常用哪種鎖?原理是什么
5.atomic一定是線程安全的嗎蓄喇?
6.NSArray如何保證線程安全发侵?
架構(gòu):
1.APP架構(gòu)怎么理解?如何搭建和優(yōu)化妆偏?
2.如果讓你重構(gòu)XX頁(yè)面刃鳄,你會(huì)怎么做?
3.MVVM和MVC對(duì)比钱骂,項(xiàng)目中實(shí)際如何使用叔锐?
4.APP動(dòng)態(tài)化方案?自己實(shí)現(xiàn)一個(gè)會(huì)怎么做见秽?
安全:
1.本地?cái)?shù)據(jù)如何加密愉烙?
2.對(duì)稱加密和非對(duì)稱加密優(yōu)缺點(diǎn)?
3.簡(jiǎn)述哈希算法解取,有什么作用齿梁?
4.非對(duì)稱加密有哪些算法?
5.如何破解和監(jiān)聽(tīng)HTTPS肮蛹?
6.如何判斷手機(jī)是否越獄
7.如何防止被反編譯
RunTime:
1.方法交換的原理及應(yīng)用場(chǎng)景
2.消息轉(zhuǎn)發(fā)的過(guò)程
3.分類加載的原理及順序勺择?
4.KVO原理
5.weak指針自動(dòng)置nil的原理
RunLoop:
1.哪些地方會(huì)用到runLoop?
2.runLoop的原理是什么?
3.NSTimer的target使用會(huì)有什么問(wèn)題嗎伦忠?
內(nèi)存:
1.堆和棧的區(qū)別
2.如何防止循環(huán)引用省核?
3.內(nèi)存使用如何優(yōu)化?
4.線上如何監(jiān)測(cè)內(nèi)存使用?
UI:
1.點(diǎn)擊屏幕昆码,到響應(yīng)事件气忠,經(jīng)歷了什么?
2.view的視圖樹(shù)結(jié)構(gòu)是怎么樣的赋咽?
3.同時(shí)畫(huà)陰影和圓角旧噪,怎么實(shí)現(xiàn)?
4.tableView的幀數(shù)優(yōu)化脓匿?有很多種cell時(shí)候如何設(shè)計(jì)代碼結(jié)構(gòu)淘钟?
5.GPU渲染原理,離屏渲染問(wèn)題如何解決陪毡?
歡迎大家留言自己的思路~