安卓开发面试技巧,安卓开发面试问题回答技巧

安卓面试常问的十个问题?
1. 你对Android的理解是什么?
2. 你是如何维护Android程序的?
3. 你有用过什么技术来优化Android应用程序?
4. 你怎么解决Android比较安全问题?
5. 你怎样将Android应用程序移动到不同版本的面板或设备?
6. 你有没有使用过什么技术支持上传,下载和后台调度?
7. 你熟悉Android SDK和API吗?
8. 如何在Android应用程序中用Google Maps API?
9. 你知道如何处理内存泄漏吗?
10. 你熟悉Android脚本、样式和自定义控件吗?
2.什么情况下会导致内存泄露
3.如何避免 OOM 异常
4.Android 中如何捕获未捕获的异常
5.ANR 是什么?怎样避免和解决 ANR(重要)
面试时,问哪些问题能试出一个Android应用开发者真正的水平?
第一
客户端大部分对UI这部分要求比较高,因为好的视觉设计能更好的吸引住用户。所以自定义view这方面需要问。view的绘制流程,***的分发机制。
第二
移动端应用基本都会连网的,所以网络这块需要非常熟悉。当然网上有很多现成的网络框架比如retrofit ,okgo。用起来非常方便,但是开发者是否知道其内部的原理。只有知道原理,当公司需要网络优化的时候才能最少有方向去做
第三
是不是懂得热修复。热修复在国是内非常火的。因为它可以紧急修复一些线上的bug而不需要重新发版。不过这方面中的坑挺多的,每个安卓版本可能也都不一样,一般都是使用一些大公司开发的框架比如腾讯的Tinker,阿里的hotfix 还有滴滴,美团都有。单独开发坑太多没必要,最少需要知道其原理,出现bug的时候好解决
第四
对一些主流的框架和库是否熟悉或了解 比如mvp mvvp 框架 ,Rxjava glide retrofit butterknife dagger 等库
第五
会不会测试。大部分的程序员都是只开发不测试,如果会单元测试,性能测试就更好了,这样会让代码更加健壮。
对BAT、TMD这类公司而言,1-3年的工程师在技术面时面试官最看重的有哪些?
相对于小公司只要能实现功能就行,对于BAT这类型大厂来说,他们不仅注重项目情况、上家公司的产品情况,更看重基础能力,考察你的学习能力,是否有读过源码,了解其内部实现原理,有没有写过博客、github之类的。通常他们的问题是不会固定的,是根据你回答的情况再进行后面的提问,直到你回答不出才会结束这个题目,环环相扣,真的不准备段时间,你会发现自己只能回答表层的答案。除了笔试,他们的技术面试一般都是要进行几轮的,第一轮是项目情况的了解,第二轮是基础和源码深入的提问,第三轮是项目负责人或者技术总监,第四轮是HR面,通常到了HR面就证明你的技术面是过关了,离拿offer不远。
下面是某次面试大厂面试问的的问题,因为本人从事的是Android开发,所以问的基本都是一些J***a基础以及Android四大组件内的基础,但是我自身在开发过程中并没有很重视这些理论基础,导致很多知识点都忘记了。整个面试过程耗时一小时,感谢两位面试官不厌其烦地给我提示,一方面让我能够回想起来那些遗忘的知识点,另一方面也缓解了尴尬的气氛。
J***a方面
1、如何理解J***a的多态?其中,重载和重写有什么区别?
2、谈一下JVM内存区域划分?哪部分是线程公有的,哪部分是私有的?
3、final关键字的用法?
4、死锁是怎么导致的?如何定位死锁?
5、数据库如何进行升级?SQLite增删改查的基础sql语句?
Android方面
1、Broadcast的分类?有序,无序?粘性,非粘性?本地广播?
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wntfw.com/post/19466.html