三年 Android 开发的面试心经(后悔当初没有拿 N+1)(2)

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

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

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

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注Android)
img

正文

但是没有想到公司裁员后,公司内部动荡很大,主业务线从客户端A业务线转移到B业务上。我主要负责的是A客户端的架构,于是我闲下来了。B业务线那边很忙,没时间配合我做一些架构上的事情。于是我每天就在脑补的查看各种学习文档,补充知识点能量。

做了几天后,后悔自己当时没有那 N+1 走人,有种被老大忽悠的感觉。因为后面发生的是我就暂且不讲了。只怪本人经历尚浅,看不清一些大的趋势,还是老鸟们聪明,拿钱走人,然后换一个新工作,好不自在啊

没过多久我就离职,开启了我的面试之旅~

面试分级


我在家休息了一周左右的时间,给自己简单的放松了一下。休息完后就开始了投递简历(世界那么大,我想去看看)。这次看机会与以往不同,我决定先想好好的准备一番,然后开始投递简历,主要通过的是朋友内推,Boss直聘。

这次看机会我将所有公司分为三类:

1.A类: BAT公司,非常靠谱,各项待遇都是很优厚的

2.B类:一些知名的互联网公司(基本都在C轮以上),基本很靠谱,该有的都少不了

3.C类:就是那些正在招聘的公司,没啥名气,虽然钱多但是事也多。靠不靠谱真还不知道,只能碰运气

基础很重要


以前自己一直觉得从事 Android 开发工作都好几年了,去面试基础问题应该没什么问题。正式因为自己傲娇的自信,导致自己总是碰壁,尤其是遇到很多基础性的提问,一时尴尬的不知道怎么回答?还有一种情况就是,一些问题面试前都记得很准确,但到我回答的时候,却怎么也打不上了。

于是在这次面试前,我在网上收集整理了一些 Android 开发相关的学习文档、面试题等进行了复习学习。还把自己之前做过的一些项目中遇到的问题进行了回顾,并找到了相应的解决方案。心想这次应该没有那么尴尬的碰壁了吧。

为了方便以后能够在此能力利于查阅翻阅复习,我特此整理在Github上,如有需要参考的可以直接去我 CodeChina地址:https://codechina.csdn.net/u012165769/Android-T3 访问查阅

刚踏入架构师之路的经历


这次我给自己的规划是做一个架构师,但是我深知架构师可不是闹着玩的,必须要有很强的一面,因此我在简历里面写的只是“架构师方向”。我在K公司 做得是架构师方向,因此我觉得有必要朝着这个方向发力,虽然现在不是很厉害,但是坚持一两年后,即使不是非常厉害,但是也距离非常厉害很近(这里使用了《孙子兵法》的一句:“求其上,得其中;求其中,得其下,求其下,必败。” )。

这个想法来源于在K 公司我第一任leader曾经跟我说过的话:『对于新东西,如果你觉得掌握了,但是不应用到项目里面来,是没有什么意义的,时间长了还是会忘记的。』我很庆幸我有一个好老大(我是属于双领导型的,K 公司 A项目的负责人是我的leader,但是我的直接汇报对象是 K 公司的副技术总监,下文就成为老大),用他的话来说就是经常踢着我的屁股走。

当我在网上了解到很多实用的新技术时,跟他随意吐露一句话,他就能非常用心的倾听我的想法,并鼓励我将这些东西带入到项目中来。从那以后我就开始看很多新技术,感觉合适的会引进到我们的项目中。从之后的证明中来看,是非常有价值的。

面试经历


A公司一面

  1. 自定义view

  2. Handler机制

  3. 组件化和插件化

  4. HashMap的源码

  5. retrofit和okhttp的源码用到了哪些设计模式

  6. NDK静态库和动态库编译流程

  7. openGL渲染模式

  8. Android中的动画有哪些它们之间的区别

  9. 谈谈mvvm

A公司二面

  1. 讲之前做的项目负责哪块,根据业务采用什么架构

  2. 使用过哪些设计模式,项目中遇到哪些棘手的问题,如何解决的。

A公司三面

这个是hr说,整体问下以前公司的情况等问题

感受:自己简历上写的东西要熟悉,基本面试官都是根据简历来问的。对自己以前做的项目也好好梳理,提前组织好语言,挖掘项目闪光点。

B公司一面

  1. java引用,以及引用队列,以及使用场景

  2. 拆装箱

  3. LeakCanary

  4. map

  5. 线上性能监控

  6. SharedPrefrence 遇到的问题

  7. 手写算法

B公司二面

  1. Handler

  2. 进程间通信

  3. 序列化

  4. 动画

  5. native崩溃捕获原理

  6. 结合项目提问

  7. Recyclerview的点击事件原理

  8. 启动一个空的apk,回启动几个线程

  9. 手写算法

B公司三面

  1. 跳槽原因

  2. 原来公司规模

  3. 预期薪资

  4. 个人优势

感受

1.简历上写的一定要了解,并且知道原理

2.多熟悉项目,找出一些能聊得功能点

3.崩溃捕获,以及解决(java ,native)

4.优化需要知道(大厂都会问)

5.了解由点到面,需要把知识连贯起来

6.还有如果想要高薪,一定要多跳槽,一般大厂工资涨幅都是有限度的,最高涨幅百分之30,除非你特别牛皮

C公司一面

  1. MediaCodec连环炮:MediaCodec报错,只有错误码,没有任何其它信息,如何解决?使用MediaCodec遇到了哪些问题?同步使用和异步使用有什么区别?

最后

以前一直是自己在网上东平西凑的找,找到的东西也是零零散散,很多时候都是看着看着就没了,时间浪费了,问题却还没得到解决,很让人抓狂。

后面我就自己整理了一套资料,还别说,真香!

资料有条理,有系统,还很全面,我不方便直接放出来,大家可以先看看有没有用得到的地方吧。

系列教程图片

2020Android复习资料汇总.png

flutter

NDK

设计思想开源框架

微信小程序

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)
[外链图片转存中…(img-f3aOT3Cb-1713293615775)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值