天天看點

android面試題及答案

一、選擇題

1.java.io包中定義了多個流類型來實作輸入和輸出功能,可以從不同的角度對其進行分類,按功能分為:( ),

  如果為讀取的内容進行處理後再輸出,需要使用下列哪種流?( )

      A、輸入流和輸出流 B、位元組流和字元流  C、節點流和處理流

D、File stream E、Pipe stream F、Random stream G、Filter stream

2.下列代碼的執行結果是:()

        public class Test3{

         public static void main(Stringargs[]){

         System.out.print(100%3);

         System.out.print(",");

         System.out.println(100%3.0);

         }

        }

         A、1,1

         B、1,1.0

         C、1.0,1

         D、1.0,1.0

3.在繼承中,關于構造方法的說明,下列說法錯誤的是()

A、子類無條件的繼承父類的無參構造方法,

B、子類可以引用父類中的有參構造方法,使用super關鍵字,

C、如果子類沒有構造方法,則父類無參構造方法作為自已的構造方法,

D、如果子類有無參構造方法,而父類的無參構造方法則被覆寫。

4.以下程式的運作結果為( )

 public class IfTest{

 public static void main(String args[]){

    intx=3;

    inty=1;

    if(x==y)

      System.out.println("Notequal");

    else

      System.out.println("Equal");

    }

 }

A、Not equal    B、Equal   C、無輸出   D、編譯出錯

5.Java語言中字元串“學Java”所占的記憶體空間是()

      A. 6個位元組

      B. 7個位元組

      C. 10個位元組

D. 11個位元組

6.關于下列程式段的輸出結果,說法正确的是:()

     public class MyClass{

       static int i;

       public static void main(String argv[]){

         System.out.println(i);

       }

     }

     A、有錯誤,變量i沒有初始化。

     B、null

     C、1

D、0

7.下列哪些語句關于記憶體回收的說明是正确的? (   )

  A、程式員必須建立一個線程來釋放記憶體

  B、記憶體回收程式負責釋放無用記憶體

  C、記憶體回收程式允許程式員直接釋放記憶體

  D、記憶體回收程式可以在指定的時間釋放記憶體對象

8.下面異常是屬于Runtime Exception的是(  )(多選)

      A、ArithmeticException

      B、IllegalArgumentException

      C、NullPointerException

D、BufferUnderflowException

9.Math.round(11.5)等于多少(). Math.round(-11.5)等于多少().

A、11 ,-11  B、11 ,-12  C、12 ,-11  D、12 ,-12

10.下列程式段的輸出結果是:()

     void complicatedexpression_r(){

        int x=20, y=30;

        boolean b;

        b=x>50&&y>60||x>50&&y<-60||x<-50&&y>60||x<-50&&y<-60;

        System.out.println(b);

     }

     A、true B、false C、1  D、0

11.activity對一些資源以及狀态的操作儲存,最好是儲存在生命周期的哪個函數中進行(  )

   A、onPause() B、onCreate()  C、 onResume()  D、onStart()

12.Intent傳遞資料時,下列的資料類型哪些可以被傳遞( )(多選)

A、Serializable B、charsequence C、Parcelable D、Bundle

13.android中下列屬于Intent的作用的是( )

  A、實作應用程式間的資料共享

  B、是一段長的生命周期,沒有使用者界面的程式,可以保持應用在背景運作,而不會因為切換頁面而消失

  C、可以實作界面間的切換,可以包含動作和動作資料,連接配接四大元件的紐帶

 D、處理一個應用程式整體性的工作                       

14.下列屬于SAX解析xml檔案的優點的是( )

      A、将整個文檔樹在記憶體中,便于操作,支援删除,修改,重新排列等多種功能

      B、不用事先調入整個文檔,占用資源少

      C、整個文檔調入記憶體,浪費時間和空間

D、不是長久駐留在記憶體,資料不是持久的,事件過後,若沒有儲存資料,資料就會消失

 15.下面的對自定style的方式正确的是()

    A、 <resources>

          <style name="myStyle">

             <itemname="android:layout_width">fill_parent</item>

         </style>

       </resources>

     B、 <style name="myStyle">

                <item name="android:layout_width">fill_parent</item>

          </style>

     C、 <resources>

               <itemname="android:layout_width">fill_parent</item>

         </resources>

     D、 <resources>

           <stylename="android:layout_width">fill_parent</style>

         </resources>

   16.在android中使用Menu時可能需要重寫的方法有( )。(多選)

      A、onCreateOptionsMenu()

     B、onCreateMenu()

      C、onOptionsItemSelected()

