颍上人才网
颍上职场资讯
颍上面试技巧
正文:本硕高分子材料0基础转行计算机,凭两段大厂实习开启Java自学之路 | 思维逻辑与方向选择至关重要
本硕高分子材料0基础转行计算机,凭两段大厂实习开启Java自学之路 | 思维逻辑与方向选择至关重要
来源:网络整理2025-04-12

2020 年的秋招已经基本结束。从提前批开始,在之后的一个多月时间里,我成功拿到了腾讯的后端开发工程师 offer,也拿到了字节的后端开发工程师 offer,还拿到了阿里的后端开发工程师 offer,同时拿到了快手的后端开发工程师 offer,也拿到了美团的后端开发工程师 offer,还拿到了京东的后端开发工程师 offer,并且拿到了华为的后端开发工程师 offer,以及拿到了 vivo 的后端开发工程师 offer 等中大厂的后端开发工程师 offer。
写一篇文章来对自己的 Java 转行之路进行总结,同时也要总结秋招提前批以及暑期实习的面试经历和个人的感悟。由于需要写的内容比较多,所以准备将其拆分开来写。分别写转行路线、复习策略以及面经,还有找实习的准备以及时间线。

个人基本情况

学历:本硕高分子材料专业,转行前0基础。

实验室项目和知识:和找工作啥关系没有(不仅限于转行计算机

,因为我们专业学的东西不是没用,是真没用。。。)

技术栈:Java后端

实习经历:两段大厂实习经历 DJI,字节跳动

整体学习路线及方向选择

我从 2018 年 10 月开始正式进入转行复习阶段。入门时,我观看了中国大学慕课上翁恺老师的 C 语言教程,这激发了我对计算机技术的兴趣,他讲得真的非常好。强烈推荐零基础的小白听一下,他是一位特别有魅力的老师。下面用和最帅的恺哥的合照来镇楼。

研一上学期,开始学习数据结构与算法,期间配合《算法笔记》和《算法第四版》,还混迹于一些 OJ 网站做算法题,找回了高中做题家的感觉。
研一下学期,我发现仅仅做算法题是无法起到决定性作用的,必须要选定一个具体的方向继续前行。当时因为被算法岗的高薪资所吸引,所以决定转行到算法岗。实际上当时算法岗已经变得很艰难了,然而我还是想要尝试一下,因为多学一些东西总归是没有坏处的。我学习了一学期的机器学习,还参加了几个比赛。后来这学期结束了。我请教了同学和前辈。甚至一些科班同学也放弃了算法而选择了走开发这条路。接下来,我在知乎上搜了一波相关内容。经过仔细思考后,我决定及时调整路线。在研一结束的暑假,我把技术栈转到了 Java 后端。

最重要的是思维和逻辑

我觉得除了汲取和积累知识之外,更重要的是养成的思维方式和逻辑。一个好的思维方式可以让你少走很多弯路。
我在求学的道路上走过不少弯路。同时,我也在持续修正自己前进的方向。

选择大于努力

一个好的选择能让你在同等付出时获得更好的结果,这部分不限于转行。比如选择一个适合自己的专业,确定科研的方向,找到合适的工作,以及工作后所在部门的气氛和业务等,这些都对我们后续的发展和人生轨迹有着极大的影响。如果之前做了一些不合适的选择,并且不安于现状,那么之后就必定要花费更多的时间和精力,以使自己重新回到正轨上。
现在还处于年轻的阶段,拥有很多的选择,所需要付出的成本并没有想象中那么高。

(图片来源于网络,侵删)

日拱一卒,功在平时

