当前位置:首页 » 《资源分享》 » 正文

Android面试知识梳理(面试官及面试者)_m0_59614665的博客

25 人参与  2021年10月02日 11:03  分类 : 《资源分享》  评论

点击全文阅读


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

在这里插入图片描述


点击全文阅读


本文链接:http://zhangshiyu.com/post/29176.html

项目  部类  知识点  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1