文档库 最新最全的文档下载
当前位置:文档库 › 华清远见andriod 考试题及其答案

华清远见andriod 考试题及其答案

华清远见andriod 考试题及其答案
华清远见andriod 考试题及其答案

Android阶段考试A卷

一、选择题:(每题2分)

1. 在android中使用Menu时可能需要重写的方法有(AC)。(多选)

A、onCreateOptionsMenu()

B、onCreateMenu()

C、onOptionsItemSelected()

D、onItemSelected()

2、在android 中,ArrayAdapter类是用于(A )

A、用于把数据绑定到组件上

B、它能把数据显示到Activity 上

C、它能把数据传递给广播

D、它能把数据传递给服务

3. 下列关于SharedPreferences描述错误的一项是(A )

A、SharedPreferences只可以存储配置信息、用户设置参数或其他的一些简短的基本数据类型的信息。

B、SharedPreferences(用户偏好)类提供了一个以键值对的形式保存并取回持久数据的通用框架。

C、SharedPreferences比较于其他的方式,它的读写过程最直接,也最方便。

D、SharedPreferences存储的是基本数据类型的数据,所以常用来存储应用的配置信息、用户设置参数等数据量不大的数据。

4.下列关于AsyncTask说法不正确的一项是(C )

A、编写好AsyncTask的子类后,在UI线程需要执行耗时操作时,调用这个子类的对象

的execute()方法即可。

B、Android提供了一个叫做AsyncTask的类,专门用于完成非UI线程更新UI的任务,

这也是实现这一过程最理想的方式。

C、AsyncTask需要手动将耗时操作放在一个非UI线程中进行,并把结果交给UI线程

来更新UI。

D、AsyncTask是一个抽象类,在使用它时,需要首先子类化AsyncTask,并重写它的回

调方法doInBackground(),该方法运行在一个后台线程池中,可以处理耗时操作。

5.上下文菜单与其他菜单不同的是(B )

A、上下文菜单项上的单击事件可以使用onMenuItemSelected方法来响应

B、上下文菜单必须注册到指定的view上才能显示

C、上下文菜单的菜单项可以添加,可以删除

D、上下文菜单的菜单项可以有子项

6. android 中下列属于Intent的作用的是( C)。

A、实现应用程序间的数据共享

B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失

C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带

D、处理一个应用程序整体性的工作

7.下列关于ListView使用的描述中,不正确的是?(B )

A、要使用ListView,必须为该ListView使用Adpater方式传递数据

B、要使用ListView,该布局文件对应的Activity必须继承ListActivity

C、ListView中每一项的视图布局既可以使用内置的布局,也可以使用自定义的布局方式

D、ListView中每一项被选中时,将会触发ListView对象的ItemClick事件

8、android 是如何组织Activity的?(A )

A、以栈的方式组式Activity

B、以队列的方式组织Activity

C、以树形方式组织Activity

D、以链式方式组织Activity

9.在使用 SQLiteOpenHelper 这个类时,它的哪一个方法是用来实现版本升级之用的?选择一项( D)

A、onCreate()

B、onCreade()

C、onUpdate()

D、onUpgrade()

10、下列关于广播接收器BroadcastReceiver的说法,不正确的是?(C )

A、任何Activity和Service都可以发送广播

B、只要IntentFilter匹配,任何Android应用程序都可以接收到发送的广播

C、动态注册的广播接收器如果不再使用,可以手动注销接收器,也可以在Android 程序退出时也自动注销

D、如果在广播接收器中想处理耗时的操作,必须启动一个Service来完成耗时操作

11. android 关于service生命周期的onCreate()和onStart()说法正确的是( BD)(多选)

A、如果service已经启动,将先后调用onCreate()和onStart()方法

B、当第一次启动的时候先后调用onCreate()和onStart()方法

C、当第一次启动的时候只会调用onCreate()方法

D、如果service已经启动,只会执行onStart()方法,不再执行onCreate()方法

12.下面关于SQLite数据库说法有误的一项是(A )

A、SQLite不允许忽略数据类型,所以建议在Create Table语句中指定数据类型,因

为指定数据类型会利于程序员之间的交流,且方便更换数据库引擎。

B、SQLite的关系数据类型有字符串数据、数字数据、时间数据和大型对象。

C、SQLite中,每个数据表都必须有一个主键,叫做PRIMARY KEY,它是一个表中元素

的唯一标示,一个表只能有一个主键。

D、候选键是除了主键之外的元素的标识,可以有多个,在数据库表中,主键和候选键

都很重要,所以需要在定义表时指定哪个字段是主键,哪些字段是候选键。

13.下面关于Handler说法错误的一项是( C)

A、每一个Handler的实例都与一个独立的线程及其消息队列相关联。

B、当一个新的Handler对象被创建,它就会被绑定到创建它的线程的消息队列之上,

从这一刻开始,这个Handler对象便会将Message和Runnable对象发送给它所绑定的消息队列,并且在这些对象离开队列后,处理他们。

C、Handler对象只可以处理与一个线程的消息队列相关联的Message和Runnable对象。

D、Handler可以将Message或Runnable对象发送给其他线程。

14.使用MediaPlayer播放保存在sdcard上的mp3文件时(C )

A、需要使用MediaPlayer.create方法创建MediaPlayer

B、直接newMediaPlayer即可

C、需要调用setDataSource方法设置文件源

D、直接调用start方法,无需设置文件源

15.MediaPlayer播放资源前,需要调用哪个方法完成准备工作( B)

A、setDataSource

B、prepare

C、begin

D、pause

16.下列不属于service生命周期的方法是(C )

A、onCreate

B、onDestroy

C、onStop

D、onStart

17.对于XML布局文件中的视图控件,layout_width属性的属性值不可以是什么?(D )

A、match_parent

