Java 码农失业,有没有其他出路?

news/2024/12/22 13:46:56/

本人知乎账号同公众号:老胡聊Java,欢迎留言并咨询

如果是本科学历,30岁失业,真不用慌,别盲目转行,也别盲目继续在小公司之间跳,可以找机会进大中公司。如果是35岁,本文给出的方法还应该依然有效,如果超过40,抱歉本人就不知道了。

在展开写具体的方法前,本人想给出如下的观点。

1 这个年纪,本科毕业,就算25岁入行,好歹能有5年经验,这个年限的经验,其实足以达到面试大公司的要求。

2 而且做到30岁,哪怕有些资深技术在项目里没用过,但好歹见过,或者通过短时间的准备,能通过面试让别人感觉你熟悉这个。

3 30岁,如果依然用增删改查+业务这套去面试,绝对无法和年轻人竞争,或者勉强以此进了公司,但公司只能给出面向24,25岁的薪资,这何苦呢?

4 这个年纪找java工作,应该从项目发版、解决实际问题、用过分布式组件微服务组件和性能调优等方面证明自己的能力。

这个年龄应该去哪些公司呢?

1 业内知名公司,比如说出名来大家都知道。

2 外企国企互联网公司或规模较大公司,前三者好理解,什么叫规模较大公司?人数规模至少在500以上,或者是办公地点至少占据一栋楼。如果办公场地只占据一栋楼里的多个楼层,除非是业内有名或者有其它优势,否则大龄程序员尽量别考虑。

3 或者有些大公司,暂时无法以正式员工身份进去,那么可以先以外派身份进去。比如证券、保险或外企或互联网或其它大公司的外派员工,过几年有可能转成正式员工,如果无法转,在33岁左右,凭此大公司经历,好歹还有机会再进一步。

4 有一些小而美的公司也别忽视,这些里面更多的是规模较小的外企办事处,比如某医疗外企在上海有办事处,人数不多,但技术福利什么都行,这些也可以考虑。

5 还有一种,操作起来难度较大,但也是有可能。比如某人之前都是在做Java,但积累了一些AI技能,但一定得证明之前在项目里做过AI,解决过相关问题,然后可以准备下面试,进个好公司。

上述这些公司,以3,4年工作经验,要进去可能会有些勉强,但到了30岁,要工作年限有年限,也有足够多的项目来承载所用过的资深技能,也知道面试时该用哪些技能证明自己,所以真没必要再去找小公司。

有些小公司除了增删改查的业务,真无法再提供什么了,或者说,不少小公司的所谓管理岗,做久了出去面试,也没什么竞争力。

下文具体说说,30岁的Java程序员,在面试中该如何准备资深技能。

1 项目运维和部署方面,证明自己参与过发版,用过容器,再进一步可以说自己有过线上扩容和搭建过组件的经验。

比如用过jenkins+docker,再进一步甚至可以说用过k8s,相关说辞是,从git上拉下代码,然后写dockerfile命令,然后再部署到服务器再启动,这块其实是devops的技能。

再进一步,可以说自己参与过发布,知道灰度发布的步骤,在服务器上配置过生产环境的参数,参与过数据迁移,搭建过redis或kakfa等组件,甚至搭建过集群。

或者是,在生产环境或测试环境上搭建过监控组件,比如cat或zabbix,在生产环境上参与过扩容,或者有阿里云等组件的使用经验。

要证明相关经验其实不麻烦,就说细节,比如用过jenkins部署过项目,那就说jenkins里配置pipelines的命令,在jenkins拉取git或打包的命令,你把这些命令、细节和流程说清楚了,面试官不由得不信,说难听点,你就用过jenkins,没用过docker,那么现取学些dockerfile的细节,说自己用过dockerfile管理过容器,这也是有可能的。

大家别小看这些技术,上述技术其实真和架构有关,比如开发一个项目,写增删改查由是其次,但如何把项目部署到线上,这块技能相当值钱。

2 别老想着高并发,也别脱离业务说组件,更别单背高并发组件方面的面试题,就从用过组件开始准备起。