本科和硕士的期末考试习惯了在考前突击。然而,对于这种关乎人生选择的节点,这种方式是不合适的。换个角度来看,我们在高考和考研之前,不可能仅仅提前两周才开始突击复习。并且从某一角度而言,工作或许是更重要的一次选择,因为它直接决定了自己毕业后的去向,长远来看,还会影响到以后的人脉、居住地以及发展空间等。所以秋招需要谨慎对待。我认为秋招就如同大学进入职场的一次入学考试。
有人想知道开始复习的时间。如果还在为这个问题而纠结,那我可以清楚地说:现在就应该开始复习!我参加过一系列的暑期实习面试和秋招面试,并且也和很多同学交流过,大家都有相同的感受,即复习时间不够,要复习的东西又多又深,还容易遗忘。如果是科班出身且基础非常好的人,那就另当别论了。如果是生化环材天坑专业想转行的,就从现在开始制定复习计划。你现在或许只是大二或者研一的学生。一定要及时对学过的东西进行复习,并且做好电子笔记。做笔记是非常重要的,它对以后的复习有着巨大的帮助,能够提升复习的效率,让你保留学习的感觉。不要愚蠢地手写转 CS 笔记了,电子笔记软件有很多,选择自己喜欢的就可以。不然如果把所有的东西都堆积到最后再复习,你可能会怀疑自己到底有没有学过这些东西。
坚持是最难的事情。前期需要适应一段时间。后期要养成学习习惯,注重积累。每天都能有新的收获,这样自己的水平一定会越来越高。“日拱一卒,功不唐捐”。

Java自学之路

主要的学习资料有以下几种:一是视频资料;二是书籍资料;三是博客资料等。
我自身观看视频的次数比较少。我觉得视频这种形式比较适合初学者,也适合那些偏向于案例实现的项目情形。而如果想要更深入地学习,还是需要去钻研一些经典的书籍。
建议多去阅读这些经典书籍,时常思考并保持新鲜感,同时要总结好自己的笔记。这些经典书籍如《Java编程思想》《深入理解JVM》《Java并发编程实战》《算法第四版》等,若都能看懂,面试时就不会有问题,因为它们都是行业大佬所写,讲解的内容只会比面试所问的更深入,很多面试问题在书中都能找到答案。遇到不懂的地方,可以去查阅博客以及 Github 上大佬们的仓库(比如 CyC2018、JavaGuide 等,后期我会总结一篇出来),看看大佬们的见解,这样可能会用更通俗的语言让你理解。有疑惑的问题欢迎和我交流,一起进步。如果找不到书籍的同学可以跟我说一下,我自己收藏了一些。
Java 技术栈大致可分为以下几个模块,接下来我将分模块进行介绍。其他语言也是如此,只要学通了一门,转换起来就会很快,不必担心语言的问题。我在实习的时候就是直接转到了 Golang 和 Python。
学习如下技术栈时,重点在于逻辑。千万不能通过找面经然后死记硬背的方式,这种效果很差,换个问题你可能就答不上来了。必须要理解为什么会有这个技术,以及它背后的设计思路等。这个技术能够留存下来,必然是经过了优胜劣汰的,肯定有其存在的价值。不常用的技术也一定有其缺点,要思考背后的逻辑并将思路串联起来,以完善知识体系。当面试问到你问题时,即便你忘记了具体的知识点,也能够凭借自己的逻辑,将答案分析出个大概。
很多知识点是相通的,并且会相互穿插。不要单独学习,开始时或许不太理解,但之后就会明白。所以以下技术栈并非需按严格顺序学习。

数据结构与算法:

数据结构与算法的学习需要贯穿始终,要进行学习和做题。题目主要有 LeetCode 和剑指 offer 这两类。做算法题时,会比较有像高中做数学题那样的感觉,要注重当做题家。还有一些其他的 OJ 网站,像 codeforce 以及 codejam 等。这些网站的难度较大。如果有多余的精力,可以尝试去做一做。建议每天都坚持做题。特别是如果想要去外企 WLB,就需要更努力地刷题,因为外企对算法题的要求非常高。

计算机组成原理:

基础课程,面试通常不会明确考查计算机组成原理(计组)。我之前一直未曾进行系统学习(直到有一次面试被面试官狠狠教训),经过一段时间的学习和参加面试后,我感觉计组真的非常重要。像内存、缓存、CPU、IO 等,严格来讲都属于计组的知识范畴。然而后面的内容,比如并发、数据库、网络等,很多知识都会以这些为基础展开。如果有充裕的时间,建议认真地学习计算机组成原理。如果时间不够充裕,至少建议把经常出现的内容整体学习一遍,不然就会像我当时那样,只知道是计算机上的一个东西,却理解得不够深入,到使用的时候就会感到迷茫。

Java基础

学习一门语言需要了解语言特性,这是必须要做到的。建议通过找书或者教程的方式,在打代码的过程中去理解,不要偷懒。像《Java 编程思想》这样的书籍就值得推荐。当理解得比较深入之后,可以结合源码来进一步理解,但不要过于执着,结合已有的博客进行阅读,往往能够事半功倍。

