0
点赞
收藏
分享

微信扫一扫

三年 Android 开发的面试心经(后悔当初没有拿 N+1,android底层开发教程

爱动漫建模 2022-02-15 阅读 33

废话不多说了,直接来说说我最近的面试经历吧。我投简历的公司有很多,基本都收到了面试通知的邀请,其中有让我心血沸腾的简历,也有让我感到失望到无助的经历,于是我将这些经历都记录下来了,细想之后很值得,面试了这么多家公司,要是到最后什么都没有留下来,那就白白浪费了这么多的时间。至少对我来说将一些好的经历与差的经历进行整理总结,最后肯定能等到我想要的答案。希望这些能给想换工作的大家提供帮助。

离职原因


公司裁员的时候我们老大对我说:你留下来好好干,后面不管公司怎么分股份、期权、肯定不会少你。当时我很信任老大,跟着老大一起干感觉就是一种享受。

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

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

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

面试分级


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

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

基础很重要


以前自己一直觉得从事 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. 跳槽原因

本文在开源项目:GitHub中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

464/Android-P7/blob/master/Android%E5%BC%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md),里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

举报

相关推荐

0 条评论