牛逼!机械专业自学一年上岸阿里新零售
3150
2022.11.01
发布于 未知归属地

本文系阿秀个人原创,禁止未通过允许二次转载或加工,望周知。

你好我是阿秀。

最近有位机械学弟给我分享了他自学进入阿里本地生活的经历,我看了觉得非常不错,于是邀请他写了经验分享,现在免费分享给大家!

他在文末建议脑子不太灵光的同学多花时间,我觉得说的实在太太太对了。

举双手双脚赞成

因为我也是那种脑子不太灵光的同学,换句话说就是脑子有点榆。。。。

于是我就堆时间,就好比刷题这种事情,一道题做一遍做不出来,我就做两遍,两遍做不出来我就做三遍。

既然天赋比不了,那就比努力。

这是我在力扣上 11. 盛最多水的容器的做题记录,一遍不行那就多刷几遍,总有会的那一遍。

image.png

说出来你可能不行,我去年找工作时参加华为的笔试是七月底的一场校招笔试,其中第三题也就是压轴答题,刚好就是这道题的改编版本。

当时一读这道题,我就乐了,,,因为我做过,于是三下五除二就搞定了。

可能你现在做的题、读的书、刷的视频在眼下不会帮到你,但终有用到的一天。

我相信,并且始终相信着。

好了,下面开始这位师弟的分享,下文中的「」均代表这位师弟:

一、写在前面的话

我的本科专业是机械设计制造及其自动化,在一所某中下流 211,研究生也在这个学校。

至于为什么选这个专业,都怪年少不懂事,以为名字越长的越牛逼。

后来阴差阳错,认识了现在的导师-一个年近 40 岁依然还在每天写 7 8个小时代码的大学教授,他告诉我,写代码一方面是 Money,一方面是 Interest

我受他影响很大,首先写代码,或者说任何事,都可以说一句:兴趣是最好的老师,有了兴趣自己就会继续走下去。

回到正题,我大致说一说自己的学习经历,每个人的经历不一样,只能说分享分享。

如果能对看这个文章的人,有一点点帮助,那就足够了。

二、学习、积累

这部分要从开始上研究生前的那个暑假说起

我的是从考上研究生的那个暑假开始学习编程的,那时自己在家学习 python,准备研一开始的华为杯数学建模国赛。

初学编程,我当时看的北京理工大学的慕课,它首先从面向对象开始讲,我也会跟着动手做一些小例子,虽然是全程照抄,但也确实有一种满足感,那时还很不羞耻的每天在朋友圈打卡。

从那开始,我就开始买一些技术书籍,第一本入手的就是图灵图书系列的《Python 从入门到精通》,后来为了备战数学建模大赛,还买了一本《Python 科学计算最佳实践》。

就这样,我在暑期学完了 Python,也算是编程的启蒙,稍微入行了。

image.png

研一开学

时间来到研一的开学,我研究生的专业依然是机械工程,只不过导师做的工业软件相关的,用我导师的话就是也算半个程序员了。

由于专业是机械工程,研一的课不是跟机械相关的课,就是一些数学英语之类的公共课,学起来跟本科混日子没有任何区别。

可能是由于考研或者是年纪到一定时候,我对于最任何事,确切的说是学习的相关事情,都开始有一种很强的功利心了,或者说,我比本科更清楚我要的是什么。

于是,很多的课,我都是逃的,即使去上也会拿上一本《Python 科学计算最佳实践》。

在没课的日子里,我每天泡在实验写代码,技术书籍从一本两本也逐渐增加到十几本。

我本科的时候是个科密,最大的爱好就是打篮球,几乎每天都要碰一下。

可上了研究生,一个学期打上个十次,就已经算多的了

关于跨行,或者说开始学习编程,我这里有一些自己的小心得,在我看来写代码/编程,思想的培养很重要,换句话说,写代码世界里也需要一种世界观和方法论。

这里推荐一本书,它对我影响很大《程序员修炼之道——从小工到专家》。

