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