2020年上半年最接地气的Android面经,为你进大厂保驾护航

  • 双非本科,非计算机专业。本专业是机械

  • 工作三年,都是小厂,小组最多没超过4个人

  • 算法基础一丢丢(翻书‘马冬梅’,合书‘什么梅’)

  • 英语水平半文盲

  • 懂一点应用层方面的音视频编解码知识

面试之前

首先我不建议频繁的跳槽,除非被逼无奈,频繁跳槽,不光会成为面试官害怕的一个方面,对自己的沉淀也是没有帮助的。同时我不建议裸辞,这样会存在太多的不定性因素,如果面试时间拖得太久,这段时间你没有经济收入,但是你还在支出(房租,日常生活开销)。这样会带来无形的压力,同时如果面试受挫,很容易失去信心,甚至怀疑自己的能力。但是离职也有他的好处,因为,有些公司可能项目非常急,需要迅速上岗,那么你离职的交接办理也会耽误一些时间,那么也会成为面试官考虑的一个因素。所以还是要结合自己的情况而定。

如何准备

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

我是从4月接近中旬开始面试的,一直到5月底结束,整个面试周期差不多一个月左右的时间。这次面试采用的策略是以战代练,就是边面边复习。面试的话,主要是朋友内推,Boss和拉勾。但Boss的话,初期不建议把简历可见,我就在这方面吃了苦头(别提了都是泪)。接下来我将这一个月内我接触的知识点铺展开来,也给大家一点参考。

接下来我将这一个月内我接触的知识点铺展开来,也给大家一点参考。

**算法:**LeetCode,把链表、排序、树标签里所有简单类型的题目练一下手。特别是排序,冒泡、快速、二分、选择、归并一定要达到手写的水平!

**数据结构:**Java的HashMap——7和8的区别、ArrayList、LinkeList。Android的ArrayMap、SparseArray系列。还有阻塞队列ArrayBlockingQueue、LinkedBlockingQueue。HashMap的结构和细节是遇到最多,建议仔细看一下源码,一定要有自己的理解(划重点)。把HashMap如何存储、如何查找。hash碰撞,以及内存利用率这些问题理解一下

**设计模式和架构:**准备一些自己拿手的模式,在网上查一下资料。准备一些套话,关键词耦合,二次修改方便,外部不用关心内部实现等等。MVC、MVP、MVVM三种,起码要了解两种,并且能清晰明确的说出,两种架构间的优缺点。

我本身经历过一次MVC -> MVP的过渡,所以面试的时候就只提了这两种。MVVM没接触过,就实话实说没搞过,面试官也不会再问。千万不要打肿脸充胖子,没接触过就说不会就可以了。关键词:UI逻辑、业务逻辑、不影响对方的前提下修改、逻辑清晰,方便定位

**Android基础:**这个就很重要了,当然涉及面也相当广。四大组件,生命周期这个啥都不说了,直接冲就是了,基本都会问到。Handler、View绘制流程、事件分发,这些都是老生常谈。

**Android框架基础:**AMS,Activity的启动过程。Android绘制流程(这个看个人了,因为我简历上写了熟悉Canvas库,手动狗头)

**Java基础:**多线程、线程池、锁机制,这两个知识点问到的还挺多的。其他的包括,内存区域、内存泄漏、垃圾回收。。。(这些懂个概念即可,不深究)

简历

简历制作是一种学问,一份好的简历往往让人眼前一亮。同时简历要突出重点,

  • 技能特长 比如你自定义View好,那么就把View的相关技能写上,比如:View加载流程,事件分发,自定义属性,滑动冲突等等,如果视频方面强那么就相关的技能写上。尽量不要有精通,除非你真的“精通”。否则就是给自己挖坑。也不要写一些太过常见的技能,如果:了解Activity的生命周期。谁都知道的东西,没别要单拿出来。也不要太长或太短10-12个技能特长左右。宗旨在于表达的特点简单明了。其他的点大家在自己搓摩下。

  • 项目介绍 如果你是实习,那么你一定要有自己在大学项目,或是毕业设计,或是团队项目。如果是在职一定要有公司的项目。同时项目不宜过多2-3个即可,如果你有觉得可以在简历上写的前端或是后台的项目,那么会有很大的加分。同时项目介绍不要太过啰嗦,3-5行,突出架构,核心技术,主要功能与模块即可,同时写出自己在其中做了那部分内容。(这部分要写好,因为面试官很可能会问你,你开发中遇到的问题,难点,优化,协作,调试等相关问题)

  • 其他技能 如果有英语4.6级一定要写上,有github,个人blog一定要写上地址。这我就不用说了吧。

简历制作总结: 至于其他的对大家应该没有难度。同时适当的包装无可厚非,求职者想找个好工作,面试官想找个好员工。对方就像相亲一样。一定会把你的底摸个清楚的。如果相亲的时候的没问题,等孩子都有了那就晚啦。哈哈,我就是这个意思。包装的目的是为了增加HR的通过率。这样才会有面试机会,对我们这种渣渣来说,面试机会比面试通过与否更重要。因为面试邀请都没有,你准备有个P用。

最后我还是希望大家提高自己的实力,实力才是硬道理

面试

以上是一些复习的知识点,因为要准备的东西还是蛮多的。所以时间上的安排一定要灵活,我是早上复习Java基础,中午看Android,晚上复习算法和数据结构。有面试的话,就提前去了解一下公司的产品,去官网上冲一冲浪,下个APP玩一下。也算提前给自己一个心理准备。以下是一些面试题,供给大家参考:

  • RecycleView复用机制

  • RecyclerView的LayoutManager如何布局

  • 设计模式:观察者模式

  • APP启动优化

  • 注解原理

  • java内存模型

  • 内存泄漏处理;可能出现的内存泄漏问题

  • 性能优化如何做——这是一个比较泛的问题,主要从布局分析、绘制分析、内存优化几个大的方面去延伸,如何定位、如何解决,说出自己的理解和经验即可

  • 链表和数组比较

  • 死锁和多线程——因为自己说秃噜嘴了,提了一句死锁。就被问到了555,好惨。所以千万别装,不会就别提

  • 自定义view。要具体到在onMeasure里怎么处理,onLayout怎么处理

  • 矩阵原理,因为我说了我熟悉Canvas

  • 事件处理,事件分发。同学们,这道题基本必问。敲黑板!

  • 差值器原理

  • 线程池原理,涉及到阻塞队列

  • Kotlin,apply和let区别

  • AS如何检查内存泄漏——考察你的工具使用熟练度

  • canvas的绘制是如何实现的——硬绘和软绘

  • 遇到的印象最深一次的内存问题

  • 如何写一套图片加载库——考验你的综合能力

  • Bitmap的缓存,软引用、Lrucache。recycle如何实现

  • view的post如何实现

  • Fragment和View的区别

  • Http的请求方式,RestFul熟悉吗——网络我基本只知道一些概念

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值