學生面試被問到的問題總結

1. 網絡傳輸數據如何加密,比如賬戶密碼,視頻?
 
可以這麼回答:
    進行安全保證的方式有很多種,如果進行簡單的加密可以使用MD5或者DES,但是這些都是相對的,
    如果在開發安全性較高的應用時,可以考慮模仿HTTP協議那樣,自定義一個協議,
    然後封裝一下,在協議裏使用時間戳+算法加密技術提高安全係數.


    Android網絡傳輸中必用的兩個加密算法:MD5 和 RSA
    答案參考:http://blog.csdn.net/yanzi1225627/article/details/26508035

      

 


--------------------》2. 支付功能如何實現?

   回答:
    目前主流的支付有三大,微信支付,支付寶支付,第三方銀聯支付。


   如果是我,我的回答是,我做android的目前只是用到第三方開放平臺來實現接入這些支付功能,
   但是我不知道這些第三方支付功能具體怎麼實現的,這個我真不知道,沒研究。

   如果是接入第三方支付功能的話就比較簡單了:參考文章http://blog.163.com/benben_long/blog/static/19945824320142279427395/

  支付寶集成:
    注意事項
    1.添加android.permission.INTERNET權限和android.permission.ACCESS_NETWORK_STATE權限
    2.代碼中出現註釋的地方重點看,沒註釋的地方可以不看
    3.想獲取支付寶合作商戶ID,及支付寶公鑰請點擊支付寶鏈接,生成密鑰及PKCS8轉碼工具在文檔中

  微信支付集成注意:參考:http://blog.csdn.net/jdsjlzx/article/details/47422279

        1.在你的項目測試微信的組件(分享、支付等)的時候,一定要用你自己的keystore簽名出來測試,
          如果用debug.keystore肯定是不成功的,
   
        2.支付成功通知:在WXPayEntryActivity的OnResp中處理,不能以微信返回的通知界面爲準
         (我遇到的情況,網絡不穩定的時候,微信返回界面提示支付失敗,但是收到微信通知其實已經支付成功了),
          必須要去自己的服務器查詢支付狀態,這裏微信建議用輪循機制去查詢
@Override
    public void onResp(BaseResp resp) {
        Log.d(TAG, "onPayFinish, errCode = " + resp.errCode);

        if (resp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle(R.string.app_tip);
            builder.setMessage(getString(R.string.pay_result_callback_msg, resp.errStr +";code=" + String.valueOf(resp.errCode)));
            builder.show();
        }
    }


   


———————————》3. 在開發中你都遇到了哪些難題,如何解決的?

------------------》如何降低apk包的大小,

apk大小,跟你工程文件大小有直接關係,其中關係最爲密切的還是你的圖片多少,圖片上能用.9處理的圖片儘量用。
如果你一個apk需要適配多種手機,那麼你最好只搞一套圖片,另外圖片的大小也應該做適當壓縮,
保證圖片顯示質量的前提下,儘量優化圖片的存儲空間 。
 

 1 刪除項目中沒有到的文件,包括資源文件,java代碼等等
 2 避免jar包的重複引用
 3 可以考慮壓縮一下圖片,前提是儘量保持圖片別失真。

 

 

------------------》4.android 適配

  適配也是一個頭疼的事,去年年底我們就開始正對720爲主流做適配了,詳細適配 百度
  還有有的面試官會問你,你們設計師出的圖時根據ios的出還是android的出圖
  有幾種回答,
 (1)直接根據android的出圖直接做一套720*1280
 (2)根據ios出圖
    衆所周知iOS設計的像素尺寸是640*960/1136,Android主流的hdpi模式下的像素尺寸是480*800。如圖,
   他們的換算關係是,iOS像素尺寸的75%是Android的像素尺寸

    大概算法,大家可以看看:
  其實經過以上整個過程之後,我們已經得出了一個更簡單的換算關係:iOS像素尺寸*75%=Android像素尺寸,
    Android像素尺寸*2/3=Android的dp尺寸。進而得出:iOS像素尺寸*75%*2/3=Android的dp尺寸。
    所以,iOS裏一個寬600px的東西,在Android的hdpi模式下,正好300dp,正好是50%,很容易算是吧?

 簡單說一下:
一、關於佈局適配

1、不要使用絕對佈局

2、儘量使用match_parent 而不是fill_parent 。

3、能夠使用權重的地方儘量使用權重(android:layout_weight)

4、如果是純色背景,儘量使用android的shape 自定義。

5、如果需要在特定分辨率下適配,可以在res目錄上新建layout-HxW.xml的文件夾。比如要適配1080*1800的屏幕

(魅族MX3採用此分辨率)則新建layout-1800x1080.xml的文件夾,然後在下面定義佈局。Android系統會優先查找分

辨率相同的佈局,如果不存在則換使用默認的layout下的佈局。

 
 


 
-----------------》5.一個apk如何快速方便的打多個不同包名的產品(多渠道多產品推廣)

   我們市場在推廣apk的時候有時候需要根據渠道打不同包名的apk並且這些打出來的apk風格和內容展示以及文字展現略有不同。
   我們現在的做法是,把主工程項目當做libs形式關聯到想要打包的工程,這樣打不同包名的時候就方便,直接創建一個工程,
   把主工程關聯,然後可以在新創建的工程裏面略修改一些比如title風格,首頁面進入風格
  (因爲首頁我們做了好幾套可以根據類型來判斷你走的是哪一個風格),就是一個新的apk出現了。

 

 

------------------------》 6.如何在webview中實現點擊事件的監聽處理?

參答案參考文章: http://blog.csdn.net/zzf112/article/details/19618101

發佈了144 篇原創文章 · 獲贊 18 · 訪問量 74萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章