前言
博主自己建了一个聊天群吧,由于人数较少,所以吹水的也不多。为了能让这个群变得有意义些,在之前跳槽的GAP时间里,陆续帮群里大概十几个小伙伴改简历、聊学习路线和面试辅导。每次的时长大概是一小时到一小时半的样子,主要看我有没有空闲,个人的话还是挺喜欢这种助人为乐的感觉。本篇文章是从我个人的角度去给大家一些学习和面试的建议,只是沟通,也希望大家给予我建议。
初心
最本质的原因是我觉得受到了很多人的帮助,有必要力所能及地去帮助别人。这种帮助可能是有形的也可能是无形的,我受到的帮助大多是前辈们留下来的各种知识博客,尽管部分现在成了韭菜中心或者推流入口,但是不可置否的是当初的我确实从这里收获到了知识和技巧。我也知识付费过,在程序员圈子里这很正常,之前加入过Guide的知识星球,加了不少微信好友,也给Guide哥投过稿,挣了些稿费,知识星球的钱居然挣回来了,也是逆天。在一些知识群里,也付费(奶茶钱)问过大佬们一些问题。
我对于知识付费倒是没什么恶意,包括一些大佬开始收费,我觉得也没问题,毕竟经济不好,发展副业还是有必要的,我的朋友也在弄。但是呢,就我个人而言,我还是想在小范围内去扩散一些有价值的东西,去帮助我身边的人。为什么?我在写博客和帮群友的过程中,有很多人给我反馈了一些东西。去年的时候有两位掘金上的读者突然私信感谢我,说看了我的博客找到工作了,当时我真的很触动,我真的没想到会帮助到网上的人。今年开始做面试辅导的时候,群友跟我说,他朋友去网上买了一千多的面试辅导不如在我这免费听了一个半小时当时我真的很纳闷,这也能挣钱,还能挣这么多?说真的,当时我就觉得下头,怎么这么割韭菜,于是就有了本篇的写作动力。
除此之外,就在前不久,我在纠结工作的时候,网上瞎问的时候,在牛客网上加了一个叫闪闪星光的大佬。当天晚上通过了,回答了我很多的疑问,关于工作的选择、方向的规划以及对未来的看法。这个大佬真是刷新了我对赛博善人的认知,讲得很细致也很有想法,对我来说就是醍醐灌顶。我也希望将这种善意传递下去,同时功德+1,感觉在这个世界上留下了更多的亮色。
建群与公众号
建群一开始也是想做一下个人IP,毕竟也有点粉丝量,想着顺水推舟做一下,毕竟大家都在做。后来发现我确实是没这样的天分,之前有朋友做过类似的东西,大概是有个几万块的收入吧,但是他功利心比较重,花样很多精力有限就慢慢地放弃了。我确实是没什么运营的天分,一切都是水到渠成还偏偏有点执念,在21年的时候没有选择大热的CSDN发文,而是选了小众的掘金。就因为我觉得CSDN拉垮,我自己都骂,不喜欢,虽然他流量做的很好。掘金也是两周左右的更新频率,刚开始的时候本来想写点水文,但是我自己看不下去,也觉得没必要写,就犟着一直写自己能看下去的文章。流量一直上不去,也没太在意,有时候忙起来了还断更,写文有时候更像一次我对自己这段时间的总结和鼓舞,每次的写在最后算是我自己的小憩时刻。慢慢地过了千粉,寻摸着要么建个群吧,整个公众号,结果公众号也没坚持住更新,老是断更。
或许也正是因为这种简单轻松的行为理念,导致小群也是偶尔冒泡,慢慢成了大家没事聊一嘴的地方,没有想象中的火热。不过我自己好像也是把这个群当作一个大号朋友圈的感觉,去分享一些我生活中的事情,大家也会有一搭没一搭的分享些故事。其实我在做一对一聊天的时候就发现,大家其实都蛮需要一个情绪出口的,哈哈,我跟大家聊技术的时候通常也会聊一些生活和工作上的事,毕竟贴近真实场景的方案才更适合自己。而且有意思的是,大家往往会比较喜欢找我单聊,而且是也会去看群里消息,就是潜水,哈哈。之前甚至有人找我聊情感上面的事情,他一直在说怕打扰我,其实我个人比较喜欢给别人灌鸡汤,找我没准可以解压,所以来吧,向我开炮!
但是建群的话,也希望大家去鞭策一下我,向前进步,我比较懒,有时候不想动了需要一些外在的动力。希望我也能做一个几百人的群,大家一起聊天,哈哈,所以看到这里的朋友,有想要加群的吗?
学习建议
目标和路线
因为我博客面向的主要读者是有一定基础的人,所以吸引过来的往往是工作几年的社招朋友,从3到10年都有,很多都比我大,没有问我如何学习的。但现在应该是卷的厉害了,群里来了一些年轻人,大部分也是大厂的,比如腾讯、百度的实习生或者工作一年的,对他们来说,就是想知道我是如何去学习的。
我个人的方法不一定对,对他们来说也只是一个参考,因为他们比我能卷,学习的方法论一般来说肯定比我强,毕竟我刚上班的时候可没他们厉害。所以我给这个阶段的朋友的建议,一般是会从他们自身的职业规划聊起,如果不清晰的我会先帮他梳理一下职业规划。我说的很抽象,实际上就是你想干什么,想在哪干,想干多久?
这里的话我会说一些比较通用的目标和路线供大家参考,毕竟我也不了解大家,是吧,而且我最讨厌对别人的人生指指点点了,哈哈。首先对于程序员来说,目标的制定尤为重要,大多就是三条路,业务、技术和管理,你要说吉祥三宝?喂喂,那是另一个方向了,咱们先不要悲观行事,虽说努力不一定有结果,但是没有目标的生活更是一团乱麻。
对于大多数人来说,程序员职业生命周期大致粗略分为0、1-3、3-5、5-8和8+五种,因为市场的不景气,导致用人要求越来越高,目前234三个周期的要求趋同了,属于既要又要,但是大体招人逻辑还是在的,接下来会慢慢分析。程序员三条路线其实都能走,有着各自的生态位,并且能互相转换。因为大部分程序员都是小镇做题家,学习和适应能力都不差,喜欢技术的一条路走到架构或者开源大佬,喜欢业务的直接转产品没准做得更好,想做管理的大部分公司都会给到一定年限的程序员一个管理的机会。
结合职业生命周期和路线,我猜测的招人逻辑大概是这样的,注意这里是猜测,仅供参考,是无知博主的一点愚见。这里会聊一下大中厂的一个招人逻辑,为啥不聊小公司或者外包呢?因为后两者其实更偏向于全能,因为干活的人少所以更需要木桶型人才,而不是长板。应届生或者实习生的话,和大家聊天的时候我是感觉越来越卷,也越来越离谱了,首先是招人少了之后优中选优加上有门槛,这个门槛对于应届生或者实习生来说就是学历。但是学历的话对于大厂来说,一本也足矣,跟我聊天的一位朋友就是双非一本+字节实习经历进了百度。当然这里是拼的一个综合分,学历分低了就需要你有别的长板来提分,比如这个老哥就是选择卷实习。
所以到这里非社招的学习目标和路线就很清晰了,三个方向多管齐下。一是卷学历硕士博士或者985211,硕士博士就可以多一些赛道卷比如算法工程师和AI。二是卷实习,这个大家路子可比我当年狠多了,我是大四找到工作才去实习的,现在最离谱的从大二下就开始实习了,真是夸张。三是最基础的卷算法和面试题,其实我有时候觉得校招的面试蛮离谱的,我社招都没那么变态过。算法题都不用说困难,中等简单都够我喝一壶了,而且因为项目大多打杂或者编的,面试官心照不宣都会问得很宽,就真成了八股,啥都有,很乱,没有知识体系。
1-3的朋友这会儿如果出去面试的话和校招基本类似,因为面试官考察的大部分还是学习能力和通用技术能力。1-3年在公司的定位是一个中级开发,不需要你懂什么业务也不需要有什么见解,知识面够广有一定深度和实战经验即可,来了也是跟着干活,是潜力股。所以学习目标也很清晰,因为这个时候很纯粹,就是技术为王,提前转产品或者小管理只会是职业生涯的拖累。学习路线的话,一是拓展知识面,这种我之前推过很多大佬的博客和个人网站,多看多总结,一定要形成自己的知识库。二是以面试的心态去学习,根据自己的技术栈去拓展,不要在无意义的八股上浪费时间,当然常规的一定要知道。三是刷算法,一定要刷,大厂平跳的话会简单很多,但是该刷还是刷点。
3-5年就是跳槽的重点区间,通常这个时候你已经证明了自己的学习能力同时因为年限还保有很强的可塑性,从公司的角度来看就是最好的模子,大有可为。这个阶段更多考察的是项目经历和通用技术能力,注意顺序,这个阶段项目变得尤为重要,好的项目开始决定了你是否能脱颖而出。这个阶段可以考虑做一下职业规划了,因为面试阶段考察的比例,业务和技术来到了三七开,公司越小业务比重越大,项目越重要,此时我们的职业规划会直接影响学习目标。如果是奔着业务走,可以考虑公司内转产品,这是最好的,既有一个相对熟悉的环境,而且容错率大大增加,压力比较小。产品的学习路线我不太清楚,但是我身边确实有先例,并且最后还转了管理,算是多面手了。如果接着走技术,那么学习路线大致沿着之前走就行了,额外注意的一点就是要去雕琢自己的项目了,尽量添加亮点和难点,技术上更多元一些,还要去考虑线上问题的处理方案。
5-8年就是比较痛苦的时期了,必须要对自己的职业生涯有相对明确的规划了,因为再跳槽出去,相比3-5年的要求会更高,会有更明显的门槛,比如一个优质的技术或者业务项目、过往公司履历。这时候首先要确立明确的目标,做业务还是做技术,如果做技术一定要跳到一个偏技术的部门,中台、支付、电商、架构等等。当然这是最优情况,如果本身公司履历不行,那还是找一个大公司润进去再说。如果是做业务的话,没有转产品的想法想要转管理或者深耕业务,同样建议走一个大公司,这时候同样需要挑一下业务,如果挑不了先进门再说。学习路线和前面的侧重点有所不同了,八股和算法方面可以适当少练,需要增强自己的系统模块和场景解决方案设计能力,同时解决线上问题的经验一定要用,自己挑选一个项目作为面试核心项目去吃透它。
8年以上的我确实不太清楚,这里就借用别的大佬的看法。这时候不会太过关注通用技术的能力了,更加关注过往项目经验带来的技术性积累和业务逻辑能力,以及对于具体场景的设计与思考。
方法
校招同学的学习无非就是刷八股算法,想尽一切办法去获得实践的机会,无论是实验室项目还是去实习,一定要多实现,还没毕业但有两年工作经验的你就是乱杀。
1-3年的朋友还是以提升知识面广度为主,看各种各样的个人博客去拓展知识,上一些博客网站了解一些新鲜的知识开阔视野。八股和算法说白了还是多背多记,没啥好办法。
3-5年和5-8年的必须要雕琢一个好的项目,尽一切办法去堆技术点,提升自己的实践经验和线上问题的处理经验。自己多去写一些工具类和sdk或者参与开源,总的来说就是改变自己使用者的思维到一个设计者。同时没有的场景也需要去找一些通用的解法,不至于问到的时候尴尬,比如海量数据处理、秒杀场景。
感悟
我个人的学习方法没什么了不起的,也没什么高招,毕竟要是学习能力很强的话,毕业就去知名大厂了,所以我也只是分享出来给大家一条路参考。面向一个新东西的时候,我会选择先看视频,那种实战类的视频,B站啊各种学习网站都可以找到,随便看一个质量高一点的就行,像什么尚硅谷黑马都可以的。视频看得差不多了,我会开始边看文档边上手实操,写可执行的demo,文档最好是视频配套的文档或者官网文档。然后在实操中发现问题 ,通过博客或者ChatGPT去解决问题,过程中再复盘。最后尝试着做一下性能优化,翻一下相关的博客或者文档,深化一下对原理的理解。一般这样四步完成以后,就能熟练掌握了,ChatGPT一定要用,有时候比自己搜靠谱多了,为啥呢,主要是新手最大的问题是不知道哪里有问题或者说不知道什么是问题,ChatGPT就能帮你梳理出想要表达的问题。
现在说实话太卷了,所以上面虽然界定了年限,但是真实找工作的时候后面的要求会提前。比如校招的,最好也得有项目,能说个七七八八,哪怕是编的。刚毕业的,也要求你有个好项目,有一定的参与至少是个打下手的,有真实经历。至于五年左右的就开始既要又要,算法、场景、设计、八股等都得有,反正尽量全能。
简历
尽量写的简练一些,两页左右吧,简历样式的话程序员以清新自然风格为主,不要太折腾,甚至没必要上照片。模块的话我个人排序是个人信息、教育经历 、专业技能、工作经历、项目经历和个人优势,模板的话直接使用BOSS直聘的。
个人信息和教育经历是啥就填啥,有模板的话直接填空不用在意格式。
专业技能开始就得有技巧了,跟我聊天的十几个人里,当我问到你简历这块如何写的时候,往往就是差不多的答案,我照着别人简历模板写的。我不知道都从哪看的,是不是没看到人家的付费内容啊,反正我也没深究这个模板的来源。我先来大致描述下这类模板,有的是罗列技术栈,甚至把Linux都写出来了,然后是一大篇专业技能...占据了第一页的大半。
专业技能同样是凝练为主,技术栈都是关联的,你写SpringBoot、Cloud大家默认你就会知道相关的组件,更何况下面项目经历里面不还有地方写嘛,非得列这些占地方干啥。凝练之后,更重要的是技能的熟练程度,很多人写熟练或者熟悉,更别说写什么了解的了,了解就别写了,写出来被问倒了还尴尬。熟悉熟练大家都这么写,你写了有用吗?有的,能凸显自己的优势吗?不能,所以要多加两句关键的话。比如Java,八股模块大致分为基础、集合、多线程JUC和JVM,核心在JVM,所以追加一句话,有JVM调优能力和线上问题的处理能力。同样的,数据库也是相同逻辑,会用MySQL、Oracle,这够吗?不够,大家都会,数据库谁不会用啊,有手就行,那么多加一句,有丰富的SQL优化经验或者数据库配置优化能力。如果实在无法修饰,那就单纯罗列一些重点即可,记住,你写出来了技术点就必须要会,不然问倒了扣大分。
接下来就是工作经历,最好写一些与众不同的事件来体现自己的价值,比如说沉淀了多少万字的文档帮、写了多少SDK帮助团队提效、有没有特殊的职责比如做小管理、大数据、前端经验等等,这里需要量化以体现真实。这一块最好自己想想,精炼一下,同样是作为一个可考察点暴露给面试官,尽量让他感兴趣或者能诱导他指向性的问问题。
项目经历就是罗列过往项目,思路依旧是精简,优质项目拿出来,垃圾项目合并一下,不然个人职责那一块都不好总结。一个项目写下来通常几个板块,名称、时间和个人定位该是啥就是啥,项目背景可以自己总结也可以抄产品文档总结的。记住这段话不是介绍技术栈而是介绍项目的业务,技术人家面试官感兴趣会问,你自己搁这写一堆技术名词干啥,占篇幅啊?这里就要写,你这个项目是做什么的,给什么人做的,做了之后的业绩,大致回答这三问足矣,尽量量化显得真实。
个人职责这一块一定要体现出价值,不要写自己写了什么什么模块,你让人家怎么问啊。我有时候看到来问我的朋友的简历,一看到这种我都叹气,只能引导着就他写的模块反问他一些问题,通常也能答出来,然后我就说,你觉得把刚才问你的东西总结出来写在这,是不是比你干巴巴的写俩模块强多了?所以这里怎么写,介绍自己写的功能,用量化的数据体现出亮点和难点,比如我在做xx模块的时候,做了接口性能优化,从20s缩短到了1s,或者我解决了一个什么问题,我之前做过大数据相关的东西,所以项目里解决了数据倾斜的问题。还有些朋友老问我,项目CRUD没有亮点难点,找不到咋办啊?我跟他一聊天,没几分钟他就知道自己哪里有亮点难点了,说白了,对于大部分人来说,找到亮点难点才是最大的问题。
个人优势就随便写写,有亮点就早说,比如有开源项目或者个人博客啥的,啥都没有就写我爱工作。
简历的作用是什么?是给人一个好印象的同时圈定一个考题范围,优秀的面试官会根据你的简历进行提问,结合他自己的工作经历以及JD的要求去拓展相关问答。有了考题范围,只要做好准备,心里就不慌,无论是心态和答题率都会好转,这就是一份好简历的必要性。
面试
这个真的老生常谈了,前面不一样面试系列写的太多了,大家直接看过往文章了,该总结的都在里面了。不一样面经 - 云雨雪的专栏 - 掘金 (juejin.cn)
写在最后
最近也算是入职了一段时间,就是按部就班的工作了,接下来的任务就是找对象了,哎,真难啊。最近在看书,可能下一篇就是读书笔记来着,融合我自己的一些想法吧。我现在有空了会帮助一些群友做简历修改和面试沟通,感兴趣可以来私信我,白嫖或者打赏都没问题。我想的是了解一下这个世界真实的样子,认识更多的人,这对现在的我很重要,说不定以后可以做一个人类学家?哈哈,加油吧,朋友们,最后再来一次我的人生信条:我要让这痛苦压抑的世界绽放幸福快乐之花,向美好的世界献上祝福!!!