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

98 篇文章 3 订阅
71 篇文章 2 订阅

如何准备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和代码相关信息,请扫描下方二维码

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值