Android面试题(初中级)不断更新

近期不断面试,整理一下被问到的面试题,以及多次被问到的面试题加以标记。

     注意:简历上写的内容一定要了解清楚,很大可能会问。还有就是项目中出现的问题怎么解决的。

多次被问住:

   1.简单的讲解一下TCP/IP、HTTP和Socket。

答:TCP/IP是传输层/网络层协议,手机底层实现了该协议,手机端连接网络建立TCP协议,TCP协议在连接前要进行3次握手,

         第一次握手:客服端发送请求,

        第二次握手:服务端接收和发送请求,

       第三次握手:客服端接收请求,

 以上条件满足就可以建立连接,如果TCP断开连接就会进行4次挥手,TCP主要是解决数据在网络上的传递。

    HTTP是基于TCP上的一种应用,tcp需要经过http解析过后才能使用。web连网的基础,主要解决数据的包装与识别应用。

   Socket不是协议,是调用接口,主要是对TCP/IP协议的封装和应用。

问过一次:

     1.如果fragment重叠你会怎么解决。

  答:activty提供了一个保存方法和一个恢复方法,onSaveInstanceState()、onRestoreInstanceState()。在就是fragment的add方法, 在保存方法中通过fragment的add方法来tag标记等会要恢复的位置。然后在oncreate中判断,如果有就恢复当前位置。

   2.如果有两个界面都是请求接口,你快速的点击这两个页面进行切换会怎么样,或者说你是怎么解决这个问题的。

  答:我会在切换的时候进行判断,如果数据还在请求中我会给出一个对话框来提示用户正在加载,加载完成才能再次点击。这样做的不好就是用户的体验不太好。

    3.微信支付的步骤,以及他请求的接口有几个,是通过第三方控制(友盟)的还是微信的sdk完成的。

   答:请求的接口有3个,

          ①。客服端提交订单给服务端

         ②。服务器通过微信接口,来统一下单接口,然后将一个id返回给客服端。

          ③。客服端通过id调起微信支付

     4.界面优化

   答:重用布局,减少嵌套。耗时操作子线程中完成。

     5.如果项目上线过后发生异常,你该如何解决

   答:通过友盟的sdk来处理,在application的oncreate中初始化,达到全局控制和处理异常,如果在项目的运行中出现异常友盟会强制将异常窗口关闭,然后将异常信息发送到友盟的后台,在下次更新进行处理。

    6.是否接触过图文混排,简单讲解一下

     7.自定义导航栏的实现

    8.怎么通过h5页面打开app

   答:有一个url scheme,可以通过这个标记来打开app。

   9.版本更新有几种方式以及传递给服务器的参数

    答:有3种方式,1.推荐更新,2.强制更新,3.可以忽视的更新。传递的参数一般是版本号,包名,

  10.引导页广告的实现

    答:后台接口的定义,自己负责显示和点击的跳转。

  11.用到过的密码加密方式

    答:md5

面试的时候最好提前10分钟到场,不然你不知道你要等多久。一份漂亮的简历或许可以拉开和你经验差不多的人的成功率。

你可能感兴趣的:(技巧篇)