Java虚拟机

面试转行问题有哪些_面试怎么回答转行这个话题_转行面试问题

首先要理解为何会有这个东西,接着思考代码是怎样在 JVM 上得以实现的。我们得把代码转换成 CPU 能够理解的机器码以便执行,因此像 Java 这样使用虚拟机的语言,是由虚拟机对编译出来的中间代码进行解释,或者即时编译成机器码来最终执行。要理解为何有 JVM,以及它是如何实现 Java 的一些特性的。推荐阅读《深入理解Java虚拟机》,一本就够!

并发编程

这里有时会涉及对操作系统的理解,有时又会涉及少许硬件知识。从逻辑上来说,要先去了解问题背后的本质以及问题的起源,并且要从理论和模型的角度去学习 Java 并发。具体的知识点包括并发存在的原因,还有并发 bug 的源头,像锁、管程模型以及线程状态转换等。JUC 包以及线程池等方面,推荐的书籍有《Java 并发编程之美》和《Java 并发编程实战》。

数据库

web后端开发必备,用来存储数据和构造关系映射,不可或缺。
数据库的学习建议是将理论与实战相结合,要多做实验,并且通过背后的原理去思考为什么要这样实现。在面试中,对于一些实现原理会问得很深入。推荐《SQL 必知必会》和《高性能 MySQL》这两本书。在做项目的时候,要手写 SQL 语句,同时要关注数据库表的设计。

计算机网络

网络的部分记忆很多,坑也不少。这里的记忆部分是必然存在的,理清整体逻辑后就可以开始背诵了。另外,在做项目时,建议结合实际场景进行学习,用 wireshark 抓包查看,用 postman 进行接口测试,这样自然就能理解了。任何知识经过实战检验才会更扎实,正所谓纸上得来终觉浅。
具体的知识点包含:五层协议、七层协议,TCP 与 UDP 的差异,TCP 的三次握手和四次挥手,HTTP 的特性,HTTP 与 HTTPS 的区别,HTTP2.0 以及 HTTP3.0 等。推荐书籍《图解 HTTP》和《计算机网络》。

操作系统

Linux 操作系统在我们实际的开发过程中是必不可少的。所以,熟练掌握 Linux 系统的使用以及其底层原理非常重要。我们曾经比较后悔没有提前进行系统学习,后来进行了一番恶补,现在也正在逐步学习的过程中。
Linux 常见操作就不再详细说了。需要强调的是,各种 Linux 命令一定要先弄清楚其英文单词,这样才能理解每条命令的含义,死记硬背是记不住的。对于底层原理,通常包括 Linux 内核资源调度、进程管理、内存管理、网络系统等,能掌握这些已经相当不错了。推荐《鸟哥的 Linux 私房菜》。

框架:

Web框架和ORM框架。
以 Java 为例,Web 框架是 Spring 全家桶。ORM 框架是 MyBatis。从事 Java 后端开发的同学都知晓,Spring 已成为业内公认的后端开发框架。整个 Java 生态也离不开 Spring。Spring大家族的发展历程从最初的 Spring Framework 开始,接着到了 Spring Boot,之后又到了 Spring Cloud,其生态在不断地完善。所以,作为 Java 后端工程师,必须要具备 Spring 相关的技术栈。
在学习过程中,首先建议理解为何会有这些框架。接着可以找一个实战项目开始着手,从而明白 web 后端的开发流程。在细节方面,例如要理解一些 Spring 的概念,像 Spring Bean 的生命周期以及 DI 容器、AOP 等。(顺带吐槽一下,学完 Spring 之后,会察觉到 Golang 和 Python 是多么的简洁。)

中间件:

一些锦上添花的技术,像缓存中的中间件 Redis,消息中间件 RocketMQ、Kafka,网络中间件 Tomcat。它们的用处都很大,尤其是缓存中间件 Redis,在面试中被问到的非常多,建议一定要好好学习。

设计模式

如何对代码进行优化,使代码更加符合 SOILID(单一原则、开闭原则、里氏替换原则、接口隔离原则、依赖倒置原则)。建议通过研究源码来学习。对于 23 种设计模式,不要求全部记住。然而,常见且常用的设计模式,例如单例模式,在基本面试中通常会被问到,所以这些常见的设计模式一定要掌握。

