99精品在线免费_久久99精品久久久久久久青青日本_精品亚洲成人_欧美国产一区二区在线观看_亚洲自拍电影_久久久久久久久久97

歡迎來到 職場詞典網 , 一個優秀的職場知識學習網站!

加入收藏

您所在的位置:首頁 > 面試指南 > 筆試

筆試

CVTE2015校園招聘 Android 開發筆試題目

分類: 筆試 職場詞典 編輯 : 職場知識 發布 : 05-31

閱讀 :707

  1. Java中abstract的用法

  abstract修飾類,會使這個類成為一個抽象類,這個類將不能生成對象實例,但可以做為對象變量聲明的類型,也就是編譯時類型,抽象類就像當于一類的半成品,需要子類繼承并覆蓋其中的抽象方法。abstract修飾方法,會使這個方法變成抽象方法,也就是只有聲明(定義)而沒有實現,實現部分以";"代替。需要子類繼承實現(覆蓋)。

  2. Java反射式如何實現的,有什么缺點?

  JAVA反射機制是在運行狀態中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象,都能夠調用它的任意一個方法和屬性;也就是具有動態獲取的信息以及動態調用對象的方法的功能。反射主要解決動態編程,即使用反射時,所有的對象生成是動態的,因此調用的方法也是動態的.反射可以簡化開發,但是代碼的可讀性很低。

  3. Android ANR異常及解決方法

  ANRs (“Application Not Responding”),意思是”應用沒有響應“。在如下情況下,Android會報出ANR錯誤:

  – 主線程 (“事件處理線程” / “UI線程”) 在5秒內沒有響應輸入事件

  – BroadcastReceiver 沒有在10秒內完成返回

  通常情況下,下面這些做法會導致ANR

  1)在主線程內進行網絡操作

  2)在主線程內進行一些緩慢的磁盤操作(例如執行沒有優化過的SQL查詢)

  應用應該在5秒或者10秒內響應,否則用戶會覺得“這個應用很垃圾”“爛”“慢”…等等

  解決方法:

  1)運行在主線程里的任何方法都盡可能少做事情。特別是,Activity應該在它的關鍵生命周期方法(如onCreate()和onResume())里盡可能少的去做創建操作。有時候需要做一些和網絡相互交互的耗時操作就采用asyntask異步任務的方式(它的底層其實Handler+mesage有所區別的是它是線程池)等,在主線程中更新UI。(可以采用重新開啟子線程的方式,然后使用Handler+Message的方式做一些操作,比如更新主線程中的ui等)

  2)應用程序應該避免在BroadcastReceiver里做耗時的操作或計算。但不再是在子線程里做這些任務(因為 BroadcastReceiver的生命周期短),替代的是,如果響應Intent廣播需要執行一個耗時的動作的話,應用程序應該啟動一個 Service。(此處需要注意的是可以在廣播接受者中啟動Service,但是卻不可以在Service中啟動broadcasereciver,關于原因后續會有介紹,此處不是本文重點)

  3)避免在Intent Receiver里啟動一個Activity,因為它會創建一個新的畫面,并從當前用戶正在運行的程序上搶奪焦點。如果你的應用程序在響應Intent廣 播時需要向用戶展示什么,你應該使用Notification Manager來實現。

  4. IP、TCP、UDP分別在OSI的那一層?及其作用。

  IP在網絡層:為計算機網絡相互連接進行通信而設計的協議,為位于不同地理位置的網絡中的兩個主機系統之間提供連接和路徑選擇。

  TCP、UDP:提供了節點間的數據傳送服務DP在傳輸層。

  5. 下面程序的輸出是什么?

  public class FinallyTest1 {

  static char label;

  public static void main(String[] args) {

  System.out.println(test1());

  System.out.println(label);

  }

  public static char test1() {

  try {

  System.out.println('A');

  return label = 'A';

  }

  finally {

  System.out.println('B');

  label = 'B';

  }

  }

  }

  輸出:

  A

  B

  A

  B

  6. 下面的空改填什么代碼?

  public static void main(String[] args) throws IOException {

  FileReader inputStream = null;

  FileWriter outputStream = null;

  try {

  inputStream = new FileReader("xanadu.txt");

  outputStream = new FileWriter("characteroutput.txt");

  int c;

  while ((c = inputStream.read()) != -1) {

  outputStream.write(c);

  }

  } finally {

  //在這里填代碼

  }

  }

  答案:

  if (inputStream != null) {

  inputStream.close();

  }

  if (outputStream != null) {

  outputStream.close();

  }

  7. 有M個臺階,一個人從地面開始,每次可以上一個或兩個,問上到第M個有多少種方法。

  思路:

  走第一臺階只有1種方法;

  走第二臺階有2種方法,(一步或兩步..);

  走第三臺階的時候就是分兩步了:可以從第一臺階直接到第三臺階,也可以是從第二臺階到第三臺階,所以有1+2=3種方法;

  走第四臺階也是分兩步:可以從第二臺階直接到第四臺階,也可以是從第三臺階到第四臺階,所以有3+2=5種方法;

  …………

  以此類推,走1-9臺階需要的步數就是:1,2,3,5,8,13,21,34,55(斐波那契數列:每項等于前兩項和)。

  8.給一個數M,則有自然數1~N前面加上符號運算得到M,求出最小的N并輸出,例如:M=12,-1+2+3+4+5+6-7=12 輸出7;

  思路:

  下面幾行代碼能找到一個最小的n,這個n使得1~n全部取+號時候正好大于等于M.注意得到的這個n是最小的

  n = (int)(( sqrt(8 * M) - 1 ) / 2); // <<== n(n+1)/2 >= M

  if( n * (n+1)/2 < M )

  n ++;

  然后計算和M之間的差,如果差為0顯然全部取正號已經滿足要求,如果不是0又分為奇數和偶數來區別對待.如果是偶數T,那么顯然把T/2前面的符號從+改為-就可以了.這個T/2一定是小于n的,也就是說在1~n之間能夠找到的。如果是奇數Y,那么顯然n還不對,那么可以繼續嘗試后面的n直到這個差為偶數為止.。

  9. 寫一個UML表示類、屬性、方法。

  這個要熟悉UML的類圖啦

