30k车企安卓外包,我提离职了~

462 阅读11分钟

前言:

互联网时代的浪潮已经退去,有个稳定的工作千万不要裸辞,就算降薪,能苟着就苟着吧~

现实是不仅互联网的浪潮在慢慢褪去,就连车联网的浪潮也在慢慢褪去。小米SU7的快速上市,给很多新能源车企都带来了不小的压力。可以预见的是,这几年的车企就好像当年的手机厂商,在打技术战,在打价格战,最后能活下来的车企也就那么几家。

目前我所在的车企,汽车销量也很不景气。公司周围的两个车企已经倒闭了。2022年我刚入职的时候,这个车企刚成立不久,加班有加班费,也不用打卡。到现在就是强制打卡,加班要到十一点才能提加班申请。一旦公司业绩不好,首先想到的就是压榨外包同学。所以行情不好的情况下,想找个理想的工作确实不容易。如果自己有实力,还是建议大家多等等机会,找个正编的岗位。当然我自己也是在做外包,我能体会到做外包的一些难处,实在没有好的发展,外包也是一个不错的选择。

2015年初入职场,现今2024年7月8号。对于一个已经工作快9年的安卓开发来说,回头一望,感觉时间过得是真快啊!曾经我也和你们一样,刚走出校门,刚踏入社会,年轻有活力,对未来充满了希望,但是如今已经30+了。就像雷军老师最近在抖音上比较火的那段话:

WechatIMG38.jpg

WechatIMG37.jpg

1.两次降薪

2022年,年末的时候就说给我们降薪,最开始没有接受,迫于行情不好,也不敢主动离职,经过几次的沟通,最终谈下来的结果是降***,但是每个月发下来的工资却少了***。现实证明,在职场社会里我还是太年轻。

就在上个月,公司的交付又找我们谈话了。这次直接说降薪百分之三十,当听到这个消息的时候,我的内心是非常不情愿的。对接人告诉我们甲方要给承包商降薪百分之十,所以公司决定给你们降薪百分之三十。这。。。掘友们,你们能理解我作为一个当事人当时的心情吗?现在行情不好,又不敢轻易辞职咋办呢?当时我也没说啥,因为说具体的落实时间是6月底,我的心里就萌生了要找工作的想法。

其实早在2024年前我就开始找工作了。简历公开后,也大多是一些外包公司会联系到我,一些正编的岗位,就是我主动投简历了,做了一些简单的自我介绍,都是已读不回。幸运的是,我还是拿到了两个面试机会,当然也还是外包,一个是极星科技、一个是蔚来,做的内容和我现在的工作方向是一致的,都是车载多媒体。

蔚来一面:

这次面试给我留下的印象非常深刻,原因不是我技术没有通过,而是我面试的时候出了些小插曲。面试的时候没有提前做好准备,我目前驻场的公司,会议室比较多。一般大会议室都是有人预定要开会的,当时那种单人的小会议室都被占用了,我就找了一个没有人的大会议室。结果面试的中途被打断了,我正在面试的时候有同事要进来开会,可想而知后面的结果。(后面还是出现了被打断的情况)

关于这段面试经历,我想给正在面试的同学一个忠告,面试一定要提前准备,一定要引起自己的重视。虽然最后的面试结果不了而知了,但是面试官问的一些问题我还是有印象的,这里分享给大家:

开发语言:Java
1.Aidl是如何实现跨进程通信的?

2.打开一个应用,放在前台,如果长时间不使用,Activity会走那些生命周期的方法,主线程的状态会怎样变化?

3.Android事件分发的流程?

4.Glide图片的缓存有几级,分别是如何实现的?

极星科技一面:

相比较蔚来而言,极星科技用的技术知识点反而更新,极星科技用的是Kotlin,而蔚来仍然用的是Java。

极星科技面的知识点大多都是关于Kotlin语法和协程方面的,也会涉及到一些性能优化的问题。百度上搜索了一下这家公司。该公司由湖北星纪魅族集团有限公司、极星汽车关联公司Polestar Automotive (Singapore) Distribution Pte. Ltd.共同持股。

开发语言:Kotlin
1.Java中的泛型和Kotlin中的泛型有什么区别?

2.对泛型的协变和逆变你是如何理解的?

3.能说说你对Kotlin协程是如何理解的吗?

4.在协程中一个子Job调用cancel方法会取消它的父Job吗?

5.能说说Kotlin标准函数库中都有哪些函数吗?具体是如何实现的?

6.Handler内存泄漏有遇到过吗?具体是如何解决的?

7.你们的项目中具体都做了哪些性能优化?

8.Kotlin中的flow有了解过吗?冷流和热流的区别是什么?

一面大概就这么多问题,还有些问题记得不是很清楚了。因为目前我驻场的这家公司开发语言也是用的Kotlin,所以上面这些问题基本我都描述的比较清楚。

极星科技二面:

隔了1天的时间,联系我面试的公司给我发消息说面试通过了,问我什么时间可以二面。我当时回答下午就可以。 451720078980_.pic.jpg 于是下午的时候我就提前找了个没有人的电话室。这次面试不同于一轮面试,面试官是对方的技术leader,没有问太多的问题,主要都是问有关项目上的问题。

开发语言:Kotlin
1.说一说你目前的项目结构是怎样的?

2.你对接口是如何理解的?

