竹笋

首页 » 问答 » 常识 » Android开发工程师面试题入门笔试题
TUhjnbcbe - 2024/7/14 23:02:00

一、选择题

1,java.io包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分类,按功能分为:(c),如果为读取的内容进行处理后再输出,需要使用下列哪种流?(g)A、输入流和输出流B、字节流和字符流C、节点流和处理流D、FilestreamE、PipestreamF、RandomstreamG、Filterstream

2.下列代码的执行结果是:(b)publicclassTest3{publicstaticvoidmain(Stringargs[]){System.out.print(%3);System.out.print(“,”);System.out.println(%3.0);}}A、1,1B、1,1.0C、1.0,1D、1.0,1.0

3.在继承中,关于构造方法的说明,下列说法错误的是(d)A、子类无条件的继承父类的无参构造方法,
  B、子类可以引用父类中的有参构造方法,使用super关键字,
  C、如果子类没有构造方法,则父类无参构造方法作为自已的构造方法,
  D、如果子类有无参构造方法,而父类的无参构造方法则被覆盖。

4.以下程序的运行结果为(b)publicclassIfTest{publicstaticvoidmain(Stringargs[]){intx=3;inty=1;if(x==y)System.out.println(“Notequal”);elseSystem.out.println(“Equal”);}}A、NotequalB、EqualC、无输出D、编译出错

5.Java语言中字符串“学Java”所占的内存空间是(a)A.6个字节B.7个字节C.10个字节D.11个字节

6.关于下列程序段的输出结果,说法正确的是:(d)publicclassMyClass{staticinti;publicstaticvoidmain(Stringargv[]){System.out.println(i);}}A、有错误,变量i没有初始化。B、nullC、1D、0

7.下列哪些语句关于内存回收的说明是正确的?(b)A、程序员必须创建一个线程来释放内存B、内存回收程序负责释放无用内存C、内存回收程序允许程序员直接释放内存D、内存回收程序可以在指定的时间释放内存对象

8.下面异常是属于RuntimeException的是(abcd)(多选)A、ArithmeticExceptionB、IllegalArgumentExceptionC、NullPointerExceptionD、BufferUnderflowException

9.Math.round(11.5)等于多少().Math.round(-11.5)等于多少(c).cA、11,-11B、11,-12C、12,-11D、12,-12

10.下列程序段的输出结果是:(b)void
  char[]ch={‘a’,b’,c’};
  publicstaticvoidmain(Stringargs[]){
  
  Exampleex=newExample();
  
  ex.change(ex.str,ex.ch);
  
  System.out.print(ex.str+”and“);
  
  Sytem.out.print(ex.ch);
  }
  publicvoidchange(Stringstr,charch[]){
  
  str=”testok”;
  
  ch[0]=’g;
  }}三简答编程题(共35分)1.在android中,请简述jni的调用过程。(8分)1)安装和下载Cygwin,下载AndroidNDK2)在ndk项目中JNI接口的设计3)使用C/C++实现本地方法4)JNI生成动态链接库.so文件5)将动态链接库复制到java工程,在java工程中调用,运行java工程即可2.简述Android应用程序结构是哪些?(7分)Android应用程序结构是:LinuxKernel(Linux内核)、Libraries(系统运行库或者是c/c++核心库)、ApplicationFramework(开发框架包)、Applications(核心应用程序)3.请继承SQLiteOpenHelper实现:(10分)1).创建一个版本为1的“diaryOpenHelper.db”的数据库,2).同时创建一个“diary”表(包含一个_id主键并自增长,topic字符型长度,content字符型0长度)3).在数据库版本变化时请删除diary表,并重新创建出diary表。publicclassDBHelperextendsSQLiteOpenHelper{publicfinalstaticStringDATABASENAME=“diaryOpenHelper.db”;publicfinalstaticintDATABASEVERSION=1;//创建数据库publicDBHelper(Contextcontext,Stringname,CursorFactoryfactory,intversion){super(context,name,factory,version);}//创建表等机构性文件publicvoidonCreate(SQLiteDatabasedb){Stringsql=”createtablediary”+“(“+“_idintegerprimarykeyautoincrement,”+“topicvarchar(),”+“contentvarchar(0)”+“)”;db.execSQL(sql);}//若数据库版本有更新,则调用此方法publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){Stringsql=“droptableifexistsdiary”;db.execSQL(sql);this.onCreate(db);}}4.页面上现有ProgressBar控件progressBar,请用书写线程以10秒的的时间完成其进度显示工作。(10分)答案publicclassProgressBarStuextendsActivity{privateProgressBarprogressBar=null;protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.progressbar);//从这到下是关键progressBar=(ProgressBar)findViewById(R.id.progressBar);Threadthread=newThread(newRunnable(){

Overridepublicvoidrun(){intprogressBarMax=progressBar.getMax();try{while(progressBarMax!=progressBar.getProgress()){intstepProgress=progressBarMax/10;intcurrentprogress=progressBar.getProgress();progressBar.setProgress(currentprogress+stepProgress);Thread.sleep(0);}}catch(InterruptedExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}});thread.start();//关键结束}}

答案:二、填空题1.intchar2.FrameLayout,LilnearLayout,RelativeLayout,TableLayout3.Activity,Broadcast,Service,ContentProvide4.ObjectInputStreamObjectOutputSteam5.startService,bindService6.onRestart(),onResume(),onPause(),onStop()7.SharedPreferences存储,文件存储,SQLite存储,ContentProvider,网络存储8.startActivityResult()9.adnroidcreateacd-nmyAvd-t8-sHVDA–Cd:\card.img10.goodandgbc

1
查看完整版本: Android开发工程师面试题入门笔试题