B、fill_parent

C、wrap_content

D、match_content

18.关于广播的作用,正确的说法是(C )

A、它是用接收系统发布的一些消息的

B、它可以帮助service修改用户界面

C、它可以启动一个 Service

D、它不可以启动一个Activity

19、About the control of the following statements is wrong?(D )

A、The Button is common Button component, in addition there are other Button component

B、TextView is display text components, TextView is EditText parent class

C、EditText is to edit the text of the component, you can use the EditText input specific character

D、ImageView is a component of the image, you can not set according to local image

20、一个装满东西的袋子,第一个人从袋子里摸出三个东西,全部都是红色的木球。第二个人从袋子里摸出三个东西,全部是红色的玻璃球。第三个人从袋子里摸出三个东西,全部是红色的石球。对于袋子里剩下的东西,他们没有继续往下摸。对袋子里的东西,下列哪项说法比较切合实际?( D )

A.袋子里的东西全部都是红色的球。

B.袋子里的东西全部都是球。

C.袋子里的东西可能都是球。

D.袋子里的东西可能都是红色的球。

二、简答题(每题15分)

1.Android的四大组件都有什么?简要介绍一下。

答案:分别表示Activity,Service,ContentProvider,BroadCastReceiver。

Activity通常展现为一个可视化的用户界面,是Android程序与用户交互的窗口,一个Activity 占据当前的窗口,响应所有窗口事件,具备有控件,菜单等界面元素。从内部逻辑来看,Activity需要为了保持各个界面状态,需要做很多持久化的事情,还需要妥善管理生命周期,和一些转跳逻辑。

Service服务是运行在后台的一个组件,封装有一个完整的功能逻辑实现,接受上层指令,完成相关的事件,定义好需要接受的Intent提供同步和异步的接口。Android中得服务其实与windows中得服务类似,它执行长时间运行的操作,或运程进程执行工作。服务不提供用户界面,例如在后台下载东西,播放音乐,在你播放音乐的同时还可以干其他事情,而不会阻塞用于与其他活动的交互。另一个组件,比如Activity可以启动一个服务,并运行或者绑定到它。

Broadcast Receiver

广播接收者,不执行任何任务,广播是一种广泛运用的在应用程序之间传输信息的机制。而 BroadcastReceiver 是对发送出来的广播进行过滤接收并响应的一类组件。Broadcast Receiver 不包含任何用户界面。然而它们可以启动一个Activity以响应接受到的信息,或者通过NotificationManager通知用户。

Content Provider

即内容提供者,作为应用程序之间唯一的共享数据的途径,Content Provider 主要的功能就是存储并检索数据以及向其他应用程序提供访问数据的接口。为了使其他程序能够操作数据,在Android中,可以通过做成ContentProvider提供数据操作的接口。其实对应用而言,也可以将底层数据封装成ContentProvider,这样可以有效的屏蔽底层操作的细节,并且使程序保持良好的扩展性和开放性。

2.问题:Android中常用的适配器都有哪些?这些适配器都是怎样进行数据适配的?

适配器是用于将数据按照需求显示在页面View上进行显示的组件。

ArrayAdapter:主要用在简单的字符串显示上。使用的数据源一般是字符串数组,List,string-array等等。

simpleAdapter:可以适用于多控件的匹配显示。使用的数据源是List>数据类型。匹配的方式是将数据源中的数据按照需求取出并显示。

SimpleCursorAdapter:可以适配数据库中查询的数据,数据源是Cursor对象。在匹配显示在AdapterView中时,需要注意_ID的特点。

自定义Adapter:可以使用在多控件的匹配显示上,在开发中经常使用,一般继承自BaseAdapter重写里面的抽象方法。所以在数据源的选择上就相对于其他三种较宽泛。可以按照需求自定义。

3.问题:简要介绍下android在处理线程时用到的Handler,Message和Looper的理解。Looper

Adnroid系统中的Looper负责管理线程的MessageQueue.除了主线程外,创建的线程默认是没有Looper和MessageQueue,创建一个Looper会同时创建一个MessageQueue,可以使用Looper.prepare()创建MessageQueue,Looper.loop()进入消息循环,Looper.release()释放资源. Message

消息对象,MessageQueue里存放的对象,可以调用removeMessages()时,将Message从Message Queue中删除和通过Handler对象的obtainMessage()获取一个Message实例,可以在线程中使用Handler对象的sendEmptyMessage()或者sendMessage()来传递Bundle对象到Handler,对Handler类提供handlerMessage(Message msg)判断,通过msg.what来区分每一条信息

Handler

Handler的作用是把消息加入特定的Looper消息队列中,并分发和处理该消息队列中的消息.如另一个线程怎样把消息放入主(UI)线程的消息队列,可以通过Handler对象,通过调用Handler主线程的sendMessage接口,把消息队列放入主线程的消息队列,并在该Handler的handleMessage()来处理消息

消息的处理者,handler负责将需要传递的信息封装成Message,通过调用handler对象的obtainMessage()来实现;将消息传递给Looper,这是通过handler对象的sendMessage()来实现的。继而由Looper将Message放入MessageQueue中。当Looper对象看到MessageQueue中含有Message,就将其广播出去。该handler对象收到该消息后,调用相应的handler对象的handleMessage()方法对其进行处理。

4.问题:简要介绍下SQLite数据库的特点。实现简单的增删改查sqr语句。

例如数据库farsight.db中创建Student表,表中包含包含一个_id主键并自增长,name可变字符类型30长度,stuNO可变字符型50长度且唯一,age 整型默认大小,address字段字符类型100可变长度。

插入两条学生数据,姓名分别为张三,李四,年龄都是22,地址为北京市海淀区西三旗悦秀路明园大学,学号是1001,1002

删除stuNO为1002的学生数据。

