我,Android开发5年,32岁失业,现实给我狠狠上了一课!

如今的职场,风险是越来越高,不管你是应届生或者你是否中年,遇到好点的企业,红火那么做个三五年,运气不好,半年甚至2、3个月也就玩完了。

所以,即使你希望工作能稳定,但也会让你大失所望,职场寿命就那么几年,换多次工作已是必然。

虽说裁员这事或许是天注定的事,但作为一个职场人,笔者建议你还是要提前有个大致准备的,至少提前有个心理准备,也就是忧患意识。

笔者为你分享一篇网友的真实案例,你能看到,那你就是幸运的。

我是怎么也想不到裁员这件事情会轮到我头上,虽然没有很突出的成绩,可是交给我的任务也尽职尽力做好了,忙季的时候我也天天加班到11点,有一天晚上加班到凌晨3点,到家都四点了。

劳动节放假出去玩了几天,回来没多久公司就以资金困难,亏损较大为理由将我们整个技术部裁掉,我失业了。

本来我们家去年刚买了新房,已经打算要小孩了,感觉一切都在轨道上,一下子给我来了这么一出,现在是要还是不要呢,小孩儿出生、上学又要一大笔钱,心里好乱。

且不说现在适合我的工作没那么好找(毕竟我已经有多年工作经验,entry level的打杂职位我肯定不去),高级的技术岗别人估计不会要我,数据结构和算法的功底一般,在开发过程中只是浮在表面,忽略底层源码分析。

之后一个礼拜,我开始每天复习面试题,刷力扣和剑指offer,并且重新做了简历。不管怎样,工作还是要找的,不然每个月的房贷怎么办,还好之前就有危机意识,存够了一年的房贷,让我现在有了喘气的机会。

在被裁员的四个月之后,我面试了京东、高德及两个公司的分公司,虽然四次面试有三次失败,但也成功拿下了京东金融Android研发岗的offer,这3个月的时间里,我并未气馁,也未选择转行,而是静下心来复习好一些理论,鼓起了勇气给京东投了我的简历。

京东金融

面试机会来自于朋友内推

一面:

  • 四大组件
  • 广播分类-有序广播和无序广播的区别
  • service生命周期 / onStartCommand的返回值有什么作用
  • Activity生命周期 / 启动模式 / 各种启动模式下的startActivityForResult
  • android 7.0 8.0 9.0的新特性
  • 讲一讲android的动画
  • 怎么实现多线程
  • 线程间怎么通信
  • handler机制
  • handler的post/postDelay怎么做的
  • looper和线程是怎么对应的
  • 所有的view都不可以在子线程更新吗
  • java 三大特性
  • 接口和抽象类的区别
  • 注解了解吗
  • 反射说一下
  • java的引用
  • 讲一讲垃圾回收/gcroots是啥
  • 加密了解吗
  • 说一说http和https的区别

二面:

  • 简单说下项目
  • 内存泄露,如何检测以及检测的原理
  • 点击Launcher跟点击微信支付启动微信有什么区别
  • 逆序一个字符串,不能调用String的reverse方法(考察编码风格)
  • 组件化原理,模块化机制
  • 没有给权限如何定位,特定机型定位失败,如何解决
  • 同步跟异步机制(是业务上的,不知道他想问什么)
  • 线程池中核心线程数跟最大线程数如何定义

HR面

感觉人均hr面了,就是走个过场的感觉,hr说九月底会有结果,多多关注官网的状态。就结束啦。
佛系等结果。

过了半个月的样子就收到录用函啦。

面试大厂前的系统复习路线

有时候,选择比努力更加重要,机遇比奋斗更加重要。但是,机会只留给有准备的人。我们只有时刻准备着,才能在机会到来的时候,去抓住它。

这里给大家分享一下我的面试复习路线,有需要的朋友可以参考一下:

1、看视频进行系统学习

前几年的Crud经历,让我明白自己真的算是菜鸡中的战斗机,也正因为Crud,导致自己技术比较零散,也不够深入不够系统,所以重新进行学习是很有必要的。我差的是系统知识,差的结构框架和思路,所以通过视频来学习,效果更好,也更全面。关于视频学习,个人可以推荐去B站进行学习,B站上有很多学习视频,唯一的缺点就是免费的容易过时。

2、进行系统梳理知识,提升储备

客户端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

系统学习方向:

  • 架构师筑基必备技能:深入Java泛型+注解深入浅出+并发编程+数据传输与序列化+Java虚拟机原理+反射与类加载+动态代理+高效IO

  • Android高级UI与FrameWork源码:高级UI晋升+Framework内核解析+Android组件内核+数据持久化

  • 360°全方面性能调优:设计思想与代码质量优化+程序性能优化+开发效率优化

  • 解读开源框架设计思想:热修复设计+插件化框架解读+组件化框架设计+图片加载框架+网络访问框架设计+RXJava响应式编程框架设计+IOC架构设计+Android架构组件Jetpack

  • NDK模块开发:NDK基础知识体系+底层图片处理+音视频开发

  • 微信小程序:小程序介绍+UI开发+API操作+微信对接

  • Hybrid 开发与Flutter:Html5项目实战+Flutter进阶

知识梳理完之后,就需要进行查漏补缺,所以针对这些知识点,我手头上也准备了不少的电子书和笔记,这些笔记将各个知识点进行了完美的总结。

3、读源码,看实战笔记,学习大神思路

“编程语言是程序员的表达的方式,而架构是程序员对世界的认知”。所以,程序员要想快速认知并学习架构,读源码是必不可少的。阅读源码,是解决问题 + 理解事物,更重要的:看到源码背后的想法;程序员说:读万行源码,行万种实践。

①Android相关源码精编解析

②高级Android组件化强化实战

③深入理解Android插件化技术

4、持续刷题

面试前三个月我开始刷题了。请记住,刷题的时候,技术的优先,算法的看些基本的,比如排序等即可,而智力题,除非是校招,否则一般不怎么会问。

关于面试刷题,我个人也准备了一套系统的面试题,帮助你举一反三:

以上内容均免费分享给大家,需要完整版的朋友,点这里可以看到全部内容

2020年虽然路途坎坷,都在说Android要没落,但是,不要慌,做自己的计划,学自己的习,竞争无处不在,每个行业都是如此。相信自己,没有做不到的,只有想不到的。祝大家2021年万事大吉。

推荐阅读更多精彩内容