如何面试 Android 工程师

2024-05-17 18:39

1. 如何面试 Android 工程师

下面以实习生、校招和社招三方面的总结,属于个人建议,希望能够带给你一些帮助:
一、实习生:
对于实习生而言的话,可能对于android方面的要求并不是特别的高,比较注重基础,但是基本的得会,比如:
四大组件基本的概念以及使用。
activity的生命周期流程,这是最基本的,但是你得清楚到底是啥时候调用各个方法,如一个页面(A)当前正在跟用户交互,弹出一个Dialog后,A的各个回调方法的流程调用情况等。
数据存储的方式,五大存储方式的基本使用。
掌握网络通信中httpClient和HttpUrlConnection基本使用,任何网络框架都是从最简单的写起,所以这个必须要知道。
熟悉json解析,JsonObject,JsonArray等等的各种使用。
会导入第三方库。
线程(Thread,Runnable)的使用。
主线程和其他线程的交互(Handler,AsyncTask)。
二、校招:
对于校招而言的话,主要是对于计算机基础能力的考察,尤其bat等公司更甚,当然android方面也是需要的,主要考察的方面是:
熟练掌握操作系统原理。
熟练掌握计算机网络。
熟练掌握数据结构以及算法。
良好的java基础。
android基本的都要会,在此基础上需要掌握一定的源码方面的知识,比如handler源码,AsyncTask源码,触摸事件机制,view的事件分发机制,清楚他们是如何由0到1完成各自的工作的。
阅读过相关开源项目,对开源项目做过校正或者贡献的,Github好多小星星的~


三、社招:
个人觉得社招尤其注重你在工作项目中的对于代码整体框架的整体认识以及熟练掌握程度:
对于源码有一定的研究,Binder机制的理解,熟练自定View,能够对开源库进行再次的封装,改写等等,AWS,WWS等等有一定的认识。
阅读过开源项目源码,清楚开源项目的构建历程,优缺点等。
设计模式的理解与运用。
对于上任公司项目的理解,能够清楚的讲解自己编写代码的思路。
独立解决Bug的能力,优化代码的能力,重构代码的能力。
良好的计算机基础。
四、最最重要的一点,我觉得是:
对于技术是否有热情,有求知欲,愿意去尝试,去了解新的技术,这是我认为最重要的一点。

如何面试 Android 工程师

2. 如何面试 Android 工程师

对于实习生而言的话,可能对于android方面的要求并不是特别的高,比较注重基础,但是基本的得会,比如:
四大组件基本的概念以及使用。
activity的生命周期流程,这是最基本的,但是你得清楚到底是啥时候调用各个方法,如一个页面(A)当前正在跟用户交互,弹出一个Dialog后,A的各个回调方法的流程调用情况等。
数据存储的方式,五大存储方式的基本使用。
掌握网络通信中httpClient和HttpUrlConnection基本使用,任何网络框架都是从最简单的写起,所以这个必须要知道。
熟悉json解析,JsonObject,JsonArray等等的各种使用。
会导入第三方库。
线程(Thread,Runnable)的使用。
主线程和其他线程的交互(Handler,AsyncTask)。

校招:
对于校招而言的话,主要是对于计算机基础能力的考察,尤其bat等公司更甚,当然android方面也是需要的,主要考察的方面是:
熟练掌握操作系统原理
熟练掌握计算机网络
熟练掌握数据结构以及算法
良好的java基础
android基本的都要会,在此基础上需要掌握一定的源码方面的知识,比如handler源码,AsyncTask源码,触摸事件机制,view的事件分发机制,清楚他们是如何由0到1完成各自的工作的。
阅读过相关开源项目,对开源项目做过校正或者贡献的,Github好多小星星的~

3. 如何面试 Android 工程师

从下面几个方面:
一、语言表达能力。
    语言表达能力很重要。在开发的过程中,需要把问题描述清楚,交流无障碍。
二、独立思考问题
     开发过程中,终会遇到问题的,可以考量一下面试者的思考方式。比如 出一些算法题。
三、技术相关的
     包括java、Android、算法。
 java:  抽象类、接口、自动装配、反射、异常、注解、文件读写、线性安全、java 虚拟机、代码规范相关等等。
Android:handler的机制、自定义View、进程通信、事件处理、网络处理、内存优化、插件化思想、设计模式、类加载器等等
具体要问怎么样的,根据项目来。
算法:几大排序选一个、链表、二叉树等等。

如何面试 Android 工程师

4. 如何面试 Android 工程师

拿自身来举个栗子把= ̄ω ̄=~
先介绍一下自己的情况,我是一名2016应届毕业生,自学的android开发,面试过好多公司(目前待业/(ㄒoㄒ)/),有实习生的,也有社招的,也有校招的,下面就从这三个来说吧:
实习生:
对于实习生而言的话,可能对于android方面的要求并不是特别的高,比较注重基础,但是基本的得会,比如:
四大组件基本的概念以及使用。
activity的生命周期流程,这是最基本的,但是你得清楚到底是啥时候调用各个方法,如一个页面(A)当前正在跟用户交互,弹出一个Dialog后,A的各个回调方法的流程调用情况等。
数据存储的方式,五大存储方式的基本使用。
掌握网络通信中httpClient和HttpUrlConnection基本使用,任何网络框架都是从最简单的写起,所以这个必须要知道。
熟悉json解析,JsonObject,JsonArray等等的各种使用。
会导入第三方库。
线程(Thread,Runnable)的使用。
主线程和其他线程的交互(Handler,AsyncTask)。
校招:
对于校招而言的话,主要是对于计算机基础能力的考察,尤其bat等公司更甚,当然android方面也是需要的,主要考察的方面是:
熟练掌握操作系统原理
熟练掌握计算机网络
熟练掌握数据结构以及算法
良好的java基础
android基本的都要会,在此基础上需要掌握一定的源码方面的知识,比如handler源码,AsyncTask源码,触摸事件机制,view的事件分发机制,清楚他们是如何由0到1完成各自的工作的。
阅读过相关开源项目,对开源项目做过校正或者贡献的,Github好多小星星的~
社招:
再讲之前先吐槽一下某大型互联网照片处理类公司(B)的HR,说好的校招,结果把我安排到社招相关去了,哔了狗了。
对于社招方面,个人了解的也比较少,主要是经历了B这个公司的面试,所以就面试的内容来讲讲吧,抛砖引玉好了,个人觉得社招尤其注重你在工作项目中的对于代码整体框架的整体认识以及熟练掌握程度:
对于源码有一定的研究,Binder机制的理解,熟练自定View,能够对开源库进行再次的封装,改写等等,AWS,WWS等等有一定的认识。
阅读过开源项目源码,清楚开源项目的构建历程,优缺点等。
设计模式的理解与运用。
对于上任公司项目的理解,能够清楚的讲解自己编写代码的思路。
独立解决Bug的能力,优化代码的能力,重构代码的能力。
良好的计算机基础。
最最重要的一点,我觉得是:
对于技术是否有热情,有求知欲,愿意去尝试,去了解新的技术,这是我认为最重要的一点。
仅仅针对个人情况写的,有什么写的不对的地方还请大家多多指正~

5. 如何面试 Android 工程师

拿自身来举个栗子把= ̄ω ̄=~
先介绍一下自己的情况,我是一名2016应届毕业生,自学的android开发,面试过好多公司(目前待业/(ㄒoㄒ)/),有实习生的,也有社招的,也有校招的,下面就从这三个来说吧:

实习生:
对于实习生而言的话,可能对于android方面的要求并不是特别的高,比较注重基础,但是基本的得会,比如:
四大组件基本的概念以及使用。
activity的生命周期流程,这是最基本的,但是你得清楚到底是啥时候调用各个方法,如一个页面(A)当前正在跟用户交互,弹出一个Dialog后,A的各个回调方法的流程调用情况等。
数据存储的方式,五大存储方式的基本使用。
掌握网络通信中httpClient和HttpUrlConnection基本使用,任何网络框架都是从最简单的写起,所以这个必须要知道。
熟悉json解析,JsonObject,JsonArray等等的各种使用。
会导入第三方库。
线程(Thread,Runnable)的使用。
主线程和其他线程的交互(Handler,AsyncTask)。

校招:
对于校招而言的话,主要是对于计算机基础能力的考察,尤其bat等公司更甚,当然android方面也是需要的,主要考察的方面是:
熟练掌握操作系统原理
熟练掌握计算机网络
熟练掌握数据结构以及算法
良好的java基础
android基本的都要会,在此基础上需要掌握一定的源码方面的知识,比如handler源码,AsyncTask源码,触摸事件机制,view的事件分发机制,清楚他们是如何由0到1完成各自的工作的。
阅读过相关开源项目,对开源项目做过校正或者贡献的,Github好多小星星的~


社招:
再讲之前先吐槽一下某大型互联网照片处理类公司(B)的HR,说好的校招,结果把我安排到社招相关去了,哔了狗了。
对于社招方面,个人了解的也比较少,主要是经历了B这个公司的面试,所以就面试的内容来讲讲吧,抛砖引玉好了,个人觉得社招尤其注重你在工作项目中的对于代码整体框架的整体认识以及熟练掌握程度:
对于源码有一定的研究,Binder机制的理解,熟练自定View,能够对开源库进行再次的封装,改写等等,AWS,WWS等等有一定的认识。
阅读过开源项目源码,清楚开源项目的构建历程,优缺点等。
设计模式的理解与运用。
对于上任公司项目的理解,能够清楚的讲解自己编写代码的思路。
独立解决Bug的能力,优化代码的能力,重构代码的能力。
良好的计算机基础。
最最重要的一点,我觉得是:
对于技术是否有热情,有求知欲,愿意去尝试,去了解新的技术,这是我认为最重要的一点。
仅仅针对个人情况写的,有什么写的不对的地方还请大家多多指正~

如何面试 Android 工程师

6. 如何面试 Android 工程师

可以从以几个方面参考
一、语言表达能力。
    语言表达能力很重要。在开发的过程中,需要把问题描述清楚,交流无障碍。
二、独立思考问题
     开发过程中,终会遇到问题的,可以考量一下面试者的思考方式。比如 出一些算法题。
三、技术相关的
     包括java、Android、算法。
 java:  抽象类、接口、自动装配、反射、异常、注解、文件读写、线性安全、java 虚拟机、代码规范相关等等。
Android:handler的机制、自定义View、进程通信、事件处理、网络处理、内存优化、插件化思想、设计模式、类加载器等等
具体要问怎么样的,根据项目来。
算法:几大排序选一个、链表、二叉树等等。