修改stuNO为1001的学生地址为明园大学华清远见。

查询当前stuNO为1001的学生地址和年龄。

答案:

SQLite数据库相对于其他数据库而言较小,是一款轻型的嵌入式关系型的数据库,可以减少程序管理数据的开销,可移植性好,易使用,高效可靠,不需要网络配置,SQLite 数据库的权限只依赖于文件系统,没有用户帐户的概念,保存的数据是无类型的但是建议在创建表时指定数据类型便于更换数据库引擎及程序员间的交流。

创建语句:

Create table student(_id integer primary key autoincrement,namevarchar(30),stuNOvarchar(50) unique,ageinteger,addressvarchar(100));

插入数据:

Insert into student(name,age,stuNO,address) values(‘张三’,22,‘1001’,‘北京市海淀区西三旗悦秀路明园大学’);

Insert into student(name,age,stuNO,address) values(‘李四’,22,‘1002’,‘北京市海淀区西三旗悦秀路明园大学’);

删除语句:

Delete from student where stuNO = ‘1002’;

修改语句:

Update student set address = ‘明园大学华清远见’where stoNO = ‘1001’;

查找语句:

Select address,age from student where stuNO = ‘1001’;

福建农林大学安卓Android期末考试复习试卷(仅供参考)

一、选择题(20分,每小题2分) 1、下列不是手机操作系统的是( D )。 A Android B Window Mobile C Apple IPhone IOS D Windows Vista 2、下列选项哪个不是Activity启动的方法(B ) A startActivity B goToActivity C startActivityForResult D startActivityFromChild 3、下列哪个不是Activity的生命周期方法之一(B ) A onCreate B startActivity C onStart D onResume 4、下列哪个可做Android数据存储(A ) A SQlite B M ySql C Oracle D DB2 5、下列哪个可做EditText编辑框的提示信息( D ) A android:inputType B android:text C android:digits D android:hint 6、Math.ceil(99.1) 的结果是(B ) A 99 B 100 C 99.1 D 99.0 7、android 中下列属于Intent的作用的是(C) A 实现应用程序间的数据共享 B 是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为 切换页面而消失 C 可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带 D 处理一个应用程序整体性的工作 8、关于res/raw目录说法正确的是A A 这里的文件是原封不动的存储到设备上不会转换为二进制的格式 B 这里的文件是原封不动的存储到设备上会转换为二进制的格式 C 这里的文件最终以二进制的格式存储到指定的包中 D 这里的文件最终不会以二进制的格式存储到指定的包中 9、Math.round(11.5)等于多少(). Math.round(-11.5)等于多少( C) A 11 ,-11 B 11 ,-12 C 12 ,-11 D 12 ,-12 10、我们都知道Hanlder是线程与Activity通信的桥梁,如果线程处理不当,你的机器就会变得越慢,那么线程销毁的方法是(A ) A onDestroy() B onClear() C onFinish() D onStop() 二、填空题(10分,共10题,每空1分) 1、为了使android适应不同分辨率机型,布局时字体单位应用(sp ),像素 单位应用(sp )和(dip ) 2、定义LinearLayout水平方向布局时至少设置的三个属性:(android:orientation),(android:layout width)和(android:layout height) 3、layout布局文件的命名不能出现字母(大写) 4、设置TextView字体的属性是:(android:typeface )。 5、Android四大组件是(Activity),(Service),(BroadcaseReceiver)和(ContentProvider)。 三、判断题(10分,共10题,每小题1分) 1、Intent是android的四大组件之一。(x ) 2、Activity的onStop() 和onDestroy() 方法效果是差不多的。(x ) 3、Android工程中,放在res/和assets/下的资源文件都会在R.java文件里生成相应的编号。(v )

linux及C试题(含答案)

华清远见嵌入式学院《Linux及C》考试题(B卷) 一、选择题(23题,每空2分,共46分) 1.在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项(D )。 A.-m B.-d C.-f D.-p 2.任何时候用户需要回到用户主目录时可以使用命令 ( A ) 。 A. cd B. pwd C. path D. cd . 3.将当前目录下的文件shell.sh移动到目录/home/linux下的命令为( B ) 。 A. cp shell.sh /home/linux B. mv shell.sh /home/linux C. ls shell.sh / home/linux/she ll.sh D. mv /root/shell.sh /home/linux/shell.sh 4.下面( C )命令不能用来显示文件的内容。 [A] more [B] less [C] find [D] cat 5./etc/shadow文件中存放( B )。 A.用户账号基本信息 B.用户口令的加密信息 C.用户组信息 D.文件系统信息 6.LINUX所有服务的启动脚本都存放在( B )目录中。 A./etc/rc.d/init.d B./etc/init.d C./etc/rc.d/rc D./etc/rc.d 7.若要将当前目录中的myfile.txt文件压缩成myfile.txt.tar.gz,则实现的命令为(C )。 A.tar -cvf myfile.txt myfile.txt.tar.gz B.tar -zcvf myfile.txt myfile.txt.tar.gz C.tar -zcvf myfile.txt.tar.gz myfile.txt D.tar -cvf myfile.txt.tar.gz myfile.txt 8.以下程序的运行结果为( C ) #include #include int SubCount(char *dest, int count) { strcpy(dest,"555"); count++; return 0; } int main() { int count = 3; char caBuf[8]; SubCount(caBuf,count); printf("%d\n",count);

LINUX-c试题