下一篇:軟件測試筆試題目 下一篇 【方向鍵 ( → )下一篇】

上一篇:歡聚時代2015校招產品經理筆試經驗分享 上一篇 【方向鍵 ( ← )上一篇】

主站蜘蛛池模板: 日韩免费看片 | 日韩在线中文 | 日本韩国欧美在线观看 | 亚洲欧美一区二区三区视频 | 成人一区二区三区在线观看 | 人干人操| 日本亚洲精品成人欧美一区 | 日韩国产三区 | 国产精品久久久久久久久免费樱桃 | 日韩精品免费在线观看 | 二区av| 亚洲精品日韩一区二区电影 | 国产精品一区一区三区 | 中文无吗 | 麻豆a级片 | 自拍偷拍视频网 | 午夜精品久久久久久久久久久久 | 国产成人黄色 | 亚洲欧美在线一区 | 欧美成人一区二区三区 | 一区二区三区在线免费观看 | 成人一区二区在线 | 看a网站| www.99热这里只有精品 | 91成人在线视频 | 日韩免费中文字幕 | 色偷偷人人澡人人爽人人模 | 另类专区亚洲 | 中文字幕一区二区三区在线观看 | 国产成在线观看免费视频 | 国产精品第2页 | 日韩一级黄色毛片 | 成人av一区二区在线观看 | 国产一区二区精华 | 精品国产久 | 欧美13videosex性极品 | 亚洲精品1区 | 综合久久色 | 亚洲国产欧美在线 | 欧产日产国产精品v | 国产在线中文 |