面试记录1

作者: shone | 来源:发表于2016-04-18 13:19 被阅读82次

    今天,去一家公司面试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

    相关文章

      网友评论

        本文标题:面试记录1

        本文链接:https://www.haomeiwen.com/subject/kscalttx.html