华清远见嵌入式学院第一学期期中考试 一、选择题(20题,共44分) 1.常见的Linux发行版本有很多,下面不是Linux发行版本的是( )。 [A] Red Hat Linux [B] Ubuntu Linux [C] X Window [D] SuSE Linux 2.下面不是对Linux操作系统特点描述的是( )。 [A] 良好的可移植性 [B] 单用户 [C] 多用户 [D] 多任务 3.下面( )命令不能用来显示文件的内容。 [A] more [B] less [C] find [D] cat 4.查看创建目录命令mkdir的帮助文档,可以使用命令( )。 [A] mkdir –h [B] help mkdir [C] mkdir -p [D] man mkdir 5.假设目录中存在若干文件file_num.txt(num表示文件编号,1~10),使用以下( )通配符可以挑 选出其中的编号为1、3、5的文件。 [A] file_*.txt [B] flie_?.txt [C] file_[135].txt [D] file_[^135].txt 6.文件权限 r-x-wxr--对应的八进制表示形式为( ) [A] 0536 [B] 0654 [C] 0656 [D] 0534 7.在C语言中,要求运算数必须是整型的运算符是( )。 [A] / [B] ++ [C] != [D] % 8.C语言中,逻辑“真”等价于( )。 [A] 大于零的数 [B] 大于零的整数 [C] 非零的数 [D] 非零的整数

9.目前流行的两种软件包管理机制,Debian使用( )软件包,Redhat使用( )软件包。 [A] tgz [B] rpm [C] tar [D] deb 10.下面函数的功能是( )。 int fun (char*x) { char*y=x; while(*y++); return(y-x-1); } [A] 求字符串的长度 [B] 比较两个字符串的大小 [C] 将字符串x复制到字符串y [D] 将字符串x连接到字符串y后面 11.C语言程序的三种基本程序是( )。 [A] 顺序结构,选择结构,循环结构 [B] 递归结构,循环结构,转移结构 [C] 嵌套结构,递归结构,顺序结构 [D] 循环结构,转移结构,顺序结构 12.执行下面语句后的输出结果为( )。 int i = -1; if (i < =0) printf(“****\n”); i = 2; else printf(“%%%%\n”); [A] **** [B] %% [C] %%%% [D] 有语法错误。不能正确执行 13.下面的程序运行结果为( )。

华清远见嵌入式Linux课程

课程名称:嵌入式学院—嵌入式LINUX工程师就业培训班 上课时间为:上午9:00—12:00 下午13:30—17:30 (每天7小时正式上课时间)晚自习18:00—21:00 第一阶段:嵌入式Linux软件工程师 ?职场定位:Linux Development Engineer for Software Engineering ?本期目标:嵌入式系统是现在最热门的计算机应用领域之一,嵌入式C语言在其中起着至关重要的作用。一个精通C语言程序设计的程序员,可以很容易地进入Linux、WinCE、Vxworks等嵌入式操作系统下的软件开发工作。本阶段学习目标是掌握C语言基本知识、C编程语法基础和Linux操作系统的使用,并熟练掌握嵌入式Linux的开发环境,为将来的编程工作打基础。

第二阶段:嵌入式Linux系统工程师 ?职场定位:Linux Development Engineer for Embedded Systems ?证书:微软嵌入式工程师认证证书(认证费500元),红帽公司《Linux应用开发工程师证书》(认证费500元) ?本期目标:参加本期培训的学员应该掌握嵌入式C语言编程技巧。嵌入式Linux应用开发和系统开发是嵌入式Linux中最重要的一部分,也是企业人才需求最广的一部分。本期学习的主要目标是精通嵌入式Linux下的程序设计,熟悉嵌入式Linux开发流程,强化学员对Linux应用开发的理解和编码调试的能力,同时掌握bootloader和kernel的移植技能,了解ARM体系结构和编程,具备ARM硬件接口的基础知识,并了解Linux内核开发相关内容,初步掌握Linux下的驱动程序开发方法。另外,本期课程还会让学员了解另外一个比较重要的嵌入式操作系统:Windows CE,使学员在掌握嵌入式Linux的同时,也了解Windows CE的开发方法,拓展学员的知识面,丰富学员的知识结构。最后通过几个典型的企业全真案例,进一步巩固本期课程内容,使学员真正学以致用。

网络编程试题 参考答案

华清远见嵌入式学院第二学期期中考试 一、选择题(10题,每题2分,共20分) 1.如果进程A调用fork函数,创建进程B,然后进程B再调用fork函数,创建 进程C,进程C调用exec执行新的程序,那么各个进程将以什么顺序来执行:( D )。 [A] 以A、B、C的顺序执行 [B] 以C、B、A的顺序执行 [C] 以B、C、A的顺序执行 [D] 无固定执行顺序 2.以下对早期ARPAnet的描述不正确的是 ( D ) [A] 使用NCP协议 [B] 不能互联不同类型的计算机 [C] 没有纠错功能 [D] 可以互联不同类型的操作系统 3.Internet中的世界语是 ( C ) [A] TCP [B] IP [C] TCP/IP [D] http 4.以下不属于socket的类型的是 ( D )。 [A] 流式套接字

[B] 数据报套接字 [C] 原始套接字 [D] 网络套接字 5.以下关于socket的描述错误的是 ( C ) [A] 是一种文件描述符 [B] 是一个编程接口 [C] 仅限于TCP/IP [D] 可用于一台主机内部不同进程间的通信 6.路由器是根据哪一层的信息为数据包选择路由 ( C ) [A] 物理层 [B] 数据链路层 [C] 网络层 [D] 传输层 7.为了解决在不同体系结构的主机之间进行数据传递可能会造成歧义的问题,以 下( A )函数常常用来在发送端和接收端对双字节或者四字节数据类型进行字节序转换。 [A] htons()/htonl()/ntohs()/ntohl() [B] inet_addr()/inet_aton()/inet_... [C] gethostbyname()/gethostbyaddr()

华清远见C补习测试题

