当前位置: 首页 > news >正文

计算机专业大学四年应该如何规划(Java方向)

计算机专业的学生,如何在大学四年内提高自己的竞争力,毕业之后直接进大厂工作?

以下将从大学四年计算机专业的学习规划、课程设置、能力提升、参考书籍等方面,为同学们提供一些建议和指导。

大一:

主攻技能学习并且达到能够独立开发前后端完整项目, 独立解决业务需求, 养成良好的编程思维和编程习惯,预计12个月,为之后进入实验室开发助理打好基础。

1. 必备技能学习和掌握程度

1. 熟练深入掌握spring,springmvc,Spring Security ,springboot,mybatis等常用框架

熟练使用各种常用的架构,如Vue、Netty、 Mybits、 Mybatis-Plus等,并且能理解其原理的前提下快速使用开发。

2. 熟练深入掌握RabbitMQ消息中间件以及消息机制和缓存redis。

3. 熟练深入掌握Spring Boot的特点并且熟练应用快速搭建 、自动配置 、Stater 、应用日志 、应用安全 、应用监控。

4. 熟练掌握SpringCloud各个组件以及工作原理,会基本的构建。

5. 熟练深入掌握设计服务,设计数据模型,设计适合需求的合理架构,服务调优。例如,前端需要当前比较流行的特效,自己提炼前端组件。有独立调优项目能力。

6. 熟练掌握数据库MySql、 Oracle,并且多在项目当中使用。

7. 熟练掌握Linux基本指令,Docker容器基本用法。

8. 熟练掌握javaSE,JavaWeb,前端基础,MySQL,JDBC。

推荐书籍:

《Java核心技术》
《图解数据结构-使用Java》
《Java8函数式编程》
《Java多线程编程技术》
《Java程序员的修炼之道》
《Head First 设计模式》
《TCPIP详解卷3》
《Java多线程编程技术》
《Java核心技术(Core Java)》
《Head First 设计模式》
《java并发编程实战》
《JAVA解惑](美)布洛赫》
《重构_改善既有代码的设计》
《微服务架构与实践(王磊著)完整版》

2. 课外技能扩展学习内容

除了JavaSE编程技能之外,还有以下几个方面可以扩展学习:
1.深入学习JVM:了解JVM底层原理以及优化技巧,这可以帮助您更加高效地运行Java程序,并且有效避免性能问题。

2.学习多线程编程:理解并发编程的本质,并掌握并发编程的技术和相关工具。这将有助于您构建可伸缩性更好、响应更快的应用程序。

3.学习框架:对于一个Java开发者来说,熟练掌握一到多个流行的框架是非常必要的。不论是Flink、Storm还是Open-IM等,都可以帮助您更快地开发出复杂的业务系统。此外,了解其他领域如Web、大数据等其他相关框架也会让自己更有竞争力。

4.面向对象设计模式:学习面向对象设计模式,掌握设计模式并能够合理运用到实际开发中,可以极大地提高代码质量和可维护性。

5.JDK源码:阅读JDK源码不仅可以帮助您更好地理解Java底层运行机制,还可以学习到Java最佳实践。这将有助于您在日常开发中避免一些常见的错误。

6.推荐学习Hbase列组数据库。掌握基本概念,区分和和正常数据库的存储区别,存数据取数据等操作。

大二:

结合计院学习内容,补充增强计算机底层理论、算法、数据结构、设计模式、操作系统、计算机网络等理论深入,结合业务级开发实践相互印证交替提升开发能力与架构思维,参加蓝桥杯WEB组竞赛,准备参加大创赛事/挑战杯与大英比赛,参与校内实验室提前做学术铺垫 获取更多保研加成。

1. 算法和数据结构:要掌握各种算法的时间和空间复杂度分析,熟练使用各种算法解题,同时学习对应的数据结构的实现原理。重点是树、图、排序、查找、字符串匹配等经典算法。掌握各类算法的时间和空间复杂度分析,熟练掌握递归、动态规划、贪心、分治等算法设计方法。在LeetCode或牛客网上练习算法题,参加算法竞赛,在竞赛中检验算法的应用能力。通过大量算法练习,提高编程能力和逻辑思维能力。并在后续项目中运用所学算法,提高开发效率。

2. 操作系统:学习操作系统内核、进程/线程、死锁、内存管理、文件系统、IO等知识,掌握操作系统的基本结构和工作机制。可以做一些模拟操作系统调度的项目。

