你还在迷茫吗?Android程序员就业到底有多难!我的BATJ+20家大厂经验总结!

为什么就业难?谁的问题!

从三月底到现在,差不多每个星期都会面试一位应聘者,大部分为工作经验在25年的中既有来自小型创业公司的也有来自携程甚至BAT的,所以我基本上算是跟各种类型的求职者都沟通过

由于我自己曾经遇到过非常糟糕的面试言,所以易地而处时我经常思考的一个问题是如何能够在短时间内最大化地考察出应聘者的真实水平经过一段时间的摸索,我发现针对求职者的项目经历中涉及到的技术点深入下去是一个不错的方式!

举个栗子, 你说你做过自定义View那我们就聊聊触摸事件分发机制,很少有人能够说清楚 Activity中为何会有 dispatch TouchEventO

事件分发机制算简单的了,如果回答上来了就继续问view的测量过程不要说完整说清楚这个过程,就是能够说到 LayoutParams和 MeasureSpec都很更不用说 wrap content需要额外处理这个很重要的细节了。

又比如, 你说你当初用了 volley那你在做技术选型时有什么考虑,你知道 volley有什么缺点吗,以及为什么有这样的缺点什么,你用的是 okhttp. okhttp那你知道kttp的原理是什么,相对之前的网络请求框架的优势是什么其实如果对于http协议比较了解,也看过这些库的源码的话基本都能够回答上来,不过到目前为止也就遇到一个从百度出来的回答得比较好。

再举个子, 你说在项目中用到了热修复那你知道现在主流的热修复技术都有哪些,各自的原理是什么,各自的优缺点又是什么,以及你为什么用这个方案而不是别的这其实算是非常简单的问题了但是昨天面试时那个们 inker宽然说采用的是dex分包的方案,对于 AndFixRobustt和是一问三不知

其实我觉得 Android包含的知识点非常多,即使是P7至P8的大也会有不知道的地方,所以有不会的知识点不丢人,但是至少对于自己曾经在项目中用过的东西应该要熟练吧!

所以找工作难问题,倒是是环境问题,还是自身问题呢!我们下面根据网上数据来分析一下!

Android程序员就业情况

一、程序员擅长语言

在本次中国程序员薪资和生活现状调查中,我们对程序员擅长的编程语言进行了调查,每个参与调查的人可以选择多个自己擅长的语言。

从图中我们可以看出,前端的JavaScript和后端Java的程序员非常多

导致与市场对Java程序员职位供过于求,大多数Java程序员都难与找工作,当然程序员这行永远都是靠技术说话的,你只要技术到家永远都是你选择别人,在这种不是所有人都是大牛的情况下,我们当然是选择竞争比较小的行业语言来学习。

二、Android程序员年薪状况

从调查结果可以看出,Android程序员的年薪呈正态分布,主要集中在5-25万之间,占比高达67.2%
三、Android程序员跳槽状况


根据统计我们可以看到,没有过跳槽经历的程序员占程序员群体的27.0%;跳槽1-3次的占比过半,为58.3%;跳槽4次的占比为6.1%;而跳槽5次的占比为5.8%;跳槽6次及以上的占比2.9%。

Android行业分析

2020面对如何大好的行业前景,2020Android工程师前景大好,从事Android开发的程序员,将迎来更绚烂的一年。在技术革新的时代,技能提升无疑是制胜职场的“筹码”,因此,Android工程师,在刚刚到来的2020年,将迎来更多、更好的就业机遇!

Android工程师前景大好,但对技能要求也更高随着应用Android系统的手机、平板电脑等产品层出不穷,以及智能硬件大潮的兴起,Android开发人才缺口仍在扩大,Android工程师前景依旧明朗。招聘网站发布的最新数据显示,想要应聘Android工程师,除了基础的计算机技术知识要扎实,还要根据各类企业、各类岗位的不同需求,补充与岗位相关的Android技术知识,例如应聘Android游戏开发工程师,就要重点补充Android游戏开发的相关知识。 此外,还要注重Android开发项目经验的积累。

这里我补充强调两点:

1.能力决定前景: Android工程师的前景很好,但是因为人才的大量涌入使得企业在招聘Android开发工程师的时候对技能的要求更高了,只要你技能足够,从事Android开发的前景还是很好的。

2.条条大路通罗马: 这里做个假设,学习Android开发之后,即使Android开发不好找工作了,你还可以找Java开发的工作,毕竟学习Android开发的过程中,你也学会了一定的Java。另一方面开发语言都是共通的,所以只要你通过学习某一门语言入门了软件开发,再学习其他的编程语言也都不会太困难,难的是入门的第一步。

行业也不错,发展也可以,那么就是自己的问题!

说到底,还是自己技能不够体系

【这是网络上的我觉得比较系统不错的一张思维导图,需要的可以点击我的】【GitHub保存一下!】
什么叫知识技能体系,就是把自己学过零散的知识,整理成自己的思维技能导图。

大厂基础必学知识有哪些?

为什么有的人学的如此轻松,方法用对了成功一半!!

一、Java基础

虽然现阶段Google已经将Kotlin定为官方推荐语言,但是大多数国内项目都是用Java开发。即使以后的大趋势是向Kotlin转换,也需要一些时间,所以完全不用担心Java会过时,你可以在Android学的差不多的时候再去学Kotlin,学习成本也会很低。

  1. 如果非科班出身建议看视频或者找人指导学习,科班出身可以直接看Java相关书籍,基础好的可以一边了解Android一边学习Java。
  2. 对于Java需要掌握到什么程度:- Java基本数据类型、基本语法、关键字、表达式和分支循环- 面向对象,封装、多态和继承- 接口的使用方法和场景- Java常用的各类型集合的优缺点及使用场景- JavaI/O- Java的多线程- Java的反射机制和泛型- 一些常用的设计模式(如:单例、工厂等)掌握了以上Java知识基本可以应对很多开发场景。

二、Android(软硬件部分)

  1. 开发平台:电脑用Windows的或者Mac都可以,处理器最好i5及以上,8G内存及以上,配上固态硬盘。(推荐Mac)
  2. 开发工具:Eclipse已经很少见到,大多数开发人员都选择AndroidStudio(IntelliJ IDEA也可以,跟AS类似),调试可以用AS自带的模拟器或者第三方模拟器,有条件的请用真机。
  3. 开发环境:配好Java环境,正常安装AndroidStudio即可。

三、Android(基础编程部分)

  1. 了解项目工程各个目录的作用
  2. 学习各类基本布局的使用方法
  3. 了解基本控件的使用(如:TextView、ImageView等)
  4. Activity和Fragment的生命周期,数据交互方法
  5. 列表类控件(如:RecylerView、ListView等)和Adapter的使用方法
  6. Activity的启动模式,四大基本组件的作用及使用场景

四、Android(进阶编程部分)

  1. 数据库的简单存储(增删改查)
  2. Android自带的SharePreferences存储
  3. 文件存储的方法
  4. Android的消息机制和异步任务
  5. 三种动画的使用
  6. 了解Http协议相关的知识
  7. 触摸事件的分发机制
  8. 自定义View

结尾

如果你过五关斩六将,成功地通过了所有的技术面,那么恭喜你,你离升职加薪、出任CEO、迎娶白富美、走向人生巅峰又进了一步。但是还没有到谈薪资待遇的时候,最后还有一个考验:HR面试。基本所有的大公司都有这一轮的面试,不要小看HR面试,很多公司的HR对于面试者都有一票否决权的----即使前面的面试对你的评价再高。

所以,这轮的面试也必须重视起来,HR面试主要问的是几点:

  • 简历中写的过去工作经历的离职原因
  • 当前公司薪资待遇
  • 期望能到怎样的一家公司
  • 个人未来的发展方向

我专门提一下第2点。可能有人比较排斥也不想说这个,我个人倒是持开放状态,问了就说了,当然一些的夸大还是必要的,当前公司薪资待遇多报个一千块钱完全没问题(毕竟是一家互联网公司总多多少少有些补贴啊什么的嘛)。

因为这和你在新公司能拿到的薪水关系不大,新公司能拿到的薪水的决定因素是整个公司的薪资情况以及根据你的面试情况在公司的定位,都是有固定的薪资范围的。HR问这个主要也就是心里有个数并且看你是否诚信----有些公司入职时会要求你提供最近一家单位的银行流水号。

HR面试就说到这里了,总结起来其实就是四个字:滴水不漏。整个面试过程态度积极向上,不要有任何悲观消极的态度(尤其在谈到以前公司情况的时候,即使有再多的不满),就不会有问题。

整理的面试题合集,有需要的可以点击【面试】查看获取!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章