这块什么意思呢?不少大龄Java开发也知道高并发的重要性,但面试中只去准备redis,dubbo等组件的面试题,比如是底层结构。但如果这样的话,面试时面试官一句话就能把你打回原形:你有没有相关组件的项目实践经验?

这块怎么准备呢?哪怕项目没高并发需求,比如是一般业务项目,总会有Redis,Kafka组件的使用场景,这时你就说,为什么要用这些组件,从语法和配置方面说这些组件是怎么用的?用了以后解决哪些业务问题?说好以后再穿插讲些,你看过dubbo等方面的底层源码,知道一些细节。

微服务方面可以是,我们的项目有高可用的需求,或者我们项目有多个业务模块,同时要有多个team开发,所以一个team开发一个业务模块时,是单独部署,所以用微服务,总之先从需求方面站住脚。然后再说nacos怎么用,gateway怎么用,openfeign怎么用。

这块想说的是,架构不是空中楼阁,一定有业务需求,或者不这样做不行。比如限于多组同时开发的模式,或者有数据库性能要求,所以要用组件。而且架构大概率是从引入组件开始说起。你如果第一步能说组件怎么用,解决过哪些实际问题,当然可能依然无法去挑战架构的岗位,但好歹摆脱了只会增删改查的困境。

3 说好你用过redis等组件以后,你想办法说下你搭建过这些组件的环境。

当然可能在生产环境上轮不到你搭建,你可以说,在测试环境上搭建过Redis,搭建过Kafka,或者是搭建过Nacos等组件。

这些搭建组件的步骤,说穿无非是下载个包,到linux上解开,然后做相关配置,再启动一下。面试时如果要说细节,可以说些命令和配置。

这里请注意,别说太多太全,比如一个业务项目里,用个redis+kafka应该就差不多了,用微服务组件,一般也根据情况用其中的一个或多个。这里的操作要点是,通过业务和细节证明你用过组件,这里一定的切合项目的业务。在此基础上你包装个业务说再用过dubbo等个别组件,问题不大,但如果你项目没分布式事务的需求,你说用过seata,这就可能穿帮了。

4 更重要的是,说出些你解决过的线上问题。

比如你解决过OOM问题,解决过Redis缓存穿透问题,解决过Kakfa消息堆积问题,或者在用docker或k8s时,之前因配置不对导致无法部署,后来你调整参数解决了此类问题。

再进一步,你可以说,你们项目有监控,监控发现了数据库慢查询问题,或者是内存OOM问题,然后你参与解决。或者是,你们项目用jmeter做压力测试,压测中,你解决过各种性能问题。

这方面的素材太多了,本人在写的一本Java面试书里也准备了不少素材,而本人之前的文章里,也给出解决数据库性能问题和内存OOM问题的说辞。

优化 MySQL 数据库性能的方法有哪些?9 赞同 · 1 评论回答​编辑

面试Java岗老喜欢盯着JVM问,有那么多项目要调优吗?10 赞同 · 0 评论回答​编辑

根据本人的面试经验以及面试辅导的经验,其实不少Java开发,如果之前是在小公司的话,项目里一般是用增删改查技术为主,但如果在面试中适当准备些解决过的问题说辞,面成不面成这谁也说不准,但如果能证明自己用过分布式组件,外带解决过实际问题,好歹比别人只说增删改查强。

5 再说投简历,如果是30岁以上,但简历上无法体现出资深技能,那确实无法和年轻人竞争。

简历上该怎么写呢?在之前的项目里,本人有基于jenkins,docker和k8s的项目部署经验,有用过redis,kafka ...等组件的经验,有通过压测解决过性能问题的经验,有过在生产环境或测试环境上,搭建和配置组件以及集群的经验,有过云开发云维护的经验。

此外,本人解决过数据库性能问题,内存OOM问题和组件层面的问题,在此过程中看过一些组件的源码。当然如果可以,再可以写上,有高并发大数据开发的经验,并发量xxx,数据量xxx。或者是,本人有大公司项目的开发经验。

总之,大龄程序员,多少得拿出些值钱技能,而且得尽量想办法进些好公司,反过来说,如果依然用增删改查这套,可能哪怕是勉强进个小公司,但真和一些小年轻没什么差别了。

