腾讯 Android客户端开发实习 面试(2020.3.13)

腾讯移动客户端开发 面试题目

Q1:有没有了解过一些主流的框架

Q2:说一说HashMap(会涉及对HashMap的优化问题,线程安全的问题)

Q3:写一个单例模式

Q4:从文件读数据并找到最小的十个数

Q5:上一题的升级版,找到出现次数最少的十个数

Q6:是否了解过JetPack

Q7:说一说如何解决应用卡顿的问题

Q8:Activity和Fragment的关系(也会问它们的生命周期)

Q9:说一说线程的状态

Q10:说一下Http的状态码

Q11:说一下Http请求的过程(会问协议和步骤)

 

Q12:说一下ListView的底层实现

Q13:对比一下LinearLayout和RelativeLayout的性能

Q14:说一下如何处理不定长的包、

Q15:说一下Java的垃圾回收机制(升级为Android的内存回收机制)

 

问题的解答会逐渐更新(或者断更)

Q1

对流行框架的了解,主要是面试官想了解到我在项目实践中使用到了那些框架,通过回答就可以知道项目经验的多少

例如我要处理一个网络的图片瀑布流展示,我可能会用到okHttp,Glide,Gson之类的框架

Q2

HashMap 是一个非常经典的Java面试题,我目前也不是很了解,没有很好应用过,日后清楚了更新

Q3

考察设计模式的理解和应用,设计模式在Android开发中真的很重要,例如单例模式会涉及到线程安全的考虑

Q4

从文件读取会考虑到文件大小问题,可能会涉及分治,最小的十个数则是排序方法的问题

Q5

找出频率最少的十个数,解法可以是自定义一个类,其中key为数字,value为次数,将所有数统计到ArrayList中,然后对ArrayList进行排序,就可以得到频率最小的十个数了

Q6

JetPack是google这几年推崇的一种开发方式,包含了一些库,工具和指南,旨在帮助开发者开发出优质的应用(向后兼容,稳定,易维护),考察了是否去了解 android最新的动态,网上很多android的学习资料,blog可能不会设计到jetpack推荐的开发方法,所以要去android开发者 网页自己去了解

Q7 

这就涉及到性能优化的问题了,应用卡顿有很多种可能,可能是某一个界面的View层级太复杂,导致运行不流畅;可能是将某些耗时操作在主线程中执行了等等;也可能是内存泄漏问题导致应用运行时越来越卡 等等

 

当然面试也会涉及到计算机网络的问题,网络编程在Android开发中是必不可少的

 

posted @ 2020-03-18 17:28  当麻  阅读(289)  评论(0编辑  收藏  举报