5年Android开发诉苦:47天21家面试,半年空档期觉得整个人生都被毁了

452 阅读8分钟

近日,我在逛某社交论坛时,发现一位做了五年的Android开发将自己这段时间的所有面试经历发表了出来,根据网友自己提供的信息显示,主要面试的地点都在北京,上海等地。

微软和亚马逊刚面试完一面,都是以算法为主,其中,微软是英文面。

大家看到这么密集的面试过程,最多的是一个劲为他点赞。但也有不少网友迫切的想要职友赶紧分享一下面试经验。

@网友1:精力真旺盛!

@网友2:牛逼牛逼。

@网友3:卧槽 最终选择了哪?

看完上面的图片后,不少人表示阿里和蚂蚁不能同时面,不过职友也解释了:因为阿里和蚂蚁都是年前的面试,所以没有按照标准的来,年后就变成了单程面试了。

47天21家面试,耗时一个多月,看上去时间不长,但是根据职友的提供的信息:工作遇到了瓶颈,感觉是自己学历不够,打算考个在职研究生,19年有半年的时间准备考研所以有半年的空档期。

那么,半年空档期的影响有多大?职友回答:“非常大,我觉得我整个人生都被毁了。”也有不少网友表示非常赞同:“我也半年空窗期,真是见证了自己一步一步被摧毁的过程。”

离职后的空窗期怎么度过?

俗话说的好:时光易逝永不回,离职后的空窗期其实是给自己一个沉淀的过程。

这里的空窗期主要是没有找到下一家公司的时间。一般来说,在这个空窗期间,我们要根据自己的情况,要么找工作,要么找项目创业,要么学习充电。

经济条件允许的话,可以“颓废”一段时间,也可以考虑出国旅游,时间多长……没有标准答案。如果经济不允许,那就要做好自己的职业规划了。包括复习,查缺补漏。

作息最好的按照之前上班的时间一样,而复习,最好是去图书馆这些有氛围的环境下, 因为家里环境太熟悉, 反而很难提高效率。一会儿弄弄这个,一会儿做做那个,时间很快就过去了。

当然,也不是非要自己觉得复习好了再去投简历,因为自己对自己的要求总是比较高的。

这几个月中即使不急着找工作,也要关注自己心仪岗位的招聘情况,主要是判断自己的竞争力在行业中是什么水平,自己再度起步会不会遇冷。

需要提醒大家的是,在职场,薪资标准也是要遵循市场规律和水平的,也许你碰巧遇到个大方的,但并不意味着所有人都这么认为。同等岗位别人能挣到的钱,并不意味着你也能挣到。别只看到别人挣到的钱,而忽视别人做的那些事儿。

另外就是整理自己过往的工作项目,跟现在市面上的需求方向作对比,力求让自己的工作经历看起来跟得上时代的发展。


我自己做Android开发已经是第6个年头了,毕业后两年,有幸加入到字节跳动这个大家庭。在字节的4年,见证了太多人的来来去去,印象很深一个同事,跳槽阿里薪资直接double,但也看到很多人镀着“大厂”的金四处碰壁,终究还是倒在了技术上!

我自己或许也算是个成功的例子,在4年的时间里从1-1做到了2-2,当然,这背后的“辛酸泪”就留到日后再说。总的来说,归功于自己不断地学习,复盘总结,提升技术!以下分享一下我4年来具体的学习路线及笔记文档,希望能帮助到有心提升技术的朋友!

以下完整学习笔记PDF,可以点赞+评论支持下打工人老弟,点击这里免费自取

一、架构师筑基必备技能

安卓手机的开发语言是Java(Kotlin也是对java的封装),Android Framework 也是默认使用Java 语言,熟练掌握Java 语言是Android 开发者的必备技能。

本篇包含知识点:

1.深入 Java 泛型 2.注解深入浅出 3.并发编程 4.数据传输与序列化 5.Java 虚拟机原理 6.反射与类加载 7.高效 IO

二、高级UI

UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。

不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!

三、Framework精编内核解析

众所周知,Android是一个基于Linux实现的操作系统。但对于Linux内核来说,Android也仅仅只是一个运行在内核之上的应用程序,与其他运行在内核之上的应用程序没有任何区别。

所以Android也需要运行环境,需要Linux内核在启动完成后加载Android Framework运行所需要的资源。当Framework完成初始化后才能继续启动相应的APK应用程序。

主要内容包含:

  • 深入解析Binder
  • 深入解析Handler
  • Dalvik VM 进程系统
  • 深入解析 WMS
  • PackagerManagerService

笔记内容全部免费分享,有需要完整版笔记的小伙伴【点击我】免费获取哦!

四、360°全方面性能调优

简单来说,一个APP 是需要从三个方面被关注的,业务功能、符合逻辑的交互、性能响应。如果我们在使用一个 APP 时候,经常滑动时经常卡顿、时不时崩溃、有些功能设计简直非常规,比如在 Web 网站有树层级等面包屑点击,你非要在手机也搞一个类似树级点击加载,那是不是有点强人所难了,我上拉下拉、左滑右滑不行吗,非要通过点击才行吗?那么性能优化核心是什么呢?追求快、稳、省、小,关注卡顿、内存泄漏和崩溃、代码质量和逻辑、安装包大小四个方面。想进一步的了解的话,可以查阅下笔者这篇文章《我把阿里、腾讯、字节跳动、美团等Android性能优化实战整合成了一个PDF文档

五、Android第三方框架

随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,还有应用之间的互相调用等等问题,插件化技术应用而生。

当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。

本篇内容要点(1042页)

  • 热修复设计
  • 插件化
  • 组件化框架设计
  • 图片加载框架
  • 网络请求框架
  • RXJava 响应式编程框架设计
  • IOC 架构设计
  • Android架构组件Jetpack

六、NDK模块开发

NDK是原生开发工具包,这套工具允许Android使用C/C++代码,并提供了众多的平台库。

主要内容包含:

  • NDK 模块开发
  • JNI 模块
  • Native 开发工具
  • Linux 编程
  • 底层图片处理
  • 音视频开发
  • 机器学习

七、Flutter学习进阶

2019 年无疑是 Flutter 技术如火如荼发展的一年。

每一个移动开发者都在为 Flutter 带来的“快速开发、富有表现力和灵活的 UI、原生性能”的特色和理念而痴狂,从超级 App 到独立应用,从纯 Flutter 到混合栈,开发者们在不同的场景下乐此不疲的探索和应用着 Flutter 技术,也在面临着各种各样不同的挑战。

本篇知识要点: 1、Flutter跨平台开发概述 2、Windows中Flutter开发环境搭建 3、编写你的第一个Flutter APP 4、Flutter Dart语言系统入门

八、微信小程序开发

微信小程序作为现在比较火的编程开发应用场景之一,深受市场的青睐,这让不少开发者眼馋不已。但是对于初学者来说,就完全摸不着头脑了,不知道微信小程序开发制作需要学习那些知识,有需要的朋友可以参考本篇。

本篇知识要点: 1、小程序概述及入门 2、小程序UI开发 3、API操作 4、购物商场项目实战

微信小程序开发

九、Android相关源码解读

只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

Android相关源码解读

Android相关源码解读部分内容

由于篇幅原因,以上完整学习笔记pdf如有需要,可以 点赞+评论 支持下我这个“光头强”,然后点击这里免费自取