面試題 客戶端的安全性與框架處理

2022-05-10 13:16:57 字數 2500 閱讀 5247

1.客戶端安全處理方式

1>   網路資料傳輸(敏感資料[賬號\密碼\消費資料\銀行卡賬號], 不能明文傳送)

2>   協議的問題(自定義協議, 遊戲代練)

3>   本地檔案儲存(遊戲的存檔)

4>   源**

2.sip 是什麼

1>  sip(session initiation protocol),會話發起協議

2>  sip是建立voip連線的 ietf 標準,ietf是全球網際網路最具權威的技術標準化組織

3>  所謂voip,就是網路**,直接用網際網路打**,不用耗手機話費

3.     有些載入的比較慢怎麼處理?你是怎麼優化程式的效能的?

4.   你實現過乙個框架或者庫以供別人使用麼?如果有,請談一談構建框架或者庫時候的經驗;如果沒有,請設想和設計框架的public的api,並指出大概需要如何做、需要注意一些什麼方面,來使別人容易地使用你的框架。

1>   提供給外界的介面功能是否實用、夠用

2>   別人使用我的框架時,能不能根據類名、方法名就猜出介面的具體作用

3>   別人呼叫介面時,提供的引數是否夠用、呼叫起來是否簡單

4>   別人使用我的框架時,要不要再匯入依賴其他的框架

1>   設定請求超時

2>   給使用者提示請求超時

3>   根據使用者操作再次請求資料

6.   利用nsnotificationcenter(通知中心)實現跨多控制器傳輸資料和訊息中用同步還是非同步?

同步:主線程;非同步:可以執行比較耗時的操作

7.  如何編寫xml(怎麼解析、怎麼生成)

生成:(直接方法:拼接)

1 -(void)viewdidload

2

8.地圖導航不能用了怎麼辦

提示使用者開啟導航定位功能

9.sdwebimage具體如何實現

2>   利用url作為key,nsoperation作為value

3>   利用url作為key,uiimage作為value

10.afn 與 asi 有什麼區別(都是 http 請求框架)(asi停止更新)

1>  afn基於nsurl,asi基於底層的cfnetwork框架,因此asi的效能優於afn

2>  afn採取block的方式處理請求,asi最初採取delegate的方式處理請求,後面也增加了block的方式

3>  afn只封裝了一些常用功能,滿足基本需求,直接忽略了很多擴充套件功能,比如沒有封裝同步請求;asi提供的功能較多,預留了各種介面和工具供開發者自行擴充套件

4>  afn直接解析伺服器返回的json、xml等資料,而asi比較原始,返回的是nsdata二進位制資料

11.你在實際開發中,有哪些手機架構與效能除錯經驗

1>   剛接手公司的舊專案時,模組特別多,而且幾乎所有的**都寫在控制器裡面,比如ui控制項**、網路請求**、資料儲存**

2>   接下來採取mvc模式進行封裝、重構

l  自定義ui控制項封裝內部的業務邏輯

l  封裝網路請求工具類

l  封裝資料儲存工具類

12. runloop定時源和輸入源

1>   你建立的程式不需要顯示的建立run loop;每個執行緒,包括程式的主線程(main thread)都有與之相應的run loop物件, 主線程會自行建立並執行run loop

3>   輸入源傳遞非同步訊息,通常來自於其他執行緒或者程式。定時源則傳遞同步訊息,在特定時間或者一定的時間間隔發生

13. 你們專案中都用了哪些框架, 及何種開發工具,具體到是哪個版本,這個版本的特性有哪些???(比如xcode的版本)

1>  afn、sdwebimage、mbprogresshud等 (搜尋: 網易新聞 第三方庫)

2>  xcode 5.0

14. 自己怎麼實現原子鎖

ios中一般用nonaotomic

15. 執行時的內部實現

16. 即時通訊中的大資料處理

17. json解析的具體實現

1>  sbjson

2>  jsonkit

3>  nsjsonserialization

18. 如果在網路資料處理過程中,發現一處比較卡,一般怎麼解決

1>   檢查網路請求操作是否被放在主線程了

2>   看看非同步請求的數量是否太多了(子執行緒數量)

3>   資料量是否太大?如果太大,先清除一些不必要的物件(看不見的資料、)

4>   手機cpu使用率和記憶體問題

19. 怎麼介紹乙個專案

1>   專案的價值(可以加些「老闆」關鍵字)

2>   專案的模組

3>   我做的是哪個模組

20. 怎麼解決sqlite鎖定的問題

1>  設定資料庫鎖定的處理函式

int sqlite3_busy_handler(sqlite3*, int(*)(void*,int), void*);

2>  設定鎖定時的等待時間

int sqlite3_busy_timeout(sqlite3*, 60); :

客戶端安全性測試,你贊同以下內容嗎

安全性指的是確保系統資訊保安的特性。安全性測試最基本的思路就是模擬系統可能遇到的各種攻擊,來確認系統是否存在安全漏洞。由於攻擊者沒有闖入的標準方法,因而也沒有實施安全性測試的標準方法。另外,安全性的範圍也是非常寬泛的,不同的系統對於安全性的定義和要求也不一樣,目前幾乎沒有可用的工具來徹底測試各個安全...

網路中資料如何保證資料的安全性? 面試題

在當今網路的時代中,到底是如何保證資料傳輸的安全的呢?下面在原理上來闡述實現過程。一 安全標準 網路資訊保安標準由美國國家標準與技術研究院 national institute of standards and technology,nist 制定的,標準有 二 密碼演算法型別 1 對稱加密 對稱加...

大端與小端的原因 面試題

本文屬於猜想 在計算機界最先出現的是大端,權值最大的位放在前面,這與人的正常思維一致,但是在型別轉型 如int 轉換成short int 或char 時比較麻煩,後來一些聰明的工程師發現採用小端模式可以非常完美的解決這一問題,轉換時不需要計算轉換後的位址偏移,直接拿之前的位址讀取指定的位元組數就可以...