最后再给出些30岁乃至更大年龄,找到好公司的案例,以鼓舞大龄程序员。

1 本人在30岁之龄,以正式员工身份,进到一家知名外企,在这之前的公司,人数不到30。

2 本人的两个朋友,一个是27,一个是32,进到一家知名外企,之前的公司,说出来大家一定不知道,而且在之前,依然是做增删改查。

3 本人在外企和互联网公司做技术面试官,通过本人技术面试的求职者不少,其中不乏过30岁的人。而且不少人从简历上看,之前依然是小公司。顺带说下,有些大公司的java开发岗,如果着急要人,可能会降低要求。如果这个岗位是vendor(外派岗),要求可能真会更低。

4 本人知道的外企或互联网公司的程序员,其中不少,真可能是之前在小公司,然后找对渠道得到面试机会,然后进外企或互联网公司,而且论能力,虽然不算差,但其实也均是平均水平。

所以到了30岁,哪怕遇到挫折,应当正事问题,可以试错,但不能逃避,比如降薪进到小公司,或者在进小公司的前提下转行做测试等,更不能躺平。


http://www.ppmy.cn/news/1453342.html

相关文章

勒索病毒最新变种.kat6.l6st6r勒索病毒来袭,如何恢复受感染的数据?

导言: 在信息化社会的浪潮中,网络安全问题日益凸显,其中勒索病毒成为了一个令人头疼的难题。最近出现的.kat6.l6st6r勒索病毒,以其独特的攻击方式和恶劣的勒索行为,再次敲响了网络安全的警钟。为了有效应对这一新型威…

【小菜鸟之---Linux网络配置】

文章目录 1【子网和网关】2【网络连接模式】3【ifconfig-查看网络接口信息】3.1 查询网络接口信息3.2 ifconfig——设置网络接口参数【**设置网络参数的方式**】【**临时设置**】**【永久设置】** 4【hostname-主机信息】4.1 查看主机名4.2 主机名修改4.3 查看本机ip 5【route-…

是机遇?是未来?拥抱 AI Agent ,拥抱 AI 2.0时代~

✍️ 作者:哈哥撩编程(视频号同名) 博客专家全国博客之星第四名超级个体COC上海社区主理人特约讲师谷歌亚马逊演讲嘉宾科技博主极星会首批签约作者 🏆 推荐专栏: 🏅 程序员:职场关键角色通识宝…

AD单通道/多通道

1.AD单通道(单次转换,非扫描模式) 1.1 接线图 1.2 AD.c #include "stm32f10x.h" // Device headervoid AD_Init(void) {RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//开启GPIOA时钟RCC_APB2PeriphCl…

基于51单片机的智能台灯proteus仿真设计( proteus仿真+程序+原理图+报告+讲解视频)

基于51单片机的红外光敏检测智能台灯控制系统仿真( proteus仿真程序原理图报告讲解视频) 1.主要功能: 基于51单片机的红外检测光照检测智能台灯仿真设计 1、检测光照强度并显示在数码管上。 2、具备红外检测人体功能。 3、灯光控制模式分为自动模式…

ASP.NET 两种开发模式

1》》WebForm 开发模式 1. 服务器端控件 2. 一般处理程序html静态页Ajax 3. 一般处理程序html模板 如下图 2》》MVC 太复杂的系统,会造成Controller 过复杂。 后来就诞生了 MVP、MVVM等模式

排序算法--冒泡排序

前提: 交换排序:根据序列中两个值的比较结果来交换这两个数在序列中的位置,交换排序的特点是:将值较大的数向序列的尾部移动,值较小的数向序列的前部移动。 算法分析: 冒泡排序,英语名是Bubble…

推荐网站(1)懒人Excel,函数公式、操作技巧等,一看就看会

相信很多小伙伴打开excel表的时候,不知道要怎么操作,也不知道该如何搜索自己想要的结果,那么我推荐个网站懒人Excel,它可以帮我们快速了解使用 EXCEL的基本操作,也可以帮我们解决使用 EXCEL的遇到的问题。 可以看到他…