双非本科Android开发,如何逆袭拿到大厂 Offer?(1)

  • 《Java编程思想》
  • 《深入理解Java虚拟机》
  • 《图解Java多线程设计模式》
  • 网络相关
  • 《计算机网络》(谢希仁 编著)
  • 《网络是怎么连接的》
  • 数据结构与算法相关
  • 《算法导论》
  • 《算法》(第4版)
  • 设计模式相关
  • 练习相关

知识总结

看了这么多书籍和网站之后需要对这些知识做一个比较系统的整理,这里推荐使用思维导图工具,下图则是我总结的Android复习体系图,完整的版本大家可以点击这里下载。

面试技巧

  • 面试前需要对自己总结的知识重新回顾一遍,以便在被问及时能够快速并且全面的回答问题。

  • 面试前对该公司稍做了解,可以从官网或者从产品等方面了解,如果有产品的话还可以使用,看看有没有存在一些bug,当面试官要你提问题的时候可以跟他一起讨论。

  • 面试完之后做稍做记录,记下自己回答的不好的问题,方便查漏补缺。

下面是我收集整理的一套大厂Android面试真题含解析,完整的朋友可以点击【这里】免费阅读下载。

部分面试经历


CVTE

一面 (电话面)

  • 讲讲你看的Android源码

  • 说说你在项目中用到的MVC

  • 说说观察者设计模式

  • 讲讲对线程安全的理解

  • JVM内存模型

  • HashMap的工作原理

  • 知不知道可重入锁

  • GC回收算法(凉)

  • 引用方式

  • 内存溢出和内存泄露的区别,内存泄露一定会内存溢出吗?

  • 四大组件有哪些

  • Activity的启动模式

  • Activity的生命周期

  • wait使用时要注意什么(答了死锁,面试官换了题目,应该是没有get到它的点) —和notify成对出现

  • ArrayMap和HashMap区别(没答出来,之前看过ArrayMap但忘完了…)

二面

二面应该是总监面,问题主要偏向项目,有一些问题已经忘记了,只能列出一些还记得的:

  • 做了哪些项目?详细说一下项目。

  • 讲一下RXJava原理;subscribeOn()与observeOn()哪一个方法多次切换线程只有第一次有效?为什么?

  • Volley原理?

  • Retrofit原理?

  • Volley与Retrofit缓存机制有哪些区别?

  • 简单工厂,工厂方法,抽象工厂三种设计模式的优缺点?

  • 什么是内存泄露,什么是内存溢出?

  • 平常使用什么分析工具来优化APP的性能?

  • 手写算法题————实现一个栈

  • Java的集合类包括哪些?各自有什么特点?

  • 为什么写博客?

  • 今后想要往哪些方面发展?

终面(视频面)

我并不认为我能走到最后[不是矫情和装],因为面过CVTE的人都知道,最可怕的是它的终面,终面是被人诟病的,说CVTE不好的基本都是吐槽它的终面,还是有点慌的。又过了好几天,约好了终面的时间==

  • 给前两次面试打分,满分10分。为什么这么打?

  • 有没有面试过哪些公司了,有收到多少offer了,为什么?

  • 工作的薪资期望,地点和时长?

  • 家庭情况,爸妈性格怎么样,你觉得跟谁的比较像,家里人对工作有什么要求吗?

  • 你父母小时候是怎么教育你的?

  • 有没有女朋友?

  • 你未来有什么规划?(我说了一个三年目标和五年目标)

  • 你在技术方面最有成就感的一件事情是什么?

  • 最近压力最大的是什么事情,如何调解?

  • 为什么没有留在之前的公司?

  • 如果你面试没有通过,你觉得是什么原因呢?

  • 你会因为什么原因拒绝我司的Offer?(个人觉得这个问题回答的很关键,我说我不会拒绝的,因为贵公司就是我想去的公司)

仔细回想发现有点强行跪舔的感觉,中间也暗示过几次只要你要我,我TM就去。

在两天后的晚上官网刷新状态— 终面通过了,bingo!!!

乐视

笔试:

笔试没啥特别的东西,都是一些java基础,安卓基础,几道中规中矩的算法。

一面:

  • 四种启动模式?写了几个情况,让我说back键的情况?

  • LayoutManager和MeasureSpec之间的关系?

  • 堆排的思想?快排的时间复杂度?手写一下快排?

  • Handler机制?

  • Service即start又bind,怎么才能彻底停止?IntentService怎么实现的?

  • Aidl中Stub和Proxy的区别?聊一聊对Binder的理解?

  • 手写一个有序数组的合并?

二面:

二面整体就是根据我的简历,问了问。让我聊一聊看过的OkHttp的源码。

手写了俩个算法:

  • 用最小的时间复杂度判断单链表是否有交点。

  • 手写二叉树的按层级进行遍历。

HR面:

谈人生谈理想…

乐视的效率不算高…一周后给了答复,可以给offer…不过鉴于乐视最近的情况…再考虑吧

知乎

知乎算是一次体验比较差的体验…一面就让我走了,而且我都不知道啥原因。手动摊手.png

一面:

  • 聊一聊ArrayList源码?什么时候初始化数组?怎么扩容?扩容时使用什么样的方式增大数组?

  • 聊一聊HashMap源码?怎么扩容?源码的hash是怎么保证平均散列的?hash冲突后,使用什么方式解决?插入的时候在头结点,还是尾结点?key为空的处理?

  • java中的序列化和安卓中的序列化

  • 聊一聊安卓中特有的集合

  • 线程安全的Map有什么?使用什么样的方式保证线程安全?分段锁和重入锁的区别?

  • synchronized和Lock的区别?

  • Measure的三种情况?
    自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

最后

在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

d高级架构师进阶必备的一些学习技能。**

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

[外链图片转存中…(img-HGrrnLYw-1713530457898)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值