12個(gè)iOS技術(shù)面試題及答案總結(jié)_iOS

前言

隨著移動(dòng)互聯(lián)網(wǎng)科技不斷的發(fā)展和創(chuàng)新吆豹,如今無(wú)論是公司還是開(kāi)發(fā)者或設(shè)計(jì)師個(gè)人而言,面試都是一項(xiàng)耗時(shí)耗錢(qián)的項(xiàng)目,而面對(duì)iOS開(kāi)發(fā)者及設(shè)計(jì)師在面試時(shí)可能會(huì)遇到的問(wèn)題進(jìn)行了篩選與匯總。下面我們一起來(lái)一下看看吧包个。

一、如何繪制UIView?

繪制一個(gè)UIView最靈活的方法就是由它自己完成繪制冤留。實(shí)際上你不是繪制一個(gè)UIView碧囊,而是子類(lèi)化一個(gè)UIView并賦予繪制自己的能力。當(dāng)一個(gè)UIView需要執(zhí)行繪制操作時(shí)纤怒,drawRect:方法就會(huì)被調(diào)用糯而,覆蓋此方法讓你獲得繪圖操作的機(jī)會(huì)。當(dāng)drawRect:方法被調(diào)用肪跋,當(dāng)前圖形的上下文也被設(shè)置為屬于視圖的圖形上下文歧蒋,你可以使用Core Graphic或者UIKit提供的方法將圖形畫(huà)在該上下文中土砂。

二州既、什么是MVVM?主要目的是什么萝映??jī)?yōu)點(diǎn)有哪些吴叶?

MVVM即 Model-View-ViewModel

1.View主要用于界面呈現(xiàn),與用戶(hù)輸入設(shè)備進(jìn)行交互序臂、

2.ViewModel是MVVM架構(gòu)中最重要的部分蚌卤,ViewModel中包含屬性,方法奥秆,事件逊彭,屬性驗(yàn)證等邏輯,負(fù)責(zé)View與Model之間的通訊

3.Model就是我們常說(shuō)的數(shù)據(jù)模型构订,用于數(shù)據(jù)的構(gòu)造侮叮,數(shù)據(jù)的驅(qū)動(dòng),主要提供基礎(chǔ)實(shí)體的屬性悼瘾。

MVVM主要目的是分離視圖和模型

MVVM優(yōu)點(diǎn):低耦合囊榜,可重用性,獨(dú)立開(kāi)發(fā)亥宿,可測(cè)試

三卸勺、get請(qǐng)求與post請(qǐng)求的區(qū)別

1.get是向服務(wù)器發(fā)索取數(shù)據(jù)的一種請(qǐng)求,而post是向服務(wù)器提交數(shù)據(jù)的一種請(qǐng)求

2.get沒(méi)有請(qǐng)求體烫扼,post有請(qǐng)求體

3.get請(qǐng)求的數(shù)據(jù)會(huì)暴露在地址欄中曙求,而post請(qǐng)求不會(huì),所以post請(qǐng)求的安全性比get請(qǐng)求號(hào)

4.get請(qǐng)求對(duì)url長(zhǎng)度有限制,而post請(qǐng)求對(duì)url長(zhǎng)度理論上是不會(huì)收限制的悟狱,但是實(shí)際上各個(gè)服務(wù)器會(huì)規(guī)定對(duì)post提交數(shù)據(jù)大小進(jìn)行限制怎抛。

四、談?wù)勀銓?duì)多線(xiàn)程開(kāi)發(fā)的理解芽淡?ios中有幾種實(shí)現(xiàn)多線(xiàn)程的方法马绝?

好處:

1.使用多線(xiàn)程可以把程序中占據(jù)時(shí)間長(zhǎng)的任務(wù)放到后臺(tái)去處理,如圖片挣菲,視頻的下載富稻;

2.發(fā)揮多核處理器的優(yōu)勢(shì),并發(fā)執(zhí)行讓系統(tǒng)運(yùn)行的更快白胀,更流暢椭赋,用戶(hù)體驗(yàn)更好;

缺點(diǎn):

1.大量的線(xiàn)程降低代碼的可讀性或杠;

2.更多的線(xiàn)程需要更多的內(nèi)存空間哪怔;

3當(dāng)多個(gè)線(xiàn)程對(duì)同一個(gè)資源出現(xiàn)爭(zhēng)奪的時(shí)候要注意線(xiàn)程安全的問(wèn)題。

ios有3種多線(xiàn)程編程的技術(shù):1.NSThread向抢,2.NSOperationQueue认境,3.gcd;

五挟鸠、XMPP工作原理叉信;xmpp系統(tǒng)特點(diǎn)

原理:

1.所有從一個(gè)client到另一個(gè)client的jabber消息和數(shù)據(jù)都要通過(guò)xmpp server

2.client鏈接到server

3.server利用本地目錄系統(tǒng)的證書(shū)對(duì)其認(rèn)證

4.server查找,連接并進(jìn)行相互認(rèn)證

5.client間進(jìn)行交互

特點(diǎn):1)客戶(hù)機(jī)/服務(wù)器通信模式艘希;2)分布式網(wǎng)絡(luò)硼身;3)簡(jiǎn)單的客戶(hù)端;4)XML的數(shù)據(jù)格式

六覆享、地圖的定位是怎么實(shí)現(xiàn)的佳遂?

1.導(dǎo)入了CoreLocation.framework

2.ios8以后,如果需要使用定位功能撒顿,就需要請(qǐng)求用戶(hù)授權(quán)丑罪,在首次運(yùn)行時(shí)會(huì)彈框提示

3.通過(guò)本機(jī)自帶的gps獲取位置信息(即經(jīng)緯度)

七、蘋(píng)果內(nèi)購(gòu)實(shí)現(xiàn)流程