D、onItemSelected()

   17.在SQL Server Management Studio中運作下列T-SQL語句,其輸出值()。

      SELECT @@IDENTITY

     A、      可能為0.1

     B、      可能為3

     C、      不可能為-100

D、      肯定為0

   18.在SQL Server 2005中運作如下T-SQL語句,假定SALES表中有多行資料,執行查詢之後的結果是()。

       BEGINTRANSACTION A

       Update SALES Set qty=30 WHERE qty<30

        BEGIN TRANSACTION B

              Update SALES Set qty=40 WHEREqty<40

              Update SALES Set qty=50 WHEREqty<50

              Update SALES Set qty=60 WHEREqty<60

        COMMITTRANSACTION B

        COMMIT TRANSACTION A

          A、SALES表中qty列最小值大于等于30

          B、SALES表中qty列最小值大于等于40

          C、SALES表中qty列的資料全部為50

          D、SALES表中qty列最小值大于等于60

   19.在android中使用SQLiteOpenHelper這個輔助類時,可以生成一個資料庫,并可以對資料庫版本進行管理的方法可以是( )

     A、getWriteableDatabase()

     B、getReadableDatabase()       

     C、getDatabase()

D、getAbleDatabase()

   20.android關于service生命周期的onCreate()和onStart()說法正确的是( )(多選題)

     A、當第一次啟動的時候先後調用onCreate()和onStart()方法

     B、當第一次啟動的時候隻會調用onCreate()方法

     C、如果service已經啟動,将先後調用onCreate()和onStart()方法

D、如果service已經啟動,隻會執行onStart()方法,不在執行onCreate()方法

   21.下面是屬于GLSurFaceView特性的是( )(多選)

          A、管理一個surface,這個surface就是一塊特殊的記憶體,能直接排版到android的視圖view上。

          B、管理一個EGL display,它能讓opengl把内容渲染到上述的surface上。

          C、讓渲染器在獨立的線程裡運作,和UI線程分離。

          D、可以直接從記憶體或者DMA等硬體接口取得圖像資料

   22.下面在AndroidManifest.xml檔案中注冊BroadcastReceiver方式正确的是()

       A、<receiverandroid:name="NewBroad">

                <intent-filter>

                <action 

                  android:name="android.provider.action.NewBroad"/>

                <action>

                </intent-filter>

                  </receiver>

     B、<receiverandroid:name="NewBroad">

           <intent-filter>

                   android:name="android.provider.action.NewBroad"/>

           </intent-filter>

       </receiver>

     C、<receiverandroid:name="NewBroad">

           <action 

                 android:name="android.provider.action.NewBroad"/>

             <action>

       </receiver>

     D、<intent-filter>

         <receiverandroid:name="NewBroad">

               <action>

                  android:name="android.provider.action.NewBroad"/>

               <action>

         </receiver>

 </intent-filter>

    23.關于ContenValues類說法正确的是( )

      A、他和Hashtable比較類似,也是負責存儲一些名值對,但是他存儲的名值對當中的

         名是String類型,而值都是基本類型

      B、他和Hashtable比較類似,也是負責存儲一些名值對,但是他存儲的名值對當中的

         名是任意類型,而值都是基本類型

      C、他和Hashtable比較類似,也是負責存儲一些名值對,但是他存儲的名值對當中的

         名,可以為空,而值都是String類型    

      D、他和Hashtable比較類似,也是負責存儲一些名值對,但是他存儲的名值對當中

         的名是String類型,而值也是String類型

   24.我們都知道Hanlder是線程與Activity通信的橋梁,如果線程處理不當,你的機器

      就會變得越慢,那麼線程銷毀的方法是( )

       A、onDestroy()

       B、onClear()

       C、onFinish()

D、onStop()

    25.下面退出Activity錯誤的方法是()

       A、finish()

          B、抛異常強制退出

       C、System.exit()

D、onStop()

     26.下面屬于android的動畫分類的有( )(多項)

