安卓性能优化面试,从草根到百万年薪程序员的十年风雨之路

前言

先简单交代一下背景吧,本人毕业于某不知名985的本硕,17年毕业加入阿里,今年下半年跳槽到了头条,一直从事后端研发相关的工作。

之前没有实习经历,算是两年半的工作经验吧。这两年半之间完成了一次晋升,换了一家公司,有过开心满足的时光,也有过迷茫挣扎的日子,不过还算顺利地从一只职场小菜鸟转变为了一名资深划水员。

在这个过程中,总结出了一些还算实用的划水经验,有些是自己领悟到的,有些是跟别人交流学到的,在这里跟大家分享一下。

阿里

  • 进程间通信方式?Binder的构成有几部分?
  • HttpClient和HttpConnection的区别
  • View的事件传递机制
  • MVC,MVP,MVVM分别是什么?
  • Android中常用的设计模式,说三个比较高级的?
  • 内存优化,OOM的原因和排查方法
  • 想改变listview的高度,怎么做
  • Https是怎么回事?
  • 除了日常开发,其他有做过什么工作?比如持续化集成,自动化测试等等

滴滴

  • ActivityA跳转ActivityB然后B按back返回A,各自的生命周期顺序,A与B均不透明。
  • Synchronize关键字后面跟类或者对象有什么不同。
  • 单例的DCL方式下,那个单例的私有变量要不要加volatile关键字,这个关键字有什么用
  • JVM的引用树,什么变量能作为GCRoot?GC垃圾回收的几种方法
  • ThreadLocal是什么?Looper中的消息死循环为什么没有ANR?
  • Android中main方法入口在哪里
  • jdk1.5?SparseArray和ArrayMap各自的数据结构,前者的查找是怎么实现的,与HashMap的区别
  • Runnable与Callable、Future、FutureTask的区别,AsyncTask用到哪个?- AsyncTask是顺序执行么,for循环中执行200次new AsyncTask并execute,会有异常吗
  • IntentService生命周期是怎样的,使用场合等
  • RecyclerView和ListView有什么区别?局部刷新?前者使用时多重type场景下怎么避免滑动卡顿。懒加载怎么实现,怎么优化滑动体验。
  • SQLite的数据库升级用过么
  • 开放问题:如果提高启动速度,设计一个延迟加载框架或者sdk的方法和注意的问题。
  • Scroller有什么方法,怎么使用的。
  • 分享下项目中遇到的问题
  • webwiew了解?怎么实现和javascript的通信?相互双方的通信。@JavascriptInterface在?版本有bug,除了这个还有其他调用android方法的方案吗?
  • ReactiveNative了解多少
  • JNI和NDK熟悉么?Java和C方法之前的相互调用怎么做?

几点建议

1、简历要如实写,相关的知识点一定要烂熟于心。
2、基础扎实,android和java相关的知识树网上有很多资料,看过但让你讲出来未必能说的好。
3、提前总结,你还擅长什么其他技术?这种开放问题要看知识面了。
4、学会提问,你有什么问题要问我吗?这种礼貌性问题也是一个了解对方的好机会。
5、良好的心里素质,无论遇到什么情况,面试官迟到、面试官态度冰冷说话不客气、质疑你的回答等等各种问题都不要慌也不要排斥,一定要沉住气,耐心积极的思考并回答对方的提问。
6、推荐几本书,也是好几次面试后发现里面涵盖了大部分答案。《Android开发艺术探索》《Android源码设计模式-解析与实战》《Android进阶之光》《深入理解Java虚拟机》《Android音视频开发》《Android进阶解密》多看几遍。

以上面试中问到的题目基本上都可以在其中找到答案,所以做准备是很重要的,但技术是一点点积累的,就算你全会背了,面试过了,真正等到工作的时候还是会捉襟见肘的,所以踏实点吧骚年。

而且大厂的面试流程比较长,面试是一场全面大考验,如果想换个工作,最好提前充分准备。

优秀开源项目:

  • ali1024.coding.net/public/P7/Android/git

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

  • github.com/android

简介:Android官方GitHub开源项目,强烈推荐

结语

看到这篇文章的人不知道有多少是和我一样的Android程序员。

35岁,这是我们这个行业普遍的失业高发阶段,这种情况下如果还不提升自己的技能,进阶发展,我想,很可能就是本行业的职业生涯的终点了。

我们要有危机意识,切莫等到一切都成定局时才开始追悔莫及。只要有规划的,有系统地学习,进阶提升自己并不难,给自己多充一点电,你才能走的更远。

千里之行始于足下。这是上小学时,那种一元钱一个的日记本上每一页下面都印刷有的一句话,当时只觉得这句话很短,后来渐渐长大才慢慢明白这句话的真正的含义。

有了学习的想法就赶快行动起来吧,不要被其他的事情牵绊住了前行的脚步。不要等到裁员时才开始担忧,不要等到面试前一晚才开始紧张,不要等到35岁甚至更晚才开始想起来要学习要进阶。

给大家一份系统的Android学习进阶资料,希望这份资料可以给大家提供帮助。

给大家一份系统的Android学习进阶资料,希望这份资料可以给大家提供帮助。
[外链图片转存中…(img-p5Kk7eLt-1648233205175)]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值