image.png

书中有一句话我一直记得,原文记不清了,但大概的意思是「编程也是一种艺术,要时刻提醒自己写规范、优美、高效的代码」。

后来,我在看其他的教学视频的时候,我就会经常用这样的思维去审视那些老师写的代码,我经常会想:这样写规范吗?够不够优雅?容易扩展吗?效率如何?

这大概就是我脑海中关于软件开发各种原则的启蒙,比如开闭原则。

到我自己动手写的时候,也是去思考类似的问题:满足需求的前提下,能不能更规范简洁一些呢?

研一的上学期,我主要学习了 C# 这个语言 ,学这个的原因主要是要参加数学建模大赛。

很幸运,我和另外两个还哥们参加华为杯数学建模大赛,并取得了全国三等奖。

其中一个同学,是我的本科同学,也是学机械,研究生我们也在一个班。

他自学 C++,现在在腾讯实习,一个学了一年,刷了几百道 LeetCode 狠人。

研一寒假

那个寒假遇到了疫情,是的,就是 2020 年。

疫情可以说是不幸的,但是,对于我来说,却是个沉淀技术的好时期。

当时我在家自学了 JavaScript、Jquery、网络编程、数据库等。

等到疫情平稳,我也终于能够回到学校的时候,我已经开始在导师的指导下,有能力独立完成了一个项目招标用的 Demo,这是一个部署在钉钉上的 H5 微应用。

做完了这个项目以后,很快到了研一的暑假。

研一暑假

暑假的时候,我被安排到了导师的项目上。

我在这个项目上学到了很多业务,熟悉了常见的软件开发的流程,以及一些只有在生产环境中才会遇到的技术问题。

老实说这些项目,以及我关于项目的思考,给我后来的面试加了很多分。

研二寒假

我开始刷数据结构与算法,看视频,然后刷题。

我属于脑子不好使,但是勤奋那种学生,其实有时笨鸟先飞,笨就多花时间,是最简单粗暴的做好一件事的「捷径」了。

刚开始刷题,肯定是很懵逼的,我当初是刷到 50 题左右,感觉就来了。

所以,埋头进行就好了。

关于这方面,很多大佬的经历很多,我算法很一般,就不多说了。

我系统学习 Java,应该是从今年三月开始的,也就是 2021 年的三月份,那时候投递了很多实习简历,因为技术栈是 C# 的原因,很多都没过关,或者泡池子了,这个时候我才意识到要好好学 Java。

泡池子 的意思就是说投递的公司没有给你准确回复或者回复说您很优秀但跟我们部门/小组不符,将您放回公司人才库中,后续有合适岗位再来联系您。这种就叫做泡池子...

因为我有 C# 基础,而且 C# 和 Java 是两门很像的语言,所以我的 Java 基础部分只学了一周不到。

当然每天都会至少学习 8 个小时,学完了 Java 基础,我就开始学 Spring 框架。

由于这个框架的核心思想、控制反转、AOP 等思想与我之前学的 C# 的 Web 框架 .Net Core 如出一辙,只是使用起来的方式改变了,核心并没有变,换汤不换药。

image.png

现在觉得「语言是相通的」这句话真的很多,往往学好其中一门,再去学另外一门,就会觉得非常容易,可以轻松过渡过去,在语言之前无缝衔接。

再后来,我学习了 Mybatis,这玩意本质就是 SQL,学好了 MySQL,花个一两天时间,就能做出 CRUD 了。

总之,基础很重要。

Java 的体系很庞大,从 Java 基础到微服务分布式,可以说一辈子也学不完。

其实核心的我觉得有几个:Java语 法、Spring 核心、JVM、数据结构与算法、数据库、网络通讯。

先深度,再广度;先学好一点,再去学整个面;由点到面慢慢过渡,慢慢扩展

image.png

所以不要一上来就各种框架、中间件都学一遍,要不等你学到微服务、分布式的时候,可能连 Java 怎么开启一个线程,怎么写一个线程安全的单例模式都忘了。