3. 计算机网络:全面学习计算机网络体系结构、TCP/IP协议、Socket编程、HTTP协议等知识。结合项目实现一个简单的客户端/服务器通信程序。深入了解HTTP HTTP2 HTTPS TSL WS 协议应用于加密封装,对 持久化 服务发现 负载 防注入 微服务等进行了解

4. 设计模式:学习各种设计模式的分类和适用场景,掌握单例模式、工厂模式、适配器模式等,学会在项目中应用设计模式。

5. 技术深入:学习汇编语言,理解计算机系统底层工作原理。选择一个方向进行源码级实践,如数据库、Web服务器等。

7. 学习并实践沟通、组织、协调、管理、规划、演讲等社会性专业技能,提升综合软实力,提升安全意识和团队协作意识,并找机会主导事务来进行实践 开始准备互联网+创新创业大赛

8. 积极与校内研究室导师教授联系, 争取试验助理身份进入实验室参与课题研究, 为之后保研提前进行学术积累 开始准备论文。

9. 提升专业知识笔面成绩,同时追绩点尽量进入专业前25%,提前准备参加大英赛

大三:

大三准备申请社会实习机会, 进入企业并且进一步提升对口专业相关能力, 锻炼面试能力 通过暑期实习进入大厂。

1. 408准备:这是考研的重要环节,要提前做好准备,熟悉考试大纲和题型,然后进行针对性训练。多做模拟题,查缺补漏。

2. 实习经历:向一线互联网公司申请暑期实习,争取进入核心岗位。实习期间全力以赴,完成实习项目和任务,积累工作经验。

3. 开源项目:选择一个有价值的开源项目进行贡献,或者自己初始化一个项目。这可以丰富简历,展示自己的编程和团队合作能力。

4. 社会实践:可以参与学校社团的活动,组织或参加一些有意义的志愿活动。这会增强社交能力、沟通能力和解决问题的能力。

8. 开始联络第一梯队新加坡大学相关专业(元宇宙 web3 XR 区块链 高性能计算)等专业教授,进行提前沟通联络

9. 学习准备自我介绍 个人规划和核心优势 如何引导面试话题 如何介绍项目 如何从项目讨论体现自身技术深度和横向技术栈认知 对学员进行面试前的针对性模拟面试 面试后的面试复盘总结 优化话术 优化表达能力和表达逻辑

大四:

秋招面试就业准备

简历规划:个人信息亮点设计,专业技能递进描述,项目经验描述优化,简历全面优化

简历投递策略: 学习招聘平台规则 投递方式 打招呼方式

面试准备:

学习准备自我介绍 个人规划和核心优势 如何引导面试话题 如何介绍项目 如何从项目讨论体现自身技术深度和横向技术栈认知

面试复盘:

对学员进行面试前的针对性模拟面试 面试后的面试复盘总结 优化话术 优化表达能力和表达逻辑

offer选择:

根据学员实际情况和意愿, 辅助学员选择最合适的offer, 并且根据offer情况进行工作指导建议

帮助学员尽可能的在实习期多利用公司资源进行提升, 传授相应的经验和技巧

职业生涯长期规划

1.具备整体工程设计、架构、部署、调优、协调的能力,能够清晰划分项目需求与实际需求,在保证安全可扩 展的前提下进行项目设计实现。

2. 对WEB技术全栈进行扩展学习: DB、运维、设计、产品、服务、分布式、 并发系统、微服务、SSR、 DevOps等,渐进式提升全链条技术视野和技术能力。

3. 在业务级多尝试了解不同层级不同领域的业务范例和业务环境,支付业务、订单业务、审核业务、IM通信业 务、视讯业务、金融汇付业务、鉴权业务、内容审核管理业务、统计分析业务、AO业务流程等,尽可能提升 业务认知广度与深度。

4. 熟练掌握各种开发范式,能够针对业务逻辑数据搭建合适的模型,构建数据结构,业务逻辑抽象。遵守编程 设计原则进行代码实施,熟练运用各种设计模式与编程原则书写高质量可复用的编码单元。

5. 学习并实践沟通、组织、协调、管理、规划、演讲等社会性专业技能,提升综合软实力,提升安全意识和团 队协作意识,并找机会主导事务来进行实践。

8. 对工程流程:代码管理 > 开发调试 > 代码编译 > 项目构建 > 模块管理 > 配置部署 > 测试支撑 > 性能检测 > 性能分析 > 安全扫描 > 规范约束 > 统计分析> 运营支撑 的每个环节都要重新审视,从全局的角度洞悉节点。

