前言

最近有很多人在群里问我什么时间好找工作,于是也有人给出了答案,金三银四,金九银十之类的。

为什么年后的三四月份是找工作的金三银四?想要找工作、换工作、跳槽的到底什么时候考虑最好?今天就给大家分析一下!

为什么说“金三银四”?

为了留住骨干人才,部分企业会将年终奖发放时间定到年后,从3月到5月都有可能。拿完年终就走人,这是许多跳槽员工心中的想法,于是这也就促成3、4月成为过年之后的第二个跳槽高峰期。

市场上寻找工作的人数量增加,企业也会相应地把握机会,根据岗位空缺情况挑选人才。因此,人才市场上突然出现一大波供给与需求,开春的这两个月份自然也就是跳槽的“黄金时期”。

除此之外,年前年后企业往往会进行新一年的规划,各部门人力需求再加上HR的评估预算,就会形成最终的headcount,即每个部门到底需要多少编制。很多时候新增的编制是为了协助开启新项目,对应聘者要求会适当放宽,大量优质offer虚位以待。 在这里插入图片描述

首先,了解一下,为什么年后的三四月份是找工作的金三银四?这是有四个原因的:

1、很多人能坚持一年的工作是为了年底的年终奖,拿到手了自然就走啦!那么企业自然就需要补上人才了。

2、年初有大部分公司要调整团队规划,优化团队成员,这个时候拿到年终奖的人才也比较多,自然就对上了。

3、人才政策大多都是在春季发布,当然这只是很小的一个因素

4、很多企业是年底年初评级调薪,这也是一个影响因素

当然还有另一个时间段就是金九银十,也就是每年的九十月份,跟三四月份的原因差不多,主要是因为前两个原因。

个人觉得这个阶段的岗位需求量确实比较大,很多公司在这个阶段会紧急补充人员,但是这个阶段找工作的人流量也是最大的,所以要双方都会有更多的挑选机会,所以相对来说能双方满意度会没那么契合。还有一部分小伙伴找工作会选择年前错峰找工作,这个时间段找工作好不好呢个?

年前招聘的公司也是不少的,一般会选择年前招聘的企业有两种可能:

1、公司内的高精人才突然流失,需要抓紧补缺。这种情况在招人时,岗位对口程度契合度要求较高,大部分在12月左右,这个时候的薪资待遇会比较理想。

2、这个阶段的人事编制要求还没下来,很多公司都是抱着先看看求职人的情况再考虑是否需要,这个状态下的岗位招聘的时间周期就会较长,年前约面试,面试结果可能要在年后。所以不着急的小伙伴还是可以考虑的,做有把握的决定!

以上两种情况都不是错峰,因为情况一的岗位要求较高,情况二只是拉长了选择周期,没有太大优势。如果你的情况跟情况一契合,还是可以尽量争取,这个时候的求职者相对较少,优势较大!

还有一种情况就是,中小微企业的人员编制配制要求比较灵活,对人才需求量较大,所以选择中小微企业的小伙伴就不要过于在意是什么时间了,因为岗位需求会一直在。 在这里插入图片描述

目前Android主要在问那些面试题?

如果你是android程序员,问的可能是底层源码和android的性能优化方面的内容了,或者考察你的基础,对自定义View,一些触摸事件的事件分发的掌握程度,或者考察你的算法能力,比如手写一个hashmap,很大公司都倾向于混合开发了,有的会问你flutter,kotlin相关的东西,还要很多东西,这就要看平常的积累了。

下面分享一下各个公司的面试题目

接下来是面试题:

公司一

1.组件化和arouter原理 2.recyclerview和listview区别

  1. glide流程,缓存前压缩,缓存命中 4.APP性能优化,内存优化,布局优化,绘制优化,内存泄漏 5.Http和Https区别 6.socket心跳包
  2. jvm虚拟机,堆和栈的结构
  3. 8.activity启动模式,有哪些不同
  4. 9.stack栈的特点,自定义stack结构10.kotlin优劣势

公司二

1.自定义view,中英文字符串宽高测量显示,测量算法,可扩展性 2.事件分发机制 3.Activity,view,window联系4.热修复和插件化原理 5.Synchronized底层原理,java锁机制

  1. java容器,hashmap和hashtable区别,hashmap原理,扩容流程,扰动算法的优势 7.ArrayList和LinkendList区别,List泛型擦除,为什么反射能够在ArrayList< String >中添加int类型 8.Http和Https区别,SSL/TLS过程 9.Android性能优化
  2. jvm虚拟机,堆和栈的结构,栈帧,JMM11.组件化注意点,组件间通信机制 12.线程安全的单例模式有哪几种13.熟悉的设计模式