3.你们跨进程通信是如何实现的?接口支持跨进程通信吗?

4.Aidl通信的过程中有遇到过DeadObject的异常吗?你是如何处理的?

由于车载应用开发,应用之间的通信比较频繁,我们对Aidl的依赖也比较高。面试官问的这几个问题我在平时开发的过程中也有关注过。所以我感觉自己回答的也比较清楚。这个面试官当时就和我说了,技术面试通过了。当然后面HR也找我沟通了,因为薪资问题,后面我选择了主动放弃。

461720079013_.pic.jpg

掘友们,别说我现实啊。因为我自己综合考量了下,一方面是担心不稳定,一方面是觉得薪资确实给的比我目前还低了3k,所以选择了放弃。

进退两难,三方周旋

在公司最近频繁找我们约谈的情况下,我又再次踏上了面试之旅。和我们自己公司的交付同学沟通好了,如果和甲方这边的对接人谈好了,自己提离职走可以给一些赔偿,虽然不多。但是我觉得如果有机会走,老是耗下去也不是办法。

所以我的想法是先找工作,拿到offer,然后和甲方公司这边说目前的实际情况,我自己提离职的话,大概什么时候可以离场。最后再和我们自己公司的交付谈赔偿的问题。这样对我个人来说才是利益最大化。毕竟是因为公司给我降薪,我才有离职的想法,而不是我自己主动想提离职。

幸运的是,在后面的两场面试中,我的面试都通过了,最终我收到了一个比较理想的offer。于是我开始微信上和我们公司的交付沟通,之前沟通的还作不作数。然而,这里又卡了下我的脖子,和之前协商好的结果不一致,赔偿按底薪6000(n+1)来算。之前约谈的时候是说可以有一个月的赔偿,现在又开始压榨我了。

后来我回过神来,才想明白,其实是我们这个外包公司先给我们放出降薪的消息,想让我们自己先出去找工作。如果你拿到offer就拖着你,更少的给你赔偿,因为他们抓住你急着要入职的心理,不会跟他们周旋太久。想想这操作,不是外包公司也干不出这事吧。

没办法,一边入职时间不能拖的太久,一边这边要和甲方沟通离职时间,最后还得低着头和交付谈那少的可怜的赔偿。

车联天下一面

车联的面试相对来说是比较简单的,一轮技术面。和面试官聊下来,整个过程都比较顺利。面试官主要会问一些项目上的问题,也会涉及到一些性能优化的问题。

开发语言:Kotlin
1.说一说,你在项目中都做了哪些性能优化。

2.flow中的zip操作符有了解过吗?对于并发情况下的多个异步请求,zip操作符有哪些优势?

3.说一说安卓中的跨进程通信的方式都有哪些?

关于这次面试只记住了这几个问题,面试过程中主要都是我在描述项目上做的一些功能点。后面HR也是通知我面试通过了,需要做一下背调。但是由于工作是跟项目走的,需要到处跑,最终还是选择了放弃。

471720080117_.pic.jpg

481720080344_.pic.jpg

vivo一面

vivo的一轮面试感觉也不是很难,面试官主要还是问我在项目做了哪些工作,详细的介绍一下,然后问了我几个技术方面的问题。 开发语言:Java
1.一个Activity打开另外一个Activity,如何做到更快?

2.对一些开源的三方项目,如果遇到一些bug,有自己将项目下载下来,二次开发修复吗?

3.说一说你对ANR的理解,以及在项目中遇到ANR你是如何分析和解决的?

有些问题都是围绕项目来提问的,这里就不贴出来了,幸运的是一轮面试我还是顺利通过了。

491720080723_.pic.jpg

vivo二面

开发语言:Java
1.说一说,你在项目中都做了哪些性能优化。

2.视频播放如何做到更快,比如说抖音,你滑动到下一个视频的时候就可以立马观看了?

3.如何让视频的seekTo变得更快?

4.包体积优化有做过吗?你们主要做了哪些方面的优化?

5.你看过那些有关JetPack组件的源码?能详细说一说吗?

6.Aidl通信的过程中有遇到过ANR的场景吗?你们是如何定位和解决的?

vivo的二轮面试我感觉还是有些难度的,有些问题问的比较专业,我是没有回答好的。当然我上面只是贴了部分问题。可能是因为和面试官聊比较聊的来。最终还是给我通过了。 501720080765_.pic.jpg

努力争取,不气馁

虽然过程很艰辛,但是结果还是好的。和我们这边的外包公司沟通好了赔偿,甲方公司也给出了明确的离职时间,目前也收到了一个offer。目前准备入职材料,要入职下一家公司了。愿所有努力在找工作的同学,都能有一个不错的收获。

面试总结

不得不说面试还是很辛苦的。一边要准备复习,一边要工作。最后这里给大家分享一下我的面试心得:

  1. 其实自我介绍的环节也比较重要,要在简短的几分钟时间内把自己以往的工作经历详细说清楚,还有就是面试态度一定要好。有时候面试官更需要一个在工作上能融洽相处的同事。
  2. 技术方面对自己目前所做的项目一定要非常的熟悉,能详细的讲述你们运用了哪些技术知识点,你在项目中主要做了哪些工作。
  3. 一定要注重基础知识的积累,往往这也是很多人容易所忽略的。
  4. 多看看一些开源库的源码,源码才是最好的老师,多看源码可以快速提升自己。