Linux就业班C语言基础补习课程测验 日期:姓名分数 一、选择题下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请 将正确的答案填在答题卷相应的位置。(每题2分,共30分) (1)以下关于C语言的叙述中正确的是 A)C语言中的注释只能出现在语句或表达式的两边 B)C语言中的变量可以在使用之前的任何位置进行定义 C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致 D)C语言的数值常量中夹带空格不影响常量值的正确表示 (2)以下叙述错误的是 A)一个C程序可以包含多个不同名的函数 B)一个C程序只能有一个主函数 C)C程序在书写时 有严格的缩进要求 否则不能编译通过 D)C程序的主函数必须用main作为函数名 (3)有以下程序 #include main() { int A=0,B=0,C=0; C=(A-=A-5); (A=B,B+=4); printf(“%d, %d, %d\n”,A,B,C); } 程序运行后输出的结果是 A) 0,4,5 B) 4,4,5 C) 4,4,4 D) 0,0,0 (4)有如下嵌套的if语句 if(ac) ? b:c); C) k=(a

华清远见嵌入式学院《网络编程》考试题

华清远见嵌入式学院《网络编程》考试题 一、选择题(共20 题,1~10 题每题 2 分,11~20 题每题3 分) 1、以下对早期ARPAnet 的描述不正确的是( ) D [A] 使用NCP 协议[B] 不能互联不同类型的计算机 [C] 没有纠错功能[D] 可以互联不同类型的操作系统 2、以下不属于socket 的类型的是( )。D [A] 流式套接字 [B] 数据报套接字 [C] 原始套接字 [D] 网络套接字 3、路由器是根据哪一层的信息为数据包选择路由( ) C [A] 物理层[B] 数据链路层[C] 网络层[D] 传输层 4、为了解决在不同体系结构的主机之间进行数据传递可能会造成歧义的问题,以下( )函数常常用来在 发送端和接收端对双字节或者四字节数据类型进行字节序转换。A [A] htons()/htonl()/ntohs()/ntohl() [B] inet_addr()/inet_aton()/inet_... [C] gethostbyname()/gethostbyaddr() [D] (struct sockaddr *)&(struct sockaddr_in 类型参数) 5、只用于同一主机内部进程间通信的socket 应使用的协议族是( ) B [A] AF_INET [B] AF_UNIX [C] AF_NS [D] AF_IMPLINK 6、以下哪个协议不是用在网络层的( ) D [A] IGMP [B] IP [C] ICMP [D] SMTP 7、下面关于TCP/IP 协议说说法正确的是( ) D [A] tcp/ip 协议是只包含1 个协议 [B] tcp/ip 协议不能互联不同类型的计算机和不同类型的操作系统 [C] tcp/ip 协议没有纠错功能 [D]tcp/ip 协议的基本传送单位是数据包 8、下列哪一项描述了网络体系结构中的分层概念( ) D [A] 保持网络灵活且易于修改 [B] 所有的网络体系结构都使用相同的层次名称的功能 [C] 把相关的网络功能组合在一层中 [D] A 和C 9、在下列功能中,哪一个最好地描述了OSI(开放系统互连)模型的数据链路层( ) B [A] 保证数据正确的顺序、无错和完整 [B] 处理信号通过介质的传输 [C] 提供用户与网络的接口 [D] 控制报文通过网络的路由选择 10、数据报服务是()B [A] 面向连接的、可靠的、保证分组顺序到达的网络服务 [B] 面向无连接的、不可靠的、不保证分组顺序到达的网络服务 [C] 面向连接的、不可靠的、保证分组顺序到达的网络服务 [D ]面向无连接的、可靠的、保证分组顺序到达的网络服务 11、某一网络子网掩码为255.255.255.248,则该网络能连接( )台主机。C

盘点常见C语言面试题(含答案)_华清远见

盘点常见C语言面试题(含答案) 在技术岗位面试的时候,C语言几乎是面试必考的题目,本篇文章为大家盘点汇总,常见的C语言面试题,大家可以先自己做做题,文章最后有答案。 1、某32位系统下, C++程序void *p = malloc( 100 ); sizeof (p) = ? A.1 B.4 C.100 D.400 2、在一个10阶的B-树上,每个树根结点中所含的关键字数目最多允许为( )个,最少允许为( )个。 A.10,5 B.9,4 C.8,3 D.7,6 3、以下程序段执行后结果是() #include void main() { short *p,*q; shortarr[15]={0}; p=q=arr; p++; printf("%d,",p-q); printf("%d,",(char*)p-(char*)q); printf("%d",sizeof(arr)/sizeof(*arr));

} A.1,0,15 B.0,2,1 C.1,1,15 D.1,2,15 4、(1)静态链表既有顺序存储的优点,又有动态链表的优点。所以,它存取表中第i个元素的时间与i 无关。 (2)静态链表中能容纳的元素个数的最大数在表定义时就确定了,以后不能增加. (3)静态链表与动态链表在元素的插入、删除上类似,不需做元素的移动。 以上错误的是() A.(1),(2) B.(1) C.(1),(2),(3) D.(2) 5、已知两个一维模式类别的类概率密度函数为: 先验概率P(1)=0.6,P(2)=0.4,则样本{x1=1.35,x2=1.45,x3=1.55,x4=1.65}各属于哪一类别? A.X4 ∈ w2 B.X3 ∈ w1

实例解析Android HAL的开发方法_华清远见

