1.MVC與MVVM區(qū)別是什么甜熔?
- MVC是將Model,View和Controller分離讓彼此的職責(zé) 能夠明確的分開溶其,這樣不論是改M,V,還是C悴品,都可以確保另外兩層可不用做任何修改,View和Model基本上是相關(guān)的掠廓,但他們并不是有直接的相依關(guān)系换怖,而是由Controller去決定Model產(chǎn)生的資料,然后丟給View去做呈現(xiàn)蟀瞧,也就是說Controller是Model和View之間的協(xié)調(diào)者沉颂。
- MVVM的架構(gòu)一樣是M,V分離,但中間是以VM來串接悦污,這個(gè)ViewModel比較像View的一個(gè)代理程式铸屉,他負(fù)責(zé)直接對Model做溝通,而View可以透過一些機(jī)制和ViewModel溝通以取得資料或?qū)①Y料拋給Model做存取等工作切端,ViewModel也可以作為和外部系統(tǒng)的代理程式彻坛,不過它和MVC不同的地方,就是ViewModel和View的黏合度比較高踏枣,因?yàn)閂iew必須透過ViewModel才可以取得Model昌屉,而ViewModel又必須處理來自View的通知訊息,所以雖然職責(zé)一樣分明茵瀑,但是卻不想MVC那樣可以擴(kuò)展到整個(gè)系統(tǒng)原件都能用间驮。
2.是否使用過XMPP,XMPP的實(shí)現(xiàn)原理
-xmpp是一個(gè)即時(shí)通訊的協(xié)議马昨,他是定義好用于即時(shí)通信在網(wǎng)絡(luò)傳輸格式的竞帽,比如登錄,或缺好友列表等等的格式鸿捧,XMPP 在網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)是XML格式
- XMPP是一個(gè)基于Socket的網(wǎng)絡(luò)協(xié)議屹篓,目的是為了保存長鏈接,以實(shí)現(xiàn)即時(shí)通訊功能
- XMPP的客戶端是使用一個(gè)XMPPFramework框架
- XMPP服務(wù)器是使用Openfire匙奴,一個(gè)開源服務(wù)器
- 假設(shè)客戶端獲取服務(wù)器發(fā)送過來的好友信息堆巧,客戶端需要對XML進(jìn)行解析,使用的解析框架的KissXML框架
3.TCP/IP協(xié)議、Socket協(xié)議和Http協(xié)議的區(qū)別
- 網(wǎng)絡(luò)由上往下分為:物理層恳邀、數(shù)據(jù)鏈路層懦冰、網(wǎng)絡(luò)層、傳輸層谣沸、會(huì)話層刷钢、表示層和應(yīng)用層。
- IP協(xié)議對應(yīng)于網(wǎng)絡(luò)層乳附,TCP協(xié)議對應(yīng)于傳輸層内地,而Http協(xié)議對應(yīng)于應(yīng)用層,
- socket是對TCP/IP協(xié)議的封裝和應(yīng)用赋除,socket本身不是協(xié)議阱缓,而是一個(gè)調(diào)用接口(API)。通過socket举农,我們才能使用TCP/IP協(xié)議荆针。socket的出現(xiàn)只是使得程序員更方便地使用TCP/IP協(xié)議棧而已,是對TCP/IP協(xié)議的抽象
- http是應(yīng)用層協(xié)議颁糟,主要解決如何包裝數(shù)據(jù)航背。如果想要是傳輸?shù)臄?shù)據(jù)有意義,則必須使用應(yīng)用層協(xié)議棱貌。web使用http協(xié)議作為應(yīng)用層協(xié)議玖媚,以封裝http文本信息,然后使用TCP/IP做傳輸層協(xié)議將它發(fā)到網(wǎng)絡(luò)上婚脱。
4.什么是TCP連接的三次握手
-第一次握手:客戶端發(fā)送syn(syn=j)包到數(shù)據(jù)庫今魔,并進(jìn)入syn_send狀態(tài),等待服務(wù)器確定
- 第二次握手:服務(wù)器收到syn包障贸,必須確認(rèn)客戶的syn(syn=j+1)错森,同事自己也發(fā)送一個(gè)syn包(syn=k),此時(shí)服務(wù)器處于syn_recv狀態(tài)
- 第三次握手:客戶端收到服務(wù)器的syn包篮洁,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1)问词,此包發(fā)送完畢,客戶端和服務(wù)器進(jìn)入establish狀態(tài)嘀粱,完成三次握手。
5.在團(tuán)隊(duì)開發(fā)中svn發(fā)生沖突的解決方案
- (mc)mine-conflict辰狡,代表用我們的代碼替換服務(wù)器的代碼锋叨,本地的代碼只保留我們自己寫的
- (tc)theirs-conflict,代表用服務(wù)器代碼替換我們的代碼宛篇,本地的代碼只保留服務(wù)器的娃磺,會(huì)自動(dòng)刪除我們的
- (p)postpone 自己手動(dòng)解決。本地文件會(huì)同事保留服務(wù)器代碼和本地代碼