大小公司对比
大公司和小公司真的不一样,我以前一直在小公司做开发,一个同时开发几个app也是比较常见的。在大公司里面,充斥着各种规章制度,流程规范价值观的衡量,kpi考核等。同时个人做的事也比较窄,因为大公司要求的深度而不是广度,人多,各人负责自己的那一方面,我在里面主要做一些业务需求的迭代开发,整体而言不算很难,属于比较养老的。在这家公司我呆了大概1年9个月的时间。以前我一直念念想找一家大公司,可是等我真正进去了以后才发现,其实不是我想的那样,你要是被分进了核心项目组的话那还好说,如果在边缘项目组的话,结果那就不好说了。KPI考核这个东西,好坏还真不好衡量。就像阿里的325一样,有的时候因为这个KPI,愣是把人搞成了抑郁症。
跳槽原由
跑题了,继续回到这里。在这家公司公司呆了一年多,活不多,做的事情也不是我想的那样,跟我的发展规划不一致,同时也因为其他一些原因,我在1月初选择了离职,本以为找工作很容易,毕竟经验也有了,大厂背景也有,可是万万没想到,2020年发生特大疫情,新冠状病毒疾病的发生,因为这场疫情,很多公司都倒闭了,裁员,降薪随处可见。到现在为止还有很多公司还没有复工,怕啊,要命了,口罩买不到,公司又裁员降薪,在家不上班,又没有收入,贷款还不上,人都搞焦虑抑郁了。我是1月份提了离职,然后准备了1个月,在2月份的时候开始投简历找工作。这次疫情影响很大,从投简历就能看出来,招人的需求不多,投了简历,公司回应也不是很积极。从投简历,到约公司面试,到最后入职的话花了一个左右的时间。下面我就记录以下具体的内容:
面试公司
面试的公司从几个人的小公司到几万人的大公司,从不出名的小公司到BAT和宇宙条都有,我面试的公司主要有,TourABC,7猫,哈啰出行,360金融,触宝,商米科技,比心陪练,传音控股,毒APP,爱奇艺,B站,阅文集团,饿了嘛,阿里巴巴,今日头条等比较出门的一些大公司,同时我还面试了一些比较小的的公司,不出名,前后大概有20家左右吧,通过率大概在50%左右,不过最后因为薪资的问题没有谈拢,可能我在上家公司的薪资比较虚虚,我的期望薪资是增加20%,所以一些公司无法提供,所以就拒绝掉了。怎么说呢,我出来上班,首先考虑的是薪资,比较都要先活着再谈其他的。不过有的公司薪资虽然达到了,但是因为做的东西跟我预期的不一样,所以也拒了。还有一些大公司,像宇宙条,阿里,腾讯的,就是我自身问题了,能力达不到他们的要求,被拒了,这也很正常,毕竟能进去的也是少部分人,大多数的还是比较普通的。
面试方向
一开始我是找的关于应用层的开发,但是发现需求很少,现在Android面试找工作的方向一般有应用需求开发,系统framework研发,音视频开发,基础架构开发,跨平台开发等几个方面,从这次找工作来看,除了应用需求开发以外,其他的几个方面的需求还是比较高的,但同时要求也很高,并不是说你会使用MVP+Rxjava+Retrofit+Dagger2+Glide+Jetpack+Flutter+RN等技术点就可以了,现在一般公司都要去你懂原理,了解技术实现细节了,现在市场上对于初中级的Android开发要求比较少了,更多的是对于高级研发的需求量比较大,所以对于Android研发的人而言,需要加强自身的硬技术,有过硬的技术就不怕找不到好工作。
因为这次疫情的影响,找工作都是电话面试和视频面试。基本上一面是电话面试,二面三面的是视频面试,一般是在牛客网等平台开一个面试房间,有的公司需要在线coding的,要求比较高。我从投简历到约公司面试,大概面了十几家公司,我每次面试完一家公司都会做个总结,把涉及到的内容都记录下来,同时不会的也会去恶补一下,都整理成相关文档,现在详细记录以下我的面试内容,供有需求的同学参考参考:
面试内容
面试的范围主要涉及Java基础,Android相关的,数据结构与算法,计算机网络等几个方面。下面依次列出所问的问题:
Java部分
首先关于Java基础知识点,主要包含以下内容,接口和抽象类区别,string.stringbuilder.stringbuffer三者区别,Java集合框架底层实现原理,线程和进程的理解,线程池得作用,线程的各种状态,gc垃圾回收方面得知识点,具体如下:
-
Java线程和多线程
-
说说JVM,它的程序计数器是干嘛用的?GCRoots的对象可以有哪些。
-
集合list和linkedList 区别
-
hashmap底层数据结构
-
Java同步方式有哪些
-
volatile关键字和synchronized关键字原理
-
jvm的相关东西
-
Integer的内容
-
Java线程池相关的内容
Android部分
Android知识点考察,主要包含以下内容:activity的启动模式,service的理解,进程间通信,插件化,组件化,热更新之类的原理,网络请求库okhttp原理,设计模式,类加载机制,Handler的理解,Android启动优化,性能优化相关的东西。具体如下:
-
Android跨进程方式及原理
-
Android性能优化,如何优化到极致,线程级别
-
Android Handler的原理
-
Android ANR的产生原因,如何定位ANR。
-
如何计算Android启动时间,如何优化启动。
-
说说Android架构模式,MVC是什么解决了什么东西,MVP是什么?它跟MVC有什么区别?MVVM了解吗,是什么东西。
-
Android BInder机制是什么。
-
AIDL了解吗,说说它的原理
-
Android启动Activity流程,涉及到哪些类?
-
Android Binder为什么进行一次数据拷贝而不是2次或者0次。
-
事件分发机制是什么?
-
网络请求库的实现原理是什么,详细说一下OkHttp的细节
-
图片加载库Glide的优点
-
LRUCache缓存的原理
-
组件化模块化,插件化得理解
-
如何进行性能优化以及如何设计一款性能优化的工具,从哪些方面入手
-
react native,flutter和kotlin相关的内容
-
Android 架构演变,MVP和MVVM
-
Android各大市场上架APP的规范
-
Google play市场
-
说说组件化和插件化,热更新技术原理
网络部分
-
你的项目架构是怎样的
-
三次握手,四次挥手的相关问题
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
最后
那我们该怎么做才能做到年薪60万+呢,对于程序员来说,只有不断学习,不断提升自己的实力。我之前有篇文章提到过,感兴趣的可以看看,到底要学习哪些知识才能达到年薪60万+。
通过职友集数据可以查看,以北京 Android 相关岗位为例,其中 【20k-30k】 薪酬的 Android 工程师,占到了整体从业者的 30.8%!
北京 Android 工程师「工资收入水平 」
今天重点内容是怎么去学,怎么提高自己的技术。
1.合理安排时间
2.找对好的系统的学习资料
3.有老师带,可以随时解决问题
4.有明确的学习路线
当然图中有什么需要补充的或者是需要改善的,可以在评论区写下来,一起交流学习。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
中有什么需要补充的或者是需要改善的,可以在评论区写下来,一起交流学习。
[外链图片转存中…(img-9o9nw2OV-1713506765515)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!