- 安卓面试常问的十个问题?
- 怎么准备Android面试?
1. 你对Android的理解是什么?
2. 你是如何维护Android程序的?
3. 你有用过什么技术来优化Android应用程序?
4. 你怎么解决Android比较安全问题?
5. 你怎样将Android应用程序移动到不同版本的面板或设备?
6. 你有没有使用过什么技术支持上传,下载和后台调度?
7. 你熟悉Android SDK和API吗?
8. 如何在Android应用程序中用Google Maps API?
9. 你知道如何处理内存泄漏吗?
10. 你熟悉Android脚本、样式和自定义控件吗?
1.如何对 Android 应用进行性能分析
2.什么情况下会导致内存泄露
3.如何避免 OOM 异常
4.Android 中如何捕获未捕获的异常
5.ANR 是什么?怎样避免和解决 ANR(重要)
怎么准备Android面试?
如果仅仅是应聘一个编写代码的开发人员,要求不会太高,熟悉一个开发平台,精通一种编程语言,这个不是很难,重要的是逻辑推导能力,也是基本功。公司招聘更多的是要有综合能力,这些方面更为重要,这些是实战必须掌握的,比如;需求分析能力;
研究各种现有的方案/技术/材料/工具;
构思、编写/绘制/制作出模型;
评估设计及迭代;
计算预算、分工;
实现、管理进度;
等等……
感谢您的邀请。本人从事计算机行业,准备Android开发的技术面试,有以下几点。
首先,要了解Android是基于Linux系统的,且依赖于J***a语言。我们来看下Android的知识图谱。可以看到,想到做好Android,需要掌握很多东西,如果是应届毕业生,也不可能一下掌握这么全面,可以先抓住重点,从容应对面试。当钛,要对Android的整体架构有一个清晰的认识,这样,在开发时的逻辑比较清晰,不存在它认识你,你不认识它,哈哈….
其实,就是具体的技术细节啦,Linux系统是必须要熟悉的啦,如开机加载顺序,常用命令,权限控制,磁盘管理,shell脚本,文本处理神器sed和awk等。现在,主流互联网公司都在玩Linux Server,因为它安全、稳定,不过要真的学好Linux,可不是一件容易的事情,在Linux中,一切皆为文件,包括设备,如硬盘,且大部分为纯命令行,要有一段时间适应哈。另外,对TCP/IP协议要有一个清晰的认识,可对Http请求过程进行分析,还要掌握Restful 接口的测试工具,如Postman。编程语言方面,要有一点C和C++的基础,对于J***a语言,要好好掌握了,如面向对象,反射机制等,Android开发是基于此展开的。
下面,我们来说Android的具体内容,包括四大组件,常用控件的使用,***处理,消息异步调用机制,当然,也得有点前端开发的基础如html,js等,这些在“剑指OFFER”中有相应的题库,可在掌握Android后,有针对性的刷题,也可以经常光顾Android论坛,与大佬们交流,这样,进步是很快的。
此外,Android开发肯定是少不了连接
数据库的,因此,掌握常用的数据库,如Oracle,MySQL,PostgreSQL等,会编写简单的SQL语言,
通过J***a的jdbc连接数据库,并进行增删改查的操作。
当然,现在互联网行业,对
软件开发人员的技术要求也在不断提升,因此,掌握些稍微高端点的技术,这在面试中是可以给你加分的。如
大厂中常考数据结构与算法,因此,要了解常用的数据结构与算法,如排序算法,二叉树和图论等,能用J***a实现。另外,就是J***a的多线程技术,
一般生产中很少用Thread类来操作多线程,大部分***用线程池,因此,对这方面要好好看下,包括同步及线程安全等问题。有
时候,面试官为了更进一步考察你的技术能力,会考JVM,这是比较接近底层的东西,如JVM的垃圾回收,JVM参数调优等。
最后,为了你的知识体系更加强大,要了解下Android的历史与发展趋势,比如,最近更新的Android版本是什么?有些,要根据应聘公司的业务场景来准备,如开发电子商务的app时,要了解页面布局,一个APP是怎么实现出来的,这个领域的APP有什么特点,结合应聘公司,有什么独特的想法,有时候,这会给你加分的。
因此,准备面试主要看执行力,先制定一个
计划,
然后尽力去实现,祝你好运,成功拿到OFFER。