A、Tween B、Frame C、Draw D、Animation

     27.下面關于Android dvm的程序和Linux的程序,應用程式的程序說法正确的是( )

        A、DVM指dalivk的虛拟機.每一個Android應用程式都在它自己的程序中運作,不一定擁有一個獨立

           的Dalvik虛拟機執行個體.而每一個DVM都是在Linux中的一個程序,是以說可以認為是同一個概念.

        B、DVM指dalivk的虛拟機.每一個Android應用程式都在它自己的程序中運作,不一定擁有一個獨立

           的Dalvik虛拟機執行個體.而每一個DVM不一定都是在Linux中的一個程序,是以說不是一個概念.

        C、DVM指dalivk的虛拟機.每一個Android應用程式都在它自己的程序中運作,都擁有一個獨立的      

           Dalvik虛拟機執行個體.而每一個DVM不一定都是在Linux中的一個程序,是以說不是一個概念.

        D、DVM指dalivk的虛拟機.每一個Android應用程式都在它自己的程序中運作,都擁有一個獨立的     

           Dalvik虛拟機執行個體.而每一個DVM都是在Linux中的一個程序,是以說可以認為是同一個概念.

      28.Android項目工程下面的assets目錄的作用是什麼

           A、放置應用到的圖檔資源。

         B、主要放置多媒體等資料檔案

         C、放置字元串,顔色,數組等常量資料

         D、放置一些與UI相應的布局檔案,都是xml檔案

      29.關于res/raw目錄說法正确的是( )

A、這裡的檔案是原封不動的存儲到裝置上不會轉換為二進制的格式

B、這裡的檔案是原封不動的存儲到裝置上會轉換為二進制的格式  

C、這裡的檔案最終以二進制的格式存儲到指定的包中

D、這裡的檔案最終不會以二進制的格式存儲到指定的包中

      30.下列對android NDK的了解正确的是( )

A、 NDK是一系列工具的集合

B、 NDK提供了一份穩定、功能有限的 API頭檔案聲明。

C、使“Java+C”的開發方式終于轉正,成為官方支援的開發方式

D、 NDK将是 Android 平台支援 C 開發的開

二.填空題

    1.我們用_______來定義一個整數,用_______來定義一個字元類型,稱為原始資料類型。

  2.android中常用的四個布局是__________,__________,__________和__________。

    3.android的四大元件是__________,__________,__________和__________。

    4.java.io包中的____________和____________類主要用于對對象(Object)的讀寫。

    5.android中service的實作方法是:_____________和_____________。

6.activity一般會重載7個方法用來維護其生命周期,

  除了onCreate(),onStart(),onDestory(外還有_____________,______________,____________,___________。

    7.android的資料存儲的方式_________,___________,__________,_________,________。

    8.當啟動一個Activity并且新的Activity執行完後需要傳回到啟動它的Activity來執行的回調函數是_________________。

    9.請使用指令行的方式建立一個名字為myAvd,sdk版本為2.2,sd卡是在d盤的根目錄下,

       名字為scard.img,并指定螢幕大小HVGA.____________________________________。

   10.程式運作的結果是:_______________。

    public class Example{

String str=new String("good");

char[]ch={'a','b','c'};

public static void main(String args[]){

Example ex=new Example();

ex.change(ex.str,ex.ch);

System.out.print(ex.str+" and ");

Sytem.out.print(ex.ch);

}

public void change(String str,char ch[]){

str="test ok";

ch[0]='g';

}

  }

三.問答題

1.如何定位和解決Andorid的記憶體溢出問題

2.用Java實作一個Singleton模式

3.APK之間如何互相傳遞資料

4.線程建立有幾種方式,線程同步的幾種方式及實作

5.Java實作冒泡排序算分實作

一、選擇題答案

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CG B D B A D B ABCD C B D ABCD C B A
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
AC C D AB AD ABC A A A C AB D B A ABCD

二、填空題答案

 1. int char

 2.FrameLayout,LilnearLayout,RelativeLayout,TableLayout

 3.Activity,Broadcast,Service,ContentProvide

 4.ObjectInputStream ObjectOutputSteam

 5.startService ,bindService

 6.onRestart(),onResume(),onPause(),onStop()

 7.SharedPreferences存儲,檔案存儲,SQLite存儲,ContentProvider,網絡存儲

 8.startActivityResult()

 9.adnroid create acd -n myAvd -t 8 -s HVDA - Cd:\card.img

 10.good and gbc

繼續閱讀