9. 探索大数据 人工智能 方向的理论与基础实践, 善于利用AI与大数据工具提升认知,规划智能外脑存在下的认知体系和学习方式。

相关文章:

计算机专业大学四年应该如何规划(Java方向)

计算机专业的学生,如何在大学四年内提高自己的竞争力,毕业之后直接进大厂工作? 以下将从大学四年计算机专业的学习规划、课程设置、能力提升、参考书籍等方面,为同学们提供一些建议和指导。 大一: 主攻技能学习并且达…...

算法D27|回溯算法4| 93.复原IP地址 78.子集 90.子集II

93.复原IP地址 本期本来是很有难度的,不过 大家做完 分割回文串 之后,本题就容易很多了 题目链接/文章讲解:代码随想录 视频讲解:回溯算法如何分割字符串并判断是合法IP?| LeetCode:93.复原IP地址_哔哩哔…...

C++实现XOR加解器

#include <Windows.h> #include <iostream> #include <fstream> #include <string>// 加解密函数&#xff0c;使用XOR运算 void XORCrypt(char* data, int size, const std::string& key) {int keyLength key.length();for (int i 0; i < siz…...

Kubernetes的Sevice管理

服务原理: 所有服务都是根据这个服务衍生或者变化出来,根服务---- 服务感知后端靠标签 slelector 标签选择器 kubectl label pods web1 appweb kubectl cluter-info dump | grep -i service-cluster-ip-range 服务ip取值范围 Service 管理: 创建服务: --- kind: Serv…...

C# 高阶语法 —— Winfrom链接SQL数据库的存储过程

存储过程在应用程序端的使用的优点 1 如果sql语句直接写在客户端&#xff0c;以一个字符串的形式体现的&#xff0c;提示不友好&#xff0c;会导致效率降低 2 sql语句写在客户端&#xff0c;可以利用sql注入进行攻击&#xff0c;为了安全性&#xff0c;可以把sql封装在…...

vue3+vite+ts配置多个代理并解决报404问题

之前配置接口代理总是报404,明明接口地址是对的但还是报是因数写法不对;用了vue2中的写法 pathRewrite改为rewrite 根路径下创建env文件根据自己需要名命 .env.development文件内容 # just a flag ENVdevelopment# static前缀 VITE_APP_PUBLIC_PREFIX"" # 基础模块…...

开创未来:探索OpenAI首个AI视频模型Sora的前沿技术与影响

Sora - 探索AI视频模型的无限可能 随着人工智能技术的飞速发展&#xff0c;AI视频模型已成为科技领域的新热点。而在这个浪潮中&#xff0c;OpenAI推出的首个AI视频模型Sora&#xff0c;以其卓越的性能和前瞻性的技术&#xff0c;引领着AI视频领域的创新发展。让我们将一起探讨…...

Redis---持久化

Redis是内存数据库&#xff0c;是把数据存储在内存中的&#xff0c;但是内存中的数据不是持久的&#xff0c;如果想要做到持久&#xff0c;那么就需要让redis将数据存储到硬盘上。 Redis持久化有两种策略&#xff1a; RDB > Redis DataBase RDB机制采取的是定期备份AOF …...

从 Flask 切到 FastAPI 后,起飞了!

我这几天上手体验 FastAPI&#xff0c;感受到这个框架易用和方便。之前也使用过 Python 中的 Django 和 Flask 作为项目的框架。Django 说实话上手也方便&#xff0c;但是学习起来有点重量级框架的感觉&#xff0c;FastAPI 带给我的直观体验还是很轻便的&#xff0c;本文就会着…...

状态码转文字!!!(表格数字转文字)

1、应用场景&#xff1a;在我们的数据库表中经常会有status这个字段&#xff0c;这个字段经常表示此类商品的状态&#xff0c;例如&#xff1a;0->删除&#xff0c;1->上架&#xff0c;0->下架&#xff0c;等等。 2、我们返回给前端数据时&#xff0c;如果在页面显示0…...

Pytorch 复习总结 4

Pytorch 复习总结&#xff0c;仅供笔者使用&#xff0c;参考教材&#xff1a; 《动手学深度学习》Stanford University: Practical Machine Learning 本文主要内容为&#xff1a;Pytorch 深度学习计算。 本文先介绍了深度学习中自定义层和块的方法&#xff0c;然后介绍了一些…...

YOLOv9中加入SCConv模块!

专栏介绍&#xff1a;YOLOv9改进系列 | 包含深度学习最新创新&#xff0c;主力高效涨点&#xff01;&#xff01;&#xff01; 一、本文介绍 本文将一步步演示如何在YOLOv9中添加 / 替换新模块&#xff0c;寻找模型上的创新&#xff01; 适用检测目标&#xff1a; YOLOv9模块…...

代码随想录算法训练营第四十七天丨198. 打家劫舍、​ 213. 打家劫舍 II​、337. 打家劫舍 III

198. 打家劫舍 自己的思路&#xff1a; 初始化两个dp数组&#xff0c;dp[i][0]表示不偷第i户&#xff0c;在0-i户可以偷到的最大金额&#xff0c;dp[i][1]表示偷i户在0-i户可以偷到的最大金额。 class Solution:def rob(self, nums: List[int]) -> int:n len(nums)dp […...

龙蜥Anolis 8.4 anck 安装mysql5.7

el8没有用mysql5.7了&#xff0c;镜像里是mysql8。 禁用 sudo dnf remove mysql sudo dnf module reset mysql sudo dnf module disable mysql 修改Yum源 sudo vi /etc/yum.repos.d/mysql-community.repo [mysql57-community] nameMySQL 5.7 Community Server baseurlhttp:…...

【踩坑】修复xrdp无法关闭Authentication Required验证窗口

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 问题如下&#xff0c;时不时出现&#xff0c;有时还怎么都关不掉&#xff0c;很烦&#xff1a; 解决方法一&#xff1a;命令行输入 dbus-send --typemethod_call --destorg.gnome.Shell /org/gnome/Shell org.gn…...

python学习笔记 - 标准库常量

Python 中有一些内置的常量&#xff0c;它们是一些特殊的值&#xff0c;通常不会改变。以下是其中一些常见的内置常量及其详细解释以及使用示例&#xff1a; True&#xff1a; 表示布尔值真。给 True 赋值是非法的并会引发 SyntaxError。 x True print(x) # 输出&#xff1a…...

视频和音频使用ffmpeg进行合并和分离(MP4)

1.下载ffmpeg 官网地址&#xff1a;https://ffmpeg.org/download.html 2.配置环境变量 此电脑右键点击 属性 - 高级系统配置 -高级 -环境变量 - 系统变量 path 新增 文件的bin路径 3.验证配置成功 ffmpeg -version 返回版本信息说明配置成功4.执行合并 ffmpeg -i 武家坡20…...

02| JVM堆中垃圾回收的大致过程

如果一直在创建对象&#xff0c;堆中年轻代中Eden区会逐渐放满&#xff0c;如果Eden放满&#xff0c;会触发minor GC回收&#xff0c;创建对象的时GC Roots&#xff0c;如果存在于里面的对象&#xff0c;则被视为非垃圾对象&#xff0c;不会被此次gc回收&#xff0c;就会被移入…...

R语言数据可视化之美专业图表绘制指南(增强版):第1章 R语言编程与绘图基础

第1章 R语言编程与绘图基础 目录 第1章 R语言编程与绘图基础前言1.1 学术图表的基本概念1.1.1 学术图表的基本作用1.1.2基本类别1.1.3 学术图表的绘制原则 1.2 你为什么要选择R1.3 安装 前言 这是我第一次在博客里展示学习中国作者的教材的笔记。我选择这本书的依据是作者同时…...

网站添加pwa操作和配置manifest.json后,没有效果排查问题

pwa技术官网&#xff1a;https://web.dev/learn/pwa 应用清单manifest.json文件字段说明&#xff1a;https://web.dev/articles/add-manifest?hlzh-cn Web App Manifest&#xff1a;Web App Manifest | MDN 当网站添加了manifest.json文件后&#xff0c;也引入到html中了&a…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块&#xff0c;用于对本地知识库系统中的知识库进行增删改查&#xff08;CRUD&#xff09;操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 &#x1f4d8; 一、整体功能概述 该模块…...

Bean 作用域有哪些?如何答出技术深度?

导语&#xff1a; Spring 面试绕不开 Bean 的作用域问题&#xff0c;这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开&#xff0c;结合典型面试题及实战场景&#xff0c;帮你厘清重点&#xff0c;打破模板式回答&#xff0c…...

【SpringBoot自动化部署】

SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一&#xff0c;能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时&#xff0c;需要添加Git仓库地址和凭证&#xff0c;设置构建触发器&#xff08;如GitHub…...

Linux中《基础IO》详细介绍

目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改&#xff0c;实现简单cat命令 输出信息到显示器&#xff0c;你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...