javaapp开发

面试记录1

2016-04-18  本文已影响82人  shone

今天,去一家公司面试android,问的全是java基础,自己回答的比较勉强,结果可想而知,打脸了******

1、java基本数据类型?

字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double

2、2个byte[]如何拼接成一个byte[]?

直接上代码:

public static  byte[]  byteMerger(byte[] byte_1,byte[] byte_2){

      byte[] byte_3 = new byte[byte_1.length+byte_2.length];

      System.arraycopy(byte_1,0, byte_3,0, byte_1.length);

      System.arraycopy(byte_2,0, byte_3, byte_1.length, byte_2.length);

      return byte_3;

}

3、int是多少位?int与Integer的区别?int如何获得最高位、次高位、次低位、低位的byte[]?

32位, Ingeter是int的包装类,int的初值为0,Ingeter的初值为null。 

public static byte[] intToBytes(intvalue ) {

         byte[] src =newbyte[4];

         src[3] =  (byte) ((value>>24) &0xFF);

         src[2] =  (byte) ((value>>16) &0xFF);

         src[1] =  (byte) ((value>>8) &0xFF);

         src[0] =  (byte) (value &0xFF);

         return  src;

}

4、线程的join方法与wait的区别,线程有几种状态?

join()-->等待调用join方法的线程结束,再继续执行。如:t.join();//主要用于等待t线程运行结束,若无此句,main则会执行完毕,导致结果不可预测。

wait()-->在其他线程调用对象的notify或notifyAll方法前,导致当前线程等待。线程会释放掉它所占有的“锁标志”,从而使别的线程有机会抢占该锁。

线程从创建、运行到结束总是处于下面五个状态之一:新建状态、就绪状态、运行状态、阻塞状态及死亡状态。

5、介绍下socket,socket如何保证长链接,如果数据包有问题怎么办?

保持长链接:定时发心跳包,数据包发送超时判断,网络状态监听...

socket丢包问题是最容易问到的...

6、多线程之间的通信方式?

网上给出了3种方式 1、管道流Pipes  2、共享内存  3、Hander和Message

通信方式不局限于这几种,看实际情况吧

7、所有集合的父类,map与list?

java集合大致可以分为Set、List和Map三大体系,几个集合的父类都是Collection类

具体子类 在这里 不做赘述

8、蓝牙2.0与4.0区别?

9、adb的一些命令?

介绍几条基本的吧:

adb devices查询当前计算机上连接那些设备

adb shell am命令可以启动应用程序

adb install 安装app, adb uninstall卸载

adb push 拷贝文件到设备 adb pull 获取文件从设备

adb logcat抓日志

adb shell [command] 进shell

上一篇下一篇

猜你喜欢

热点阅读