实例解析Android HAL的开发方法 本篇文章为大家带来的是,通过分析台湾的Jollen的mokoid 工程代码,和在s5pc100平台上实现过程种遇到的问题,解析Andorid HAL的开发方法。我相信,看完本篇文章,对你的学习非常有帮助。因为本篇文章来自华清远见,最具权威! 一、我们需要做个HAL介绍,现有HAL架构由Patrick Brady (Google) 在2008 Google I/O演讲中提出的,如下图。 Android的HAL是为了保护一些硬件提供商的知识产权而提出的,是为了避开linux的GPL束缚。思路是把控制硬件的动作都放到了Android HAL中,而linux driver仅仅完成一些简单的数据交互作用,甚至把硬件寄存器空间直接映射到user space。而Android是基于Aparch的license,因此硬件厂商可以只提供二进制代码,所以说Android只是一个开放的平台,并不是一个开源的平台。也许也正是因为Android 不遵从GPL,所以Greg Kroah-Hartman才在2.6.33内核将Andorid驱动从linux中删除。GPL和硬件厂商目前还是有着无法弥合的裂痕。Android想要把这个问题处理好也是不容易的。 二、总结下来,Android HAL存在的原因主要有: 1. 并不是所有的硬件设备都有标准的linux kernel的接口 2. KERNEL DRIVER涉及到GPL的版权。某些设备制造商并不原因公开硬件驱动,所以才去用HAL方式绕过GPL。

3. 针对某些硬件,An有一些特殊的需求。 三、HAL内容 1、HAL 主要的储存于以下目录: (注意:HAL在其它目录下也可以正常编译) ● libhardware_legacy/ - 旧的架构、采取链接库模块的观念进行 ● libhardware/ - 新架构、调整为 HAL stub 的观念 ● ril/ - Radio Interface Layer ● msm7k QUAL平台相关 主要包含以下一些模块:Gps、Vibrator、Wifi、Copybit、Audio、Camera、Lights、Ril、Overlay 等。 2、两种 HAL 架构比较 目前存在两种HAL架构,位于libhardware_legacy目录下的“旧HAL架构”和位于libhardware目录下的“新HAL架构”。两种框架如下图所示。

Linux及C考试题附答案

华清远见嵌入式学院《Linux及C》考试题(A卷) 1-5 CBCDB 6-10 DBADD 11-15 CCCAA 16-20 C ADD C D A 21-23 DBA 一、选择题(23题,每空2分,共46分) 1.常见的Linux发行版本有很多,下面不是Linux发行版本的是( C)。 [A] Red Hat Linux [B] Ubuntu Linux [C] unix [D] 红旗 2.下面不是对Linux操作系统特点描述的是( B )。 [A] 良好的可移植性[B] 稳定性低[C] 多用户[D] 多任务 3.嵌套创建目录的命令可以使用( C )。 [A] mkdir –h [B] help mkdir [C] mkdir -p [D] man mkdir 4.假设目录中存在若干文件file_num.txt(num表示文件编号,1~8),使用以下( D )通配符可以挑选出其 中的编号为1、2、3、5、6、7的文件。 [A] file_*.txt [B] flie_?.txt [C] file_[1-7].txt [D] file_[^48].txt 5.文件权限r-x-w-r--对应的八进制表示形式为( B ) [A] 0536 [B] 0524 [C] 0656 [D] 0534 6.目前流行的两种软件包管理机制,Debian使用( D )软件包。 [A] zip [B] rpm [C] tar [D] deb 7.下述程序第二次的输出结果为( B )。 int main(void) { extern int a; int b=0; static int c; a+=3; other(); b+=3; other(); } int a=5; other()

安卓试卷-较难

《 andriod 移动应用基础教程试题- - 较难》试卷 一、单选题(每题 3 分,共计 15 分) 1、Android 中广播分为( B)种. A、1 B、2 C、3 D、4 2、关于 sendBroadcast()方法说法正确的是( B). A、该方法是发送一条有序广播 B、该方法是发送一条无序广播 C、该方法即是发送有序广播也可以发送无序广播 D、以上说法都不正确 3、(B)启动模式与 standard 类似,不同的是,当启动的 Activity 已经位于栈顶时,则直接使用它不创建新的实例 A、singleTask B、singleTop C、singleTask 和 singleTop D、singleInstance 4、在 JUnit 单元测试时,需要在 AndroidManifest.xml 的节点下配置的指令集节点是(A) A、 B、 C、 D、

5、以下关于 Looper 主消息的循环器说法正确的是(C ). A、Looper 是用来发送消息和处理消息的 B、Looper 是主消息的循环器,是用来接收 Handler 发送的消息 C、 Looper 是主消息的循环器,用来监视消息队列里面的数据,一旦发现消息队列里面有数据就把消息给取出来 D、Looper 是用来处理消息的 二、多选题(每题 3 分,共计 15 分) 1、在 Activity 中以 stopService 方式关闭 service 时,它的生命周期下面正确的描述是 (C ). A、停止时 onCreate() –> onStart() B、停止时 onStop()–> onDestroy() C、停止时 onDestroy() D、停止时 onStop() 2、数据库事务正确执行的基本要素是(ABCD)? A、原子性(Atomicity) B、一致性(Consistency) C、隔离性(Isolation) D、持久性(Durability) 3、 android 通过 startService 的方式开启服务, 关于 service 生命周期的 onCreate()和onStart() 说法正确的是(AD ). A、当第一次启动的时候先后调用 onCreate()和 onStart()方法 B、当第一次启动的时候只会调用 onCreate()方法 C、如果 service 已经启动,将先后调用 onCreate()和 onStart()方法 D、如果 service 已经启动,只会执行 onStart()方法,不在执行 onCreate()方法

华为嵌入式面试题

