Android面试知识梳理(面试官及面试者)

Posted Android老皮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android面试知识梳理(面试官及面试者)相关的知识,希望对你有一定的参考价值。

如何准备android的面试,结合我之前面试和面试官的经验,目前我梳理了一些基本的知识和准备。

首先,自己要对整个面试要考察的内容要有比较清晰的结构。

下面是整个思维导图:

我们主要分为2大块

1.基础知识

基础知识主要包括

1.Java,Kotlin的基本语言,

  • 面向对象的基本思想

  • 内部类:内部类的分类、应用场景、内部类编译成class后是怎么样的。

  • 抽象类 & 接口:区别、应用场景。

  • 注解:注解的基本概念、分类、编译时注解 & 运行时注解。

  • 内存模型。

  • 垃圾回收。

  • 类加载的过程。

  • 泛型:分类、通配符 & 上下边界、泛型擦除。

  • 反射:使用。

  • 多线程,线程池。

  • Kotlin的优点,协程。

2.Android基础知识

  • Dalvik、Art虚拟机

  • Activity:生命周期、launchMode。

  • Fragment:生命周期、懒加载、两种Adapter之间的区别。

  • BroadcastReceiver:基本概念、广播分类、权限。

  • Service:生命周期、onStartCommand的返回值、startService和bindService的区别、相同进程 & 不同进程的交互、IntentService实现原理。

  • 重要的工具类 & 源码实现:AsyncTask、HandlerThread、Handler、IntentService、LruCache、LinkedHashMap、SparseArray。

  • RecyclerView:缓存原理、和ListView的对比、Adapter如何适配多种layout。

  • 存储:数据库升级 & 优化、ContentProvider,SharePreference。

  • SDK版本升级的兼容问题。

  • Android的权限管理机制。

3.数据结构

  • 数组,链表,

  • 栈 Stack

  • 队列 Queue

  • 链表 Linked List

  • 数组 Array

  • 哈希表 Hash Table

  • 二叉树 Binary Tree

  • 堆 Heap

  • 并查集 Union Find

  • 字典树 Trie

4.算法

  • 二分搜索 Binary Search
  • 分治 Divide Conquer
  • 宽度优先搜索 Breadth First Search
  • 深度优先搜索 Depth First Search
  • 回溯法 Backtracking
  • 双指针 Two Pointers
  • 动态规划 Dynamic Programming
  • 扫描线 Scan-line algorithm
  • 快排 Quick Sort
  • leetCode,剑指Offer里刷题

5.网络

  • 网络分层模型,TCP/UDP,HTTP/HTTPS

6.设计模式

按照23种网络模型、三个分类进行总结,每种设计模式包含以下三个方面,至少要准备常用的几个:

基本概念:UML图、简单例子、应用场景、优势 & 劣势。
Android源码中的实现
项目中的应用

7.其他

如:

  • 跨平台:RN,Weex,Flutter

  • 开源库:OKHttp,Retrofit,Glide

  • 组件化,插件化,Gradle

2.项目经验

1.自我介绍

通常面试一开始,面试官就会让我们先自我介绍。

自我介绍这部分,逻辑清晰,有条理最重要。

之前工作的公司、岗位及工作方向。

团队构成,在团队中的位置及承担的责任。

为团队做出的主要贡献,对于这部分涉及到的 项目经历以及延伸出的知识点 一定要重点准备

2.项目经验

把觉得做的有亮点的东西挑出来,从四个方面来准备

  • 功能模块的实现
  • 达到了什么效果
  • 遇到了什么问题,是如何解决的
  • 涉及到的相关知识点

项目经验和知识点其实是一个双向的过程,要试图去找到它们之间的联系:

  • 谈到项目经验的时候,可以说:做完 xx 之后,我还去了解了一下 yy 背后的原理,xxx,这里体现的是你是否有求知欲
  • 谈到知识点的时候,可以说:yy 的原理是这样的,在 xx 项目中我是如何应用它来解决问题的,这里体现的是你是否具备把知识付诸实践的能力

3.解决问题

通常面试官会问你在平时开发过程中有遇到什么比较棘手的问题么,以及如何去解决的

  • 遇到问题
  • 分析过程
  • 解决方案
  • 结果

更多Android和代码相关信息,请扫描下方二维码

以上是关于Android面试知识梳理(面试官及面试者)的主要内容,如果未能解决你的问题,请参考以下文章

Android面试:整理了Android面试官最常问的174道面试题,让你秒变offer收割机

java排列组合算法,学习路线+知识点梳理

最全Android面试知识点梳理,终获offer

最全Android面试知识点梳理,我先收藏为敬

借鉴了阿里这份内部软件测试复习笔记,让你超过80%的测试面试者...

寒冬也挡不住进大厂的决心,Android面试知识架构,面试需要掌握的都在这里!