公司三

1.MVC,MVP,MVVM 2.Activity和fragment生命周期区别,fragment正常添加和viewpager添加的区别, fragment 懒加载原理,FragmentPagerAdapter和FragmentStatePagerAdapter 3.热修复和插件化 4.友盟bug统计,混淆后怎么定位bug。没接入热修复的APP中,上线后遇到bug怎么解决 5.view绘制原理(可以先说下基本view绘制,然后再说下屏幕刷新机制)6.使用Analyze减少APK体积,原理 7.Android 版本差异

公司四

1.基础类型字节,汉字占几个字节,线程和进程 2.四大组件,fileprovider和Contentprovide区别,activity启动流程 3.MVC,MVP,MVVM 4.TCP三次握手,四次挥手 5.Eventbus,glide原理 6.性能优化,内存抖动,内存泄漏,内存溢出, handler机制,lntentService和handlerThread,子线程更新view内容的方法 7.GC回收算法 8.recyclerview和listview区别 9.组件化,模块化,插件化,热修复 10.工作中遇到的难题怎么解决的 11.Kotlin Java优缺点,kotlin什么时候用分号,run,with,apply,内联函数, 高阶函数 12.APK体积优化13.进程间通信 14.单例模式,哪些是安全的15.retrofit设计模式 16.自定义view 17.是否做过音视频和IM? 18.APK性能优化 19.CurrentHashMap1.7和1.8区别 20.volatile关键字的作用,怎么保证原子性呢? 23.java泛型,协变和逆变

公司五

1.HTTPS具体步骤 2.常用的设计模式,代理模式和装饰者模式区别 3.服务端返回错误的json数据,客户端怎么自定义model,避免出错 4.Hook技术 5.kotlin了解,协程 6.屏幕适配 7.抓包工具使用和原理 8.网络优化 9.未来期望,对公司的了解 10.Okhttp,rxjava,glide,retrofit等原理,okhttp底层数据传输原理,http 报文体结构 11.APK体积优化 12.Android jetpack使用和原理,新技术看法 13.crashHandler获取应用crash信息 14.recyclerview和listview缓存区别 15.Android常见崩溃问题分析及一般的解决方案 16.NestedScrollView触摸机制,AOP相关知识 17.设计APP,整体架构选型 18.Android沙盒和底层Linux通信 19.ACTION_CANCLE什么时候触发 20.线程池原理

公司六

1.组件化,arouter,组件化UI,还有哪些路由框架。AS调试方法 2.MVC,MVP,MVVM,Jetpack 3.JVM,JMM,java加载对象的步骤,classLoader,GC回收算法 4.插件化和热修复 5.唯一安卓ID,安卓安全的知识,加密算法,判断activity前台进程 6.TCP三次握手和四次挥手 7.hash算法,hashmap,怎么解决hash冲突 8.加载大图,glide缓存机制,设计模式,双重检测的单例模式为什么要检查两次,自己设计图片加载框架思路 9.启动未注册的Activity 10.AOP,蓝牙开发,IOT

  1. glide缓存清除: Irucache算法 12.glide缓存文件太大,查找效率慢怎么优化? glide下载高清图片优化 13.最近研究的技术,遇到最难的事,对公司的期望

公司七

1.组件化, arouter优缺点 2.MVC,MVP,MVVM 3.项目中的亮点,对架构的理解 4.handler原理及相关知识点,message回收策略

  1. hashmap原理,arraymap原理,对比性能。
  2. hashmap为什么大于8才转化为红黑树,加载因子为什么是0.75
  3. Synchronized底层原理,java锁机制 8.服务和广播 9.activity启动模式(给例子具体分析,A(标准)-》B(单例)-》C(singleTop)-》D(singleTask),分析有几个栈,每个栈内的activity) 10.常用设计模式,线程安全的单例模式

公司八

1.static、final;继承与多态 2.组件化, arouter优缺点 3.context相关知识点 4.handler原理及相关知识点,handler缓存池大小。5.性能优化,启动速度优化,架构 6.java虚拟机与Dalvik和ART区别 7.Kotlin协程,扩展函数和属性以及伴生对象 8.电商APP的首页,怎么设计一个APP架构 9.MVP中数据请求为什么要和M一起,答:网络请求和javabean都是数据 模型相关 10.Glide的存储EngineKey是怎么保证唯一的。面试官答:有个队列会将 EngineKey存储起来,每次生成后进行对比存储。这个我在源码中没找对位置,如果知道的同学,麻烦帮忙解释下。 11.retrofit是怎么将service接口转化为我们需要的javabean的?12.怎么做管理,新技术学习

公司九

1.SqLite与contentProvider区别 2. fragment周期,两个fragment切换周期变化,fragment通信

  1. https证书校验,加密相关,网络请求框架
  2. glide加载流程,大图显示,图片大小计算
  3. view绘制(从onSync()开始) 6.线程内存模型,线程间通信 7.获取view的宽高,更新view的方式,主线程消息机制 8.OOM,内存泄漏,内存溢出,java引用类型,ANR分析 9.APP性能优化,webview相关,webview优化,webview中Android与js互调 10.插件化和热修复

第一章 Java基础

  • 静态内部类和非静态内部类的比较
  • 多态的理解与应用
  • java方法的多态性理解
  • java中接口和继承的区别
  • 线程池的好处,详解,单例(绝对好记)
  • 线程池的优点及其原理
  • 线程池的优点(重点)
  • 为什么不推荐通过Executors直接创建线程池
  • 不怕难之BlockingQueue及其实现
  • 深入理解ReentrantLock与Condition
  • Java多线程:线程间通信之Lock
  • Synchronized 关键字原理
  • ReentrantLock原理
  • HashMap中的Hash冲突解决和扩容机制
  • JVM常见面试题
  • JVM内存结构 在这里插入图片描述

第二章 Android基础

  • Activity知识点(必问)
  • Fragment知识点
  • Service知识点
  • Intent知识点 在这里插入图片描述

第三章 UI控件篇

  • 屏幕适配
  • 主要控件优化
  • 事件分发与嵌套滚动 在这里插入图片描述

第四章 网络通信篇

  • 网络协议 在这里插入图片描述

第五章 架构设计篇

  • MVP架构设计
  • 组件化架构 在这里插入图片描述

第六章 性能优化篇

  • 启动优化
  • 内存优化
  • 绘制优化
  • 安装包优化 在这里插入图片描述

第七章 源码流程篇

  • 开源库源码分析
  • Glide源码分析
  • Android面试题:Glide
  • day 20 面试题:Glide面试题
  • 聊一聊关于Glide在面试中的那些事
  • 面试官:简历上如果写Glide,请注意以下几点…
  • Glide OOM问题解决方法汇总
  • OkHttp源码分析
  • Okhttp连接池复用机制
  • Okhttp 流程和优化的实现
  • 一篇让你受用的okhttp分析
  • OkHttp面试之–OkHttp的整个异步请求流
  • OkHttp面试之–HttpEngine中的sendRequest方法详解
  • OkHttp解析大总结
  • Okhttp任务队列工作原理
  • Android高频面试专题 - 架构篇(二)okhttp面试必知必会
  • Android 网络优化,使用 HTTPDNS优化 DNS,从原理到 OkHttp 集成
  • Retrofit源码分析
  • RxJava源码分析
  • RxJava原理与源码分析 在这里插入图片描述

第八章 新技术篇

  • 实战问题篇 在这里插入图片描述

第九章 面试篇

  • 开源文档

  • 面试题合集 在这里插入图片描述

    由于文章篇幅有限,文档资料内容较多,需要Framework、 Flutter资料、《2022最新Android面试真题+解析》、数据结构与算法面试题、Java 面试题、Android四大组件、Android 面试题、UI控件篇、网络通信篇、架构设计篇、性能优化篇、源码流程篇、 Kotlin方面、第三方框架、大厂面经,可以【点击这里免费获取】,希望能够共同进步,共同学习,共勉!

image.png

总结

通过以上分析,个人觉得:在三四月份找工作确实是一个不错的选择,因为这个阶段公司的大部分岗位会在这个阶段进行优化,但是想要有更好的选择。

都说今年是最差的一年,又是未来十年最好的一年。不知道这句话是谁说的, 反正我就当耳边风了。如果你找不到工作或者工作非常难找,那是因为你功夫还不到家。我始终相信,没有稳定的工作,只有过硬的技术!

最后一句忠告:别管你在什么时候,想找什么样的工作,年前千万别裸辞,除非你有钱到任性!