耗时仨月Android 面经验分享,看完再也不敢轻易辞职~

309 阅读6分钟

在老东家呆了将近四年光景,受益颇多,无奈在技能上遇到瓶颈,深感自己技能上不能再进步,毅然离职,加入求职大军。说实话,今年的互联网寒冬、裁猿,大量求职人员迸涌上来,找工作并不是那么容易,要么是投出的简历无人问津,要么有多个面试邀约,面试后也极少有回应的。

从前期准备到所有面试结束,花费了差不多3个月的时间。真可谓“面试造火箭,工作拧螺丝”,面试过程真的很累很辛苦。

用过的求职APP(仅个人体验,仅供参考):

  • 脉脉:几乎大厂邀约,但看过简历后无回应或不合适,可信度50%;
  • 智联招聘:大厂小厂都有,但投递简历后没有回应,即使显示有意向也没有电话邀约面试,可信度30%;
  • 拉勾招聘:招聘信息繁多,但是几乎投递后没回应或者不合适,投递了数封简历仅收到1家面试邀约,可信度60%;
  • 前途无忧51job:基本无用,没有回应,可卸载,可信度20%;
  • BOSS直聘:主要的面试邀请来源,通过线上沟通,发送简历,再到面试,整个流程很人性化,可信度85%;
  • 猎聘:主要是猎头找上来,也有少数公司发布的招聘信息,N个猎头发来招聘私信,如果嫌猎头烦可忽略或卸载,可信度20%。

笔者面了很多公司,最终拿下了知乎、网易和快手的offer,最后选择了知乎。有人可能会问为什么不选择快手?的确快手的工资很高,福利待遇也很好。不过我觉得目前我还是应该更以技术成长为主。在与知乎的面试官交流时,发现他们的技术相对来说更新颖一些,包括Kotlin、Flutter和Jetpack,都有一些实践,也都是我想学习的东西,这边的业务也更感兴趣一些。另外,在谈offer时也被他们满满的诚意打动了。

好了,闲话少说,下面就来给大家带来满满的干货,教大家如何准备简历和准备面试。

简历

简历不用准备得太花哨,以前我总喜欢找一些漂亮的模板,后来经人指点后改成了用Markdown书写。面试官不在意你的简历有多好看,他更在意的是你的简历内容。

大家可以使用冷熊简历去书写简历,然后通过这个网站去生成PDF文件,这样的简历也比较好看。

一般的面试安排都是3轮技术面和1轮HR面,部分公司可能会有增减。

技术面试

技术面试一般会先做个自我介绍,然后问问你做的项目,考察一下基础,之后再写个算法,最后可能问问你有什么想问的么。

自我介绍

自我介绍一般主要说一下你在哪就职,目前的工作情况,工作经验有多久,都做过哪些东西,尤其要突出一下你的亮点。这个大家提前准备一下就好。

项目经历

自我介绍完之后,面试官就会看你的工作经历,挑一些问你,或者直接让你介绍做过的最好的东西。

大家写到工作经历的东西,负责的部分一定要特别熟,经得起面试官的拷问,如果只是参与的,也要尽量弄熟,否则就不要往上写。

每个人的经历不同,做过的东西都不一样,所以我就不给大家整理了。

面试复习提纲

  1. Java基础、面向对象、集合、线程使用;
  2. Android 机型适配、SDK适配、内存优化、内存溢出、内存泄漏;
  3. MVC/MVP/MVVM的使用场景;
  4. 了解并能使用最新流行开源库RXjava+Retrofit+OKHttp、Glide等
  5. JNI及NDK的使用、熟悉Framework。

高频面试题

  • 1.面向对象(OOP)
  • 2.数据类型
  • 3.equal和==的区别
  • 4.字符串运行速度:StringBuilder、StringBuffer、 String
  • 5.Queue 队列、Stack 栈
  • 6.ListView机制
  • 7.Fragment生命周期
  • 8.四大引用类型
  • 9.线程、进程及其通信方式
  • 10.PackageManagerService
  • 11.binder机制
  • 12.launcher的实现
  • 13.Android 版本特性
  • 14.BroadcastReceiver广播
  • 15.RecycleView
  • 16.各种集合比较SparseArray、HashMap、ArrayMap、LinkedList、ArrayList
  • 17.SQLite升级
  • 18.Bitmap
  • 19.Handler机制
  • 20.性能优化技巧
  • 21.ANR
  • 22.自定义View
  • 23.MVC、MVP、MVVM三种架构设计
  • 24.APP 启动流程
  • 25.插件化
  • 26.Kotlin 多平台应用的静态编程语言
  • 27.Framework 工作原理
  • 28.Android 屏幕适配
  • 29.事件分发机制
  • 30.Android 动画分类:视图,属性,帧,gif
  • 31.Android 进程
  • 32.Android 五大存储方式
  • 33.屏幕旋转Activity生命周期
  • 34.Activity 四大启动模式
  • 35.CPU、GPU工作原理
  • 36.UI卡顿原因
  • 37.Application的生命周期
  • 38.如何避免因引入的开源库导致的安全性和稳定性?
  • 39.简单的音频/视频格式
  • 40.线程同步的方法
  • 41.线程安全的单例
  • 42.Serializable、Parcelelable
  • 43.Service启动方式和生命周期
  • 44.Android 常见布局
  • 45.Http、Https、Volley、OkHttp、RxJava + Retrofit + OkHttp、TCP、UDP
  • 46.如何节省内存使用,主动回收内存?
  • 47.Activity如何生成View?
  • 48.为什么要使用多线程?
  • 49.现场保护
  • 50.内存溢出、内存泄漏
  • 51.JNI和NDK
  • 52.常用的设计模式及其实现思想和作用
  • 53.HashMap、 HashTable、HashSet的异同
  • 54.Android 中内存泄漏原因及优化方案
  • 55.LeakCanary 内存泄漏检查的开源工具
  • 56.多线程、线程池
  • 57.腾讯 Bugly
  • 58.Glide

除了上面以外,面试官也可能会问问跳槽原因,我一般还是以个人技术成长的角度回答的,具体我就不详述了。

最后,面试官还可能会问问你有什么要问的,一般我们要问问技术、项目相关的东西,比如你们使用的技术栈是怎样的、团队的规模怎么样、我来了之后会做些什么工作等等。

HR面

如果你能进到HR面,那么恭喜你拿offer就很有希望了。

一般HR会问你生活的方方面面,大家如实回答就好。当HR问我们对薪资的诉求时,我一般还是以现公司总包的基础上涨30%要求薪资,这样起码也会给你到20%-30%。当然有些公司比较例外,比如快手可能给的会高一些。

最后HR会再问问你有什么要问的,这时候可以问问公司的薪资待遇等情况,比如有多少年终奖、评级制度怎样的、多久晋升和普调一次、普调的幅度多少、有哪些福利待遇、有多少年假等等。

另外,一定要问问后续还有什么流程,是否要做背调、什么时候做背调。

最后

笔者综合了面试中问到得一些问题与网上收集的一些面试题,分类归纳整理成了下面这《Android 中高进阶面试集锦》,共计两百多页(内含参考答案),主要是方便往后自己面试别人或自己下次面试可以进行反复翻阅进行复习,如果有需要的小伙伴可以 通过点击此处↓↓↓ 进行参考学习。助你早日拿到心仪的Offer!!!

有需要的可以复制下方链接,传送直达!!!
https://qr21.cn/CaZQLo?BIZ=ECOMMERCE