程序通過(guò)bundle存儲(chǔ)的plist文件得到產(chǎn)品標(biāo)識(shí)符的列表核蘸。

程序向App Store發(fā)送請(qǐng)求巍糯,得到產(chǎn)品的信息。

App Store返回產(chǎn)品信息客扎。

程序把返回的產(chǎn)品信息顯示給用戶(hù)(App的store界面)

用戶(hù)選擇某個(gè)產(chǎn)品

程序向App Store發(fā)送支付請(qǐng)求

App Store處理支付請(qǐng)求并返回交易完成信息祟峦。

App獲取信息并提供內(nèi)容給用戶(hù)。

八徙鱼、支付寶宅楞,微信等相關(guān)類(lèi)型的sdk的集成

1.在支付寶開(kāi)發(fā)平臺(tái)創(chuàng)建應(yīng)用并獲取APPID

2.配置密鑰

3.集成并配置SDK

4.調(diào)用接口(如交易查詢(xún)接口针姿,交易退款接口)

九、 gcd產(chǎn)生死鎖的原因及解鎖的方法

產(chǎn)生死鎖的必要條件:1.互斥條件厌衙,2.請(qǐng)求與保持條件距淫,3.不剝奪條件,4.循環(huán)等待條件婶希。

解決辦法:采用異步執(zhí)行block榕暇。

十、生成二維碼的步驟

1.使用CIFilter濾鏡類(lèi)生成二維碼

2.對(duì)生成的二維碼進(jìn)行加工喻杈,使其更清晰

3.自定義二維碼背景色彤枢、填充色

4.自定義定位角標(biāo)

5.在二維碼中心插入小圖片

十一、在使用XMPP的時(shí)候有沒(méi)有什么困難

發(fā)送附件(圖片筒饰,語(yǔ)音缴啡,文檔...)時(shí)比較麻煩

XMPP框架沒(méi)有提供發(fā)送附件的功能,需要自己實(shí)現(xiàn)

實(shí)現(xiàn)方法瓷们,把文件上傳到文件服務(wù)器业栅,上傳成功后獲取文件保存路徑,再把附件的路徑發(fā)送給好友

十二谬晕、是否使用過(guò)環(huán)信碘裕,簡(jiǎn)單的說(shuō)下環(huán)信的實(shí)現(xiàn)原理

環(huán)信是一個(gè)即時(shí)通訊的服務(wù)提供商

環(huán)信使用的是XMPP協(xié)議,它是再XMPP的基礎(chǔ)上進(jìn)行二次開(kāi)發(fā)固蚤,對(duì)服務(wù)器Openfire和客戶(hù)端進(jìn)行功能模型的添加和客戶(hù)端SDK的封裝娘汞,環(huán)信的本質(zhì)還是使用XMPP,基于Socket的網(wǎng)絡(luò)通信

環(huán)信內(nèi)部實(shí)現(xiàn)了數(shù)據(jù)緩存夕玩,會(huì)把聊天記錄添加到數(shù)據(jù)庫(kù),把附件(如音頻文件惊豺,圖片文件)下載到本地燎孟,使程序員更多時(shí)間是花到用戶(hù)體驗(yàn)體驗(yàn)上。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了尸昧,希望本文的內(nèi)容對(duì)各位iOS開(kāi)發(fā)者們?cè)诿嬖嚨臅r(shí)候能有所幫助揩页,如果有問(wèn)題大家可以留言交流。

答案獲扰胨住:1爆侣、喜歡小編簡(jiǎn)書(shū)這篇文章

? ? ? ? ? ? ? ? 2、加小編的qq交流群:776598941幢妄、即可找到小編免費(fèi)獲取.

分享目的是為了尋找志同道合的朋友一起創(chuàng)建一個(gè)我們自己的程序員圈子兔仰,有意者請(qǐng)聯(lián)系作者,讓我們一起搭建一個(gè)屬于我們iOS開(kāi)發(fā)者的私有圈子蕉鸳,內(nèi)推乎赴、共享資源忍法。

部分答案截圖:


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市榕吼,隨后出現(xiàn)的幾起案子饿序,更是在濱河造成了極大的恐慌,老刑警劉巖羹蚣,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件原探,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡顽素,警方通過(guò)查閱死者的電腦和手機(jī)踢匣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)戈抄,“玉大人离唬,你說(shuō)我怎么就攤上這事』耄” “怎么了输莺?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)裸诽。 經(jīng)常有香客問(wèn)我嫂用,道長(zhǎng),這世上最難降的妖魔是什么丈冬? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任嘱函,我火速辦了婚禮,結(jié)果婚禮上埂蕊,老公的妹妹穿的比我還像新娘往弓。我一直安慰自己,他們只是感情好蓄氧,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布函似。 她就那樣靜靜地躺著,像睡著了一般喉童。 火紅的嫁衣襯著肌膚如雪撇寞。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,165評(píng)論 1 299
  • 那天堂氯,我揣著相機(jī)與錄音蔑担,去河邊找鬼。 笑死咽白,一個(gè)胖子當(dāng)著我的面吹牛啤握,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播局扶,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼恨统,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼叁扫!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起畜埋,我...
    開(kāi)封第一講書(shū)人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤莫绣,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后悠鞍,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體对室,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年咖祭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了掩宜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡么翰,死狀恐怖牺汤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情浩嫌,我是刑警寧澤檐迟,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站码耐,受9級(jí)特大地震影響追迟,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜骚腥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一敦间、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧束铭,春花似錦廓块、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至埠褪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間挤庇,已是汗流浹背钞速。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嫡秕,地道東北人渴语。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像昆咽,于是被迫代替她去往敵國(guó)和親驾凶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子牙甫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容