顺丰安卓技术一面

视频面,全程30分钟,没有手撕算法;面试官很nice,基本上我答不出的话他都会给我解释,最后说是一周内会给下一轮面试的通知。


1、问项目有用到什么架构?Presenter怎么绑定View的生命周期?活动销毁的时候耗时任务会不会中断?View怎么持有Presenter的引用?

2、问有用过安卓的数据库吗?SQLite在查询的时候可以插入吗?如果可以的话会造成什么情况?
面试官后来提示我说MySQL用的是行锁,SQLite用的是表锁。

3、项目有用到哪些框架?有看过源码吗?项目里用到哪些设计模式?
我说了Glide,然后看了Glide是通过创建一个Fragment然后添加到Activity里面,通过在Fragment的生命周期里调用回调方法就可以控制Glide的生命周期。

4、问当前流行的技术有哪些?热修复是怎么实现的?
我答了热修复和插件化;热修复就是通过ClassLoader动态地加载类来实现的。

5、在同一层级不同业务模块之间怎么互相调用?
我说了用单例;后来问面试官,他说可以用Intent的隐式调用,还有可以用阿里的Router路由框架。

6、高层级的模块怎么调用低层级的模块?

7、Java里有哪些算法?讲一下它是实现?
我答了Java里有一个快排算法,实现说不出来。

8、说一下常用的Java数据结构;插入数据哪个更快?
ArrayList;LinkedList;HashMap;LinkedHashMap。(应该分三类来答:Set、Map、List)

9、问平时怎么学习Java开发的?
我说主要看书、看博客,写笔记总结。

10、有没有看Android源码?有没有计划去看?
我答目前还没有去看,打算先熟悉当前流行的框架源码,还有熟悉Java设计模式,因为Android源码里面用到了很多的设计模式。然后面试官表示同感地说Retrofit里面用到了大量的设计模式。

11、问我熟悉Android哪一方面的开发?

12、知道哪些数据加密算法?
非对称:RSA;对称:AES、DES、3DES

13、有没有做过安卓持久化?SP在大量的读写下有没有性能瓶颈?
这是我后面查到的:SP一旦使用了之后SPimpl就会以强引用的方式存活在内存中,同时SP里面的所有key-value也存活在内存中;调用edit或者getXXX时缩在线程都会阻塞起来等待加载完成,可能出现ANR;支持多线程不支持多进程;Activity会等待所有的apply任务完成后才能结束;SP所有读写都是在synchronized块里面进行的,所以读写必然会慢。#顺丰科技##面经##秋招##内推##安卓工程师#
全部评论
啥时候收到的面试,同安卓,投了没消息
点赞 回复 分享
发布于 2018-08-03 13:07
校友什么时候投的
点赞 回复 分享
发布于 2018-08-03 14:45

相关推荐

评论
点赞
25
分享
牛客网
牛客企业服务