华为嵌入式面试题 来自:华清远见嵌入式学院 对于马上就要找工作的嵌入式培训小伙伴儿们。虽然小编分享的这些面试题都带有答案不能够进行自我检测但是面试之前多看一些面试题也是很有帮助的,更何况这些都是华清远见学员面试遇到过的。 1、嵌入式系统中经常要用到无限循环,你怎么用C编写死循环。 答案:while(1){}或者for(;;) 2、关键字static的作用是什么? 答案:定义静态变量 3、关键字const有什么含意? 答案:表示常量不可以修改的变量。 4、关键字volatile有什么含意?并举出三个不同的例子? 答案:提示编译器对象的值可能在编译器未监测到的情况下改变。 5、int(*s[10])(int) 表示的是什么啊? 答案:int(*s[10])(int) 函数指针数组,每个指针指向一个int func(int param)的函数。 6、有以下表达式: int a=248; b=4; int const c=21; const int *d=&a; int *conste=&b; int const *f const =&a; 请问下列表达式哪些会被编译器禁止?为什么? 答案:*c=32;d=&b;*d=43;e=34;e=&a;f=0x321f;*c 这是个什么东东,禁止 *d 说了是const,禁止 e = &a 说了是const 禁止 const *f const =&a; 禁止 7、交换两个变量的值,不使用第三个变量。即a=3,b=5,交换之后a=5,b=3; 答案:有两种解法, 一种用算术算法, 一种用^(异或) a = a + b; b = a - b; a= a - b; or a = a^b;// 只能对int,char.. b = a^b; a = a^b; or a ^= b ^= a; 8.c和c++中的struct有什么不同?

第一期期末试题