大数据和空间限制

这里通常会与实际相联系,需找出 100 亿个 URL 中重复的 URL 以及搜索词汇的 top K 问题。其特点在于数据量庞大,普通方法和单机通常难以完成。所以在此就需要运用一些高级数据结构、一些分布式高可用的策略以及并行计算等。这部分面试的问题较为灵活,不过数量不算特别多。但是你需要自身具备大量的前置知识,等到前面所学的内容差不多了,在面试之前好好地进行整理总结就可以了。(后续争取更新一篇)

项目经验

通过运用自己学过的知识进行具体的实现,能够体现出实战能力。看着自己的代码从 0 开始运行,最终形成一个实际能看到的成果,这是一件非常激动人心的事情。面试项目的面试是必然的流程。例如每年都很常见的秒杀项目,在这类项目中可以尝试一些有新意的做法。然而,最重要的还是对技术的理解。如果没有项目,就会着重考查你的基础知识。这些基础知识很容易被遗忘,并且其中很多都相当深奥,想想就令人头痛。

实习经历十分重要,要讲的比较多,后面再详细地写一篇

福利

如果你给我的文章点赞,那么我私藏的网安学习资料就会免费共享给你们。现在来看看都有哪些东西吧。网络安全学习资源分享:

最后给大家分享我自己学习时用到的一套完整的网络安全学习资料,希望能对那些想要学习网络安全的小伙伴们起到帮助作用。

零基础入门

对于未曾接触过网络安全的同学,我们为你准备了详尽的学习成长路线图。此路线图可说是最为科学且最为系统的学习路线,大家按照这个大的方向进行学习,肯定不会有问题。

读者可获得福利,CSDN 有大礼包,即《网络安全入门&进阶学习资源包》可免费分享,这是安全链接,放心点击。

1.网络安全学习路线图

学习一门新的技术时,新手首先要学习成长路线图。因为如果方向不正确,那么努力就会白费。

对于未曾接触过网络安全的同学,我们为你准备了详细的学习成长路线图以及学习规划。此路线图可说是最为科学且最为系统的,大家按照这个大的方向进行学习,肯定是没问题的。

2.视频教程

网上存在很多学习资源,然而这些资源基本上都是残缺不全的。我自己录制了网安视频教程,对于上面路线图的每一个知识点,我都有配套的视频进行讲解。

我自己整理了技术文档,其中包含我参与大型网安行动的经验、参加 CTF 的经验以及挖掘 SRC 漏洞的技术要点。我还有 200 多本电子书,【点击领取技术文档】。

(都打包成一块的了,不能一一展开,总共300多集)

3.技术文档和电子书

我自己整理了技术文档,其中包含我参与大型网安行动的经验、参加 CTF 的经验以及挖掘 SRC 漏洞的技术要点。我还有 200 多本电子书,【点击领取书籍】。

4.工具包、面试题和源码

“工欲善其事必先利其器”,我为大家总结出了几十款极为受欢迎的黑客工具。这些工具的涉及范围主要集中在信息收集方面,还有 Android 黑客工具、自动化工具以及网络钓鱼等类别。对此感兴趣的同学可千万不要错过。

我这几年整理了网安方面的面试题。如果你要找网安方面的工作,这些面试题绝对能帮到你大忙。

这些题目在大家面试深信服、奇安信、腾讯或者其他大厂时经常会被遇到。如果大家有好的题目或者好的见解,欢迎进行分享。

深信服的官网,奇安信的官网,Freebuf 以及 csdn 等。

内容特点:条理清晰,含图像化表示更加易懂。

内容概要包含内网、操作系统、协议等方面,还涉及渗透测试、安服等内容,以及漏洞如注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞等,还有工具如 SQLmap、NMAP、BP、MSF 等。

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

温馨提示:本内容地址http://m.ysjob.cc/article/articledetail-285572.html转载请注明,以上本硕高分子材料0基础转行计算机,凭两段大厂实习开启Java自学之路 | 思维逻辑与方向选择至关重要资讯信息来自颍上人才网(颍上地区最大的颍上人才网颍上人才网

 
 ©2003-2018 颍上人才网  
客服电话:  QQ: