您的当前位置:首页正文

2018年最新Android面试分享

来源:图艺博知识网

*版权声明:本文为博主原创文章,未经博主允许不得转载。 


楼主13毕业,一直在六朝古都。学渣一枚,代码一般。从学习资源匮乏年代走到现在,感慨很多~

见识了很多拥抱开源,乐于分享的大神、发自内心的佩服你们,感谢你们。

在现东家4年了,成长了很多。生于忧患死于安乐,最近总感觉要失业了~决定拿起锄头试水Android市场(原来写Java)。

都说互联网烧钱的时代已经过去了,剩下的都是某某系了。岗位竞争变成都只招专家了,楼主亲测了一把,面试了几家公司—结论:没有核心竞争力,offer不容易。好点的去不了,一般的不想去~

总结了遇到的面试题。网上可能也有,但实战细节汇总一下:


1.APP体系图谱- 2.APP优化图谱-

前言:

基本都来源Android上面2个图谱。专注技术的,可以定个学习计划,深入浅出。


1.F4基础-Activity:

(1.1)Activity的4种启动模式,区别,回调

(1.2)Activity代码设置启动模式,

(1.3)Activity几种退出方式,

(1.4)Activity是否可以配置独立进程,是否可以修改进程名,

(1.5)两个Activity之间跳转时必然会执行的是哪几个方法?

(1.6)保存Activity状态

2.F4基础-Service:

(2.1)Service与IntentService的区别与使用场景,

(2.2)Service两种启动|关闭方式,

(2.3)Activity与Service 通信方式,

(2.4)Service默认运行的线程,是否可以配置隔离进程,是否可以修改进程名,

3.F4基础-Broadcast:

(3.1)Broadcast几种类型,

(3.2)Broadcast拦截,

(3.3)Broadcast运行的线程,

(3.4)Broadcast动态和静态的区别,

(3.5)Broadcast动态和静态的优先级、为什么,

4.View相关:

(4.1)view事件传递分发机制,

(4.2)view绘制过程,

(4.3)view过渡渲染优化,

(4.4)LinearLayout和RelativeLayout的绘制区别,性能差异对比,

5.Animation相关:

(5.1)动画的分类,

(5.2)属性动画使用,自定义插值器和估值器,举例说明,

6.网络通信:

(6.2)Tcp和Udp的区别,

(6.3)socket是什么?

(6.4)简述3次握手和4次挥手,

7.通信相关:

(7.1)为什么需要 Handler?Handler 原理

(7.2)进程间通信AIDL,

(7.3)广播,

同上

(7.4)Messenger

8.进程|线程相关:

(8.1)线程和进程在操作系统是什么,

进程:操作系统分配的独立内存空间,执行一系列CPU指令集。

线程:是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。

(8.2)sleep()和wait()的区别,

(8.3)线程同步、安全方式,

(8.4)线程池理解,

(8.4)JAVA 锁有几种,

9.三级缓存:

(9.1)内存缓存\本地缓存\网络缓存

(9.2)LRUCache,用来做什么?原理是什么? 

10.设计模式:

(10.1)单例,工厂,观察者,代理等

(10.2)Android源码用到了哪些设计模式

(10.2)MVP框架、 MVVM框架

11.性能优化:

(11.1)ANR产生的原因是什么?

(11.2)内存泄露和OOM的分别是什么,有什么区别?

12.其他:

(12.1)讲解一下Context

(12.2)ThreadLocal原理,实现及如何保证Local属性

(12.3)JNI

(12.4)Opengl\渲染管线(初学太好理解)

(12.5)多媒体播放、解码

(12.6)JVM、DVM(Dalvik VM)和ART虚拟机对比

(12.7)JDK1.8新特性?

13.JAVA基础:

(13.1)集合种类

(13.2)String|StringBuffer|StringBuilder区别

(13.3)几种内部类的实现方式,优化,内存泄露风险

(13.4)抽象类和接口区别

(13.5)java反射理解

(13.6)java注解理解

(13.6)java依赖注入理解

14.开源框架:

很多,比如Rx全家桶,写自己用过。没用过的,就说大概了解~

15.常见算法(了解一下):

(15.1)数据结构部分

栈 Stack

队列 Queue

链表 Linked List

数组 Array

哈希表 Hash Table

二叉树 Binary Tree 

堆 Heap

并查集 Union Find

字典树 Trie

(15.2)算法部分

快速排序算法

最排序算法

归并排序

二分查找算法

BFPRT(线性查找算法)

DFS(深度优化算法)

BFS(过度优化搜索)

Dijkstra算法

动态规划算法


结语

1.面试不要迟到,不要放鸽子,即使有特殊情况,也要合理沟通。最起码的尊重,即是对自己也是对他人。

2.面试前,问清HR是否需要带什么(简历,笔等)

3.面试内容没法固化,每家问的都不一样,随机性很强,但基础的容易忽略的知识,往往占一半。

4.面试稍微准备个几天,做个复习。一定要夯实基础,注意细节,专注技术,强化业务。

希望大家都能获得上帝的眷顾,都获得心水的offer,谢谢。



Top