美文网首页基础面试
2022-03-20面试达蒙

2022-03-20面试达蒙

作者: 漆先生 | 来源:发表于2022-03-20 00:21 被阅读0次
    1. 设计模式的好处
      使用设计模式能够增加系统的健壮性,易修改性和可扩展性,当你进行开发的软件规模比较大的时候,良好的设计模式会给编程带来便利,让系统更加稳定,这些在自己编写小程序的时候是体现不出来的

    2. Builder模式的好处
      将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。

    3. Set map list能否存储null
      List所有实现类都可以存储null值,底层是数组
      HashMap和LinkedHashMap 的key和value能存储null值,treeMap的key不可以,value可以
      HashSet,LinkedHashSet可以存储一个null值,treeSet不可以

    4. Service是在主线程中运行吗
      在主线程中运行,但是Binder的方法在线程池中运行,Service可以不再另外的进程中执行

    5. BroadcastReceiver在主线程中运行吗
      在主线程中运行

    6. byte char short int long float double分别占多少字节
      boolean:1 一个字节8bit,存储的时候其它补0
      byte :1
      char :2
      short :2
      long: 4
      float :8
      float :4
      double:8

    7. float和double的区别
      float是6-7位有效数字-3.410(-38)~3.410(38)
      double是15-16位有效数字-1.710(-308)~1.710(308)

    8. Integer.MAX_VALUE+1 = ?
      = Integer.MIN_VALUE

    1. Looper运行再哪个线程
      运行再在建looper哪个线程,为什么主线程不会被loop阻塞,主线程的消息时不断的,UI刷新都在主线程,16ms一个1秒钟60fps,虽然会被epool.wait方法阻塞,开始等待句柄写操作,但是后续enqueueMessge方法调用nativeWake方法。句柄开启write操作,就放开阻塞了。

    2. 进程和线程的区别

    相关文章

      网友评论

        本文标题:2022-03-20面试达蒙

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