ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

13k到25k,我的Android跳槽之路

2020-12-21 22:01:45  阅读:226  来源: 互联网

标签:25k 生命周期 Java 13k 面试 Activity Android 公司


写在前面的话

我是双非本科15年毕业的,毕业之后就一直在做Android相关方面的开发工作,到18年经历了两家创业公司。

一家工作了不到半年老板就跑路了,一家工作到18年初,因为运营不当倒闭了(一度怀疑自己是不是去哪家公司就得哪家倒闭)。

自上家公司倒闭后,只身来到深圳寻求发展,因为之前待的小公司不是老板跑路,就是公司倒闭,所以这次就想找个大公司,想稳定一点。

大公司技术底蕴也比较强,想多学习学习,提升自己。前后大概经过了1个月左右,找到了一家公司,虽然不是大厂级别,但我所在的技术团队也有大几十号人,相比于我之前的经历,这应该也算得上大公司了,然后一直待到了今年5月份。


大小公司对比

大公司和小公司真的不一样,我以前一直在小公司做开发,一个同时开发几个app也是比较常见的。

在大公司里面,充斥着各种规章制度,流程规范价值观的衡量,kpi考核等。

同时个人做的事也比较窄,因为大公司要求的深度而不是广度,人多,各人负责自己的那一方面。我在里面主要做一些业务需求的迭代开发,整体而言不算很难,属于比较养老的。

在这家公司我待了大概2年3个月的时间。以前我一直念念想找一家大公司,可是等我真正进去了以后才发现,其实不是我想的那样,你要是被分进了核心项目组的话那还好说,如果在边缘项目组的话,结果那就不好说了。

KPI考核这个东西,好坏还真不好衡量。就像阿里的325一样,有的时候因为这个KPI,愣是把人搞成了抑郁症。


跳槽原由

跑题了,跑题了。

还是说回自己跳槽的原因,马云曾说辞职原因无非有:

第一,钱没给到位;

第二,心受委屈了!

我的原因更倾向于前者,在这家公司待了2年半,活不多,但由于岗位原因,自己的技术方面和工资方面一直都没有太大的涨幅,同时也因为其他一些原因,我在今天5月初疫情高峰过去后选择了裸辞。

然后准备了2个月,在7月份的时候开始投简历找工作。虽然疫情已经过去一段时间了,但还是能感受到疫情对IT行业的影响的,从投简历就能看出来,招人的需求不多,投了简历,公司回应也不是很积极。

从投简历,到约公司面试,到最后入职的话花了2个月左右的时间,下面我就记录以下具体的经历。


面试公司

面试的公司从几个人的小公司到几万人的大公司,从不出名的小公司到BAT和宇宙条(今日头条)都有。

我面试的公司主要有:

TourABC,7猫,哈啰出行,360金融,触宝,商米科技,比心陪练,传音控股,毒APP,爱奇艺,B站,阅文集团,饿了么,阿里巴巴,今日头条等比较出门的一些大公司

同时我还面试了一些比较小的的公司,不出名,前后大概有20家左右吧,通过率大概在50%左右,不过最后因为薪资的问题没有谈拢,所以就拒绝掉了。

怎么说呢,我出来上班,首先考虑的是薪资,比较都要先活着再谈其他的。不过有的公司薪资虽然达到了,但是因为做的东西跟我预期的不一样,所以也拒绝了。

还有一些大公司,像宇宙条,阿里,腾讯的,就是我自身问题了,能力达不到他们的要求,被拒了,这也很正常,毕竟能进去的也是少部分人,大多数的还是比较普通的。


面试方向

一开始我是找的关于应用层的开发,但是发现需求很少。

现在Android面试找工作的方向一般有应用需求开发,系统framework研发,音视频开发,基础架构开发,跨平台开发等几个方面。

从这次找工作来看,除了应用需求开发以外,其他的几个方面的需求还是比较高的,但同时要求也很高,并不是说你会使用MVP+Rxjava+Retrofit+Dagger2+Glide+Jetpack+Flutter+RN等技术点就可以了。

现在一般公司都要去你懂原理了解技术实现细节了,现在市场上对于初中级的Android开发要求比较少了,更多的是对于高级研发的需求量比较大

所以对于Android研发的人而言,需要加强自身的硬技术,有过硬的技术就不怕找不到好工作。

因为这次疫情的影响,找工作都是电话面试和视频面试。基本上一面是电话面试二面三面的是视频面试,一般是在牛客网等平台开一个面试房间,有的公司需要在线coding的,要求比较高。

我从投简历到约公司面试,大概面了十几家公司,我每次面试完一家公司都会做个总结,把涉及到的内容都记录下来,同时不会的也会去恶补一下,都整理成相关文档,现在详细记录以下我的面试内容,供有需求的同学参考参考。


面试内容

面试的范围主要涉及Java基础,Android相关的,数据结构与算法,计算机网络等几个方面。

下面依次列出所问的问题:


Java部分

  • 什么是线程,什么是进程?
  • JDK & JVM & JRE分别是什么以及它们的区别?
  • 解释一下为什么Java可以跨平台?
  • 什么是面向过程 & 什么是面向对象 & 区别?
  • 给我说说Java面向对象的特征以及讲讲你代码中凸显这些特征的经验。
  • 什么是重载 & 什么是重写 & 区别。
  • 谈谈你对this和super的认识。
  • 接口和抽象类的区别。
  • 静态属性和静态方法能被继承吗?静态方法又是否能被重写呢?
  • 给我说说权限修饰符特性。
  • 给我谈谈Java中的内部类。
  • 闭包和内部类的区别?
  • Java多态的实现机制是什么?
  • 谈谈你对对象生命周期的认识?
  • static关键字的作用?
  • final关键字的作用。

Android 部分

  • Activity是什么?
  • 典型情况下的Activity生命周期?
  • 异常情况下的Activity的生命周期 & 数据如何保存和恢复?
  • 从Activity A跳转到Activity B之后,然后再点击back建之后,它们的生命周期调用流程是什么?
  • 如何统计Activity的工作时间?
  • 给我说说Activity的启动模式 & 使用场景。
  • 如何在任意位置关掉应用所有Activity & 如何在任意位置关掉指定的Activity?
  • Activity的启动流程(从源码角度解析)?
  • 启动一个其它应用的Activity的生命周期分析。
  • Activity任务栈是什么?在项目中有用到它吗?说给我听听
  • 什么情况下Activity不走onDestory?
  • 什么情况下Activity会单独执行onPause?
  • a->b->c界面,其中b是SingleInstance的,那么c界面点back返回a界面,为什么?
  • 如果一个Activity弹出一个Dialog,那么这个Acitvity会回调哪些生命周期函数呢?
  • Activity之间如何通信 & Activity和Fragment之间通信 & Activity和Service之间通信?
  • 说说Activity横竖屏切换的生命周期。
  • 前台切换到后台,然后在回到前台时Activity的生命周期。
  • 下拉状态栏时Activity的生命周期?
  • Activity与Fragment的生命周期比较?
  • 了解哪些Activity常用的标记位Flags?
  • 谈谈隐式启动和显示启动Activity的方式?
  • Activity用Intent传递数据和Bundle传递数据的区别?为什么不用HashMap呢?
  • 在隐式启动中Intent可以设置多个action,多个category吗 & 顺便讲讲它们的匹配规则?
  • Activity可以设置为对话框的形式吗?
  • 如何给Activity设置进入和退出的动画?
  • Activity使用Intent传递数据是否有限制 & 如果传递一个复杂的对象,例如一个复杂的控件对象应该怎么做?
  • 在Activity中可以多次调用setContentView方法吗?说说不同时机第二次调用setContentView会发生什么?
  • 说说分别在Activity里每一个生命周期函数里调用finish方法后,接下来Activity的生命周期如何回调?
  • 有什么方法可以启动一个没有在AndroidManifest.xml中注册过的Activity?
  • 在Activity进行配置时,catrgory和action的区别是什么?
  • activity中分别在onCreate,onStart,onResume中调用finish后的生命周期如何回调?
  • 锁定屏与解锁屏幕,Activity 生命周期?
  • 如何设置Activity进入和退出的动画?
  • 谈谈你对Activity中onNewIntent()方法的认识?
  • 如果一个Activity启动比较慢,需要优化,你觉得可以从哪些方面入手?
  • Activity之间传递数据的方式Intent是否有大小限制,如果传递的数据量偏大,有哪些方案?
  • 了解scheme跳转协议吗?谈一谈
  • 谈谈你对Activity的Context的认识?
  • 如何在Application中获取当前Activity实例?
  • Activity进程优先级?
  • Activity出现ANR的条件有哪些 & 解决方案?

网络部分

  • 你的项目架构是怎样的
  • 三次握手,四次挥手的相关问题
  • 网络请求框架的原理
  • post和get的区别
  • 如何实现一张5M的图片上传

其他关于每家公司问的面试内容具体我整理成了一个文档,需要的可以随手点赞+任意评论后,私信我获取领取方式。


面试总结

这是我自己总结出来的面试问题答案,每次面试都会查漏补缺。

文档获取方式:【Gitee】获取领取方式!


offer情况

总共面试了将近20家公司,大概可以的有40%~50%左右,不过有的公司因为薪资达不到自己的期望,所以拒绝了。

有的公司要求比较高,我没有达到他们的期望也被拒绝了,最终选择了一家中等规模的公司,主要做基础架构部分的内容,他们家的app,用户量达到5000万左右,日活也有几百万,进去主要做性能优化这方面的,比较符合我的预期,所以就选择了这家,目前已经上班2个月了,一切都还满意。

最后,在这里我也分享一份干货,由大佬收录整理的Android学习PDF+架构视频+源码笔记,还有高级架构技术进阶脑图、Android开发面试专题,高级进阶架构帮助大家学习提升进阶,也节省大家在网上搜索的时间来学习,也可以分享给身边好友一起学习。

如果你需要,可以【私信】我获取,也可以添加粉丝群:【1087084956】获取

标签:25k,生命周期,Java,13k,面试,Activity,Android,公司
来源: https://blog.csdn.net/ajsliu1233/article/details/111500862

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有