技术的迭代速度是很快的,但有些东西的核心不会变。

各种大厂的面试也基本会围绕基础的深度来考查,知识的「广度」可以让你加分,但不是最主要的。

最主要的依然是那些基础的东西,假如基础的东西问起来说不清楚,是很扣分的,甚至在面试里会被直接Pass。

关于学习还有一些建议是:如果你有不理解的点,你的第一想法应该是去翻文档,或者翻一些电子书,而不是百度,这点很重要。

举例来说,假如你对 Java 线程不了解,你可以去翻《Java 核心》;假如你对 Spring 的装配机制不熟悉,就去翻《Spring 核心原理》或者官方的文档,因为这些地方的知识是系统的、全面的、相关的。

百度出来的东西,往往不够全面和系统,有些知识很琐碎,甚至错误百出,这样你的学习效率很低。

假如你不加思索的认为那就是标准答案,那很难有进步。

所以整理自己的知识库也很重要,一旦遇到问题,可以找到对应的、靠谱的资料进行学习。

接下来是实习的一些分享

整个战线从三月初一直到五月中旬收到阿里意向书。

首先介绍一下我的投递情况:

  • 北森云计算-后端开发 一面挂
  • 华为软件开发-简历挂
  • 字节跳动后端开发-简历挂
  • 小红书-简历挂
  • 贝壳找房-没有参加笔试
  • 携程集团后端开发-投了三个月 简历泡水了
  • 宁波银行-金融科技研发 一面挂
  • 腾讯运营技术研发-一面挂
  • 蔚来汽车-研发 -时间不合适,拒绝
  • 三一重工-JAVA 开发 22 秋招提前批-终面拒绝了
  • 海康威视-Java 开发-offer 已拒绝
  • 阿里巴巴 Java 开发 -已 offer

因为非科班的并且 Java 还比较蹩脚,所以我投阿里这样的大厂的时候,底气十分不足。

每次经过一轮面试,都像是在做梦,那时白天要在导师的项目上跑,每天四个小时的公交往返,公交上还要不断看笔记准备晚上的面试。到了项目现场还要调 bug,应对难搞的客户,晚上回宿舍还要强刷算法题,背面试题,可以说做梦满脑子都是代码。在这种巨大的压力下,熬过了一个多月。

4 月份是项目要上线的时候,同时有三个面试流程在跟进(海康、三一、阿里),其中的艰辛无法言表。

但是有时候,再努力、再坚持一下,可能好运就真的来了。

关于面试的经历我的策略是海投,你能想到的大中厂,我都投了一遍,但很多都没有后文,总共下来就面试了十几场。

最后阿里是五面通过,顺利拿到了新零售 Java 实习的 offer。

阿秀:我面了 40 余场。。。。。

image.png

投简历这个事情,对于大部分人来说,海投很关键,真的很关键。

多投、多面,你就会掌握一套属于自己面试的套路,也会不断修改完善自己的简历,因为你要准备面试,所以你也会不断的学习,这是一种正面的促进作用。

我准备面试的那一两个月,每天都是一周七天,每天早上 8 点到晚上 11 点。

像我这样脑子不太灵光的同学,我只有一个建议,就是多花时间。

没有其他花里花哨的建议,就这四个字:多花时间

一些建议

1、对于想转行的同学来说,可以考研计算机相关专业,或者考本专业,但是与计算机做交叉学科的(智能医学/智能制造/机器视觉等);

2、再有就是选一个好的导师,能不压榨学生就最好不过了。我的导师人就很好,研究生做项目每个月有 2-3k 的科研经费,已经很不少了;

3、对于还在上学的同学,特别是转行的同学,我的建议是能够尽量参加一些竞赛,这些是你能力的表现,比如一些数学竞赛,好拿奖,写简历上也好看。

4、最后总结下来就是:笨鸟先飞,兴趣驱动愿各位满腔孤勇,终不被辜负

评论 (3)