华清远见嵌入式学院第一学期期末考试 一、选择题(10题,每题2分,共20分) 1.已知obj是一个对象,下面哪一个表达式是不可能出现的? [A]obj.100 [B]!obj [C]obj++ [D]obj,100 。 2.下述程序中,类C的public各有哪些属性成员( )。 class B1 { public: int i ; protected : int k ; }; class B2 { public: int l ; private: int m; protected : int q ; }; class B3 { public: int p1; }; class C: public B2, protected B1, private B3 { public: int c; }; [A] i/l/p1 [B] c/l[C] c/l/q[D] i/l/q 3.下述程序运行后,显示结果为( )。 class B1 { public: B1(int i) {cout<<"constructing B1 "<

{ public: B2(int j) {cout<<"constructing B2 "<

华清远见andriod 考试题及其答案

Android阶段考试A卷 一、选择题:(每题2分) 1. 在android中使用Menu时可能需要重写的方法有(AC)。(多选) A、onCreateOptionsMenu() B、onCreateMenu() C、onOptionsItemSelected() D、onItemSelected() 2、在android 中,ArrayAdapter类是用于(A ) A、用于把数据绑定到组件上 B、它能把数据显示到Activity 上 C、它能把数据传递给广播 D、它能把数据传递给服务 3. 下列关于SharedPreferences描述错误的一项是(A ) A、SharedPreferences只可以存储配置信息、用户设置参数或其他的一些简短的基本数据类型的信息。 B、SharedPreferences(用户偏好)类提供了一个以键值对的形式保存并取回持久数据的通用框架。 C、SharedPreferences比较于其他的方式,它的读写过程最直接,也最方便。 D、SharedPreferences存储的是基本数据类型的数据,所以常用来存储应用的配置信息、用户设置参数等数据量不大的数据。 4.下列关于AsyncTask说法不正确的一项是(C ) A、编写好AsyncTask的子类后,在UI线程需要执行耗时操作时,调用这个子类的对象 的execute()方法即可。 B、Android提供了一个叫做AsyncTask的类,专门用于完成非UI线程更新UI的任务, 这也是实现这一过程最理想的方式。 C、AsyncTask需要手动将耗时操作放在一个非UI线程中进行,并把结果交给UI线程 来更新UI。 D、AsyncTask是一个抽象类,在使用它时,需要首先子类化AsyncTask,并重写它的回 调方法doInBackground(),该方法运行在一个后台线程池中,可以处理耗时操作。 5.上下文菜单与其他菜单不同的是(B ) A、上下文菜单项上的单击事件可以使用onMenuItemSelected方法来响应 B、上下文菜单必须注册到指定的view上才能显示 C、上下文菜单的菜单项可以添加,可以删除 D、上下文菜单的菜单项可以有子项 6. android 中下列属于Intent的作用的是( C)。 A、实现应用程序间的数据共享 B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失 C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带 D、处理一个应用程序整体性的工作

Android底层系统开发培训

Android底层系统开发培训 课程大纲及进度安排 附:Android底层系统开发培训 1、Andriod 开发环境搭建 1.1 andriod sdk介绍 1.2 eclipse中装载Android插件 1.3 编写、调试、运行Hello, Android!程序 1.4 git和repo使用方法 1.5 Android的源代码结构与编译方法 2、Android平台移植 2.1 Andorid移植的主要步骤与方法 2.2 配置linux内核支持Android 2.3 linux内核中添加Android 触摸屏驱动 2.4 linux内核中添加Android 键盘驱动 2.5 Android多点触摸的介绍 2.6 制作yaffs2、jffs2格式的Android文件系统 实验 1、下载linux内核、Android源码,编译、移植到目标平台。 2、编写一个简单的应用程序运行在目标平台 3、Android底层开发基础 3.1 Android启动流程与相关服务解析 3.2 Android 编译框架与Makefile介绍 3.3 在Android中添加自己的平台 3.4 在Android中添加本地库的方法 3.5 Android Dalvik虚拟机工作原理介绍 3.6 Jni开发方法 3.7 HAL开发方法 3.8 SystemServer、ServiceManager介绍 3.9 Android Binder工作原理 4、Android调试方法 4.1 Android 日志系统介绍 4.2 logcat使用介绍 4.3 ADB使用方法 4.4 DDMS使用介绍 实验 1、在Android平台上通过编写应用程序、Framework、jni、HAL实现LED控制。 5、Android Sensor 开发 5.1 Android 常见传感器与应用 5.2 Android Sensor开发框架 6、Andorid Camera 开发

(一)就业模拟测试题-LINUX驱动、系统底层工程师职位-(含答案)

就业模拟测试题-LINUX驱动、系统底层工程师职位 ( https://www.wendangku.net/doc/aa16484110.html, 本试卷从考试酷examcoo网站导出,文件格式为mht,请用WORD/WPS打开,并另存为doc/docx格式后再使用 试卷编号:143921 试卷录入者:yisonghua(华清远见) 试卷总分:80 出卷时间:2012-09-13 14:53 答题时间:150分钟 姓名:学号:班级: 6 说明:以下个体中的分数是说明题目的重要性而言的,并不是具体题目的考试分数,此试卷中的题目主要是出现在笔试之后的面试中,大部分题目要直接能说的出来,多去整理,完善自己的表达 1.你平常是怎么用C写嵌入式系统的死循环的? [3分] 参考答案: while(1) { //... } 或者 for(;;) { //... { 2.写一条命令,实现在dir以及其子目录下找出所有包含“hello world”字符串的文件[2分] 参考答案: grep -r "hello world" ./dir 或者grep -rHn "hello world" ./ 3.下面的两段程序中,循环能否执行?为什么? A: unsigned short i; unsigned short index = 0; for(i = 0; i

减时会发生隐式类型转换,即index将被转换成有符号整型,转换之后的index还是0,因此程序片段A中的index-1的结果就是 -1 ,此时判断 i unsigned int -> long -> unsigned long -> long long -> unsigned long long -> float -> double -> long double 注意,上面的顺序并不一定适用于你的机器,比如当int和long具有相同字长时,unsigned int的精度就会比long的精度高(事实上大多数针对32机的编 译器都是如此)。另外需要注意的一点是并没有将char和short型写入上式,原因是他们可以被提升到int也可能被提升到unsigned int。 提升数据的精度通常是一个平滑无损害的过程,但是降低数据的精度可能导致真正的问题。原因很简单:一个较低精度的类型可能不够大,不能存放一个具有更高精度的完整的数据。一个1字节的char变量可以存放整数101但不能存放整数12345。当把浮点类型数据转换为整数类型时,他们被趋零截尾或舍 入。 强制类型转换: 通常我们应该避免自动类型转换,当我们需要手动指定一个准确的数据类型时,我们可以用强制类型转换机制来达到我们的目的,使用方法很简单,在需要强制转换类型的变量或常量前面加上(type),例如(double)i; 即把变量 i 强制转换成double型。

华清__初级驱动试题

驱动基础试题(时间:1个小时) 一、选择题(每题 4 分,共40 分,包括单选和多选,多选、少选均不得分) 1. Linux系统中将设备进行分类管理,下列设备中(ACD )属于字符设备,(BC)属于块设备 [A] 键盘[B] 硬盘 [C] 闪存设备[D] 帧缓存设备[E] 网卡 2.Linux系统中,内核以(D)区分设备 [A] 设备节点名[B] 设备类名称 [C] 设备名称[D] 设备号 3.Linux系统中设备节点可以创建在(D ) [A] /dev目录下[B] 根目录下 [C] /tmp目录下[D] 以上都可以 4.Linux驱动程序运行在( A ) [A] 内核空间[B] 用户空间 [C] 内核空间和用户空间 5.Linux系统中设备驱动程序是以模块形式组的,编译驱动时可以用哪种方式编译(AB ) [A] 静态编译进内核 [B] 动态编译 6.Linux 2.6.35 内核中,设备的主设备号用( B )位来表示,次设备号用(D)位来表示 [A]8 [B] 12 [C]16 [D] 20 [E] 24 [F] 32 7.Linux系统中哪些种类的设备有设备节点(BC) [A] 定时器[B] 字符设备 [C] 块设备[D] 网络设备 8.通常情况下,kmalloc函数能分配的最大内存是(C) [A] 4K [B] 64K [C]128K [D] 4M 9.能保证物理空间上连续的内存分配函数是(AB) [A]__get_free_pages [B] kmalloc [C] vmalloc [D] malloc 10.Linux系统中通过add_timer 添加的timer是(A) [A] 一次的 [B] 循环的

详细解析Android init.rc_华清远见

详细解析Android init.rc 之前写过一篇关于Android init.rc的详细解析,不过当时写的不够仔细,所以决定重新写一篇,于是本篇文章就这样诞生了。关于Android init.rc的详细解析,请往下看 1 简述 Android init.rc文件由系统第一个启动的init程序解析,此文件由语句组成,主要包含了四种类型的语句:Action,Commands,Services,Options.在init.rc文件中一 条语句通常是占据一行.单词之间是通过空格符来相隔的.如果需要在单词内使用空格,那么得使用转义字符"\",如果在一行的末尾有一个反斜杠,那么是换行折叠符号,应该和下一行合并成一起来处理,这样做主要是为了避免一行的字符太长,与C语言中的含义是一致的。注释是以#号开头。Action和services显式声明了一个语句块,而commands和options属于最近声明的语句块。在第一个语句块之前的commands和options会被忽略. 2 关键字 token: 计算机语言中的一个单词,就跟英文中的单词差不多一人概念. Section: 语句块,相当于C语言中大括号内的一个块。一个Section以Service 或On开头的语句块.以Service开头的Section叫做服务,而以On开头的叫做动作(Action). services: 服务. Action: 动作 commands:命令. options:选项. trigger:触发器,或者叫做触发条件. class: 类属,即可以为多个service指定一个相同的类属,方便操作同时启动或停止. 3 语句解析 3.1 动作(Action) 动作表示了一组命令(commands)组成.动作包含一个触发器,决定了何时执行这个动作。当触发器的条件满足时,这个动作会被加入到已被执行的队列尾。如果此动作在队列中已经存在,那么它将不会执行. 一个动作所包含的命令将被依次执行。动作的语法如下所示:

相关文档
相关文档 最新文档