Android程序员面试题目

要找工作了,总结下相关的面试题目。

1.Android部分##

1.1 Android四大组件###

  • Activity:前台界面逻辑实现
  • Service:提供后台服务
  • BroadcastReceiver:接受广播
  • ContentProvider:提供数据给其他应用处理

1.2 Handler,Message,MessageQueue,Looper的关系###

这个是个老题目了,几乎必考,下图足以说明一切了


Android程序员面试题目_第1张图片

1.3 Android数据存储的方式###

有五种方式,分别如下

  • SharePreference
  • 数据库Sqlite
  • 本地文件存储
  • 网络存储
  • ContentProvider

1.4 Activity的启动模式有哪些,分别有什么含义###

  • standard:可以理解为每次startActivity都会生成一个实例
  • singleTop:栈顶只允许有一个Activity实例
  • singleTask:栈中只允许有一个Activity实例
  • singleInstance:独自占有一个栈,该栈中不允许有其他实例

1.5 Android网络编程###

这部分我真不熟悉,看别人的博客吧

  • http://52android.blog.51cto.com/2554429/496621/
  • http://wangzhaoli.blog.51cto.com/7607113/1288000
  • http://www.jianshu.com/p/3141d4e46240

1.6 Android Socket相关###

依然不太熟,看别人的博客吧

  • http://blog.csdn.net/mad1989/article/details/9147661

1.7 Android的五种布局方法###

五种布局方法分别是帧布局(FrameLayout),线性布局(LinearLayout),绝对布局(AbsoluteLayout),相对布局(RelativeLayout),表格布局(TableLayout),简单介绍如下

  • FrameLayout:所有布局都位于左上角,恩,就这样;
  • LinearLayout:个人认为线性布局和绝对布局应该是Android应用比较多的一种,线性布局就是横着或竖着挨着排就可以了
  • RelativeLayout:相对布局,比如说有控件A、B,定义A在B的左边or下面or上面等等
  • RelativeLayout:绝对布局,定义控件的x、y坐标点;
  • TableLayout:表格布局,定义一个x行y列的表格,然后指定控件在哪个格子里即可;

1.9 自定义View###

  • 重写onDraw方法,在该方法中,利用Canvas来进行绘制控件
  • 这里面写的很详细http://www.jianshu.com/p/c84693096e41

1.10 LayoutInflater###

1.11 点击事件的分发机制###

1.12 CounterView###

1.13 JSON解析###

1.14 WebSocket###

1.15 动画相关知识###

2.Java部分##

2.1 文件读写###

3.数据结构部分##

4.算法部分##

5.项目部分##

5.1 NFC的基本知识###

这个之前输出了好多好多文档,可惜公司都不让带出来。哎哎哎。
貌似也没有什么可考试的。
NFC的几种模式:
卡模拟,P2P传输,TAG卡模式
NFC识别出TAG卡后,发出的三种ACTION:

  • ACTION_NDEF_DISCOVERED
  • ACTION_TECH_DISCOVERED
  • ACTION_TAG_DISCOVERED
    这三个ACTION发出是有讲究的,当第一个无人监听的时候,才会发出第二个,当第二个无人监听的时候,才会发出第三个;
    常见NFC TAG卡的类型:
  • NfcA
  • NfcB
  • NfcF
  • MifareClassic

NFC的基本知识就这么多吧,忘了差不多了。

5.1 蓝牙基本知识###

蓝牙常见的Profile:

  • A2dp:全名是Advenced Audio Distribution Profile蓝牙音频传输模型协议,听音乐主要用这个
  • HFP(Hands-free Profile)手机音频,打电话通常用这个
  • OPP(Object Push Profile)对象交换
  • PAN(Personal Area Network),个人局域网,手机中的蓝牙共享网络用的是这个;
  • PBAP(Phone Book Access Profile)电话本协议,常见于蓝牙车载中;
  • Gatt,可以把他理解成BLE蓝牙,手机启动的时候也是先启动BLE蓝牙的
    重要的类 BluetoothManager BluetoothAdapter

你可能感兴趣的:(Android程序员面试题目)