大三下学期学习规划
补全编译原理、软件测试与体系结构,全力冲刺暑期实习,为秋招锁定入场券
本学期主题
补全编译原理、软件测试与体系结构,全力冲刺暑期实习,为秋招锁定入场券
🧭总览
大三下是就业与升学路径正式分岔、并且最能拉开差距的学期。核心任务:一,学完编译原理、软件测试、软件体系结构等专业核心课,补齐软件工程知识体系的最后拼图;二,选修人工智能/机器学习导论,为想走算法方向的同学打开大门;三,全力寻找并拿下暑期实习——这是秋招前最重要的一次「带薪面试训练」,也是很多大厂转正的入口;四,同步确定毕业去向(就业/保研/考研/出国)。时间分配:专业课30%、实习与求职40%、项目与刷题20%、其他10%。目标水平:有一份实习offer(至少一段实习经历)、专业课不挂科、简历上有2到3个能深入讲的项目。常见错误:不重视实习、错过最佳投递时间;编译原理觉得难而放弃;求职时简历堆砌没有重点。
📘课程安排与学习重点
共 6 门。每门课的完整学习引导(教材、网课、实践、面试考法)可在课程库中查看。
编译原理讲解高级语言如何被翻译成机器可执行代码,涵盖词法分析、语法分析、语义分析、中间代码生成与优化、目标代码生成。它是计算机理论的高峰,也是理解语言本质、写好DSL、做静态分析、以及应对大厂「为什么代码能跑」类深挖问题的基础。
- 词法分析与有限自动机(NFA/DFA)
- 上下文无关文法与语法分析(LL/LR)
- 语法制导翻译与语义分析
- 中间代码生成与基本优化
- 符号表与作用域管理
教材用《编译原理》(龙书)或陈火旺《程序设计语言编译原理》。重点:词法分析(正则与有限自动机)、语法分析(递归下降、LL、LR)、语法制导翻译、语义分析、中间代码与简单优化。尽量动手实现一个简易编译器(如把算术表达式或迷你语言编译成中间代码)。目标:掌握词法与语法分析的核心算法,能解释编译各阶段职责。
软件测试研究如何系统性地发现缺陷、保证质量,涵盖黑盒测试(等价类、边界值、因果图)、白盒测试(语句/分支/路径覆盖)、单元测试、集成测试、系统测试、自动化测试与性能测试。它是软件工程中就业方向明确的岗位,也是开发岗面试中的常考点。
- 黑盒测试用例设计(等价类、边界值、判定表)
- 白盒测试覆盖率(语句、分支、路径)
- 单元测试框架(JUnit/Pytest)
- 集成测试与系统测试流程
- 自动化与性能测试基础
教材用《软件测试》(朱少民)或《软件测试的艺术》。重点:各种测试方法设计用例、测试覆盖率、单元测试框架(JUnit/Pytest)、自动化测试(Selenium)、性能测试(JMeter)。务必动手:给本学期的项目写单元测试与测试用例。目标80分以上,能用JUnit/Pytest为一个模块写出覆盖率较高的测试。
软件体系结构研究大型软件系统的整体结构设计:分层、微服务、事件驱动、SOA等架构风格,以及如何根据质量属性(性能、可用性、可扩展性、安全性)做架构决策。它是你从「写模块」跃升到「设计系统」的关键一课,也是进阶工程师与架构师的分水岭。
- 常见架构风格(分层/MVC/微服务/事件驱动)
- 架构质量属性(性能、可用性、可扩展性)
- 模块化设计与解耦
- 架构决策与权衡
教材用《软件体系结构:实践者的研究方法》或《架构整洁之道》。重点:架构风格(分层、MVC、微服务、事件驱动)、质量属性与架构权衡、模块化与解耦、常见的架构设计模式。建议结合你做的项目分析其架构优劣,尝试用微服务思想重构部分模块。目标80分以上,能画架构图并解释设计取舍。
这门课带你进入AI世界:机器学习基本概念、监督与无监督学习、线性回归、逻辑回归、决策树、聚类、神经网络与深度学习入门。它是算法方向的核心敲门砖,也是理解当下技术浪潮的必备知识。即使不做算法岗,懂AI也会大幅增加你的竞争力。
- 机器学习基本范式(监督/无监督)
- 线性回归、逻辑回归与梯度下降
- 决策树、集成学习(随机森林)
- K-means聚类与PCA降维
- 模型评估(交叉验证、过拟合、正则化)与神经网络基础
教材用《机器学习》(西瓜书,周志华)或《统计学习方法》(李航),网课推荐吴恩达机器学习(Coursera/B站)。重点:监督学习(线性/逻辑回归、决策树、SVM)、无监督学习(K-means、PCA)、模型评估(交叉验证、过拟合与正则化)、神经网络基础。务必用Python+scikit-learn动手实现模型。目标:能用sklearn完成一个完整的分类/回归任务并评估效果。
生产实习/企业实习
实践4学分/8周实习是把课堂知识转化为职场能力的唯一途径,也是秋招最有力的筹码。一段大厂或优质公司的实习,往往能让你在校招中占据巨大优势,甚至是转正的直达通道。它的价值远超任何一门课。
- 简历撰写与STAR法则表达
- 笔试常见算法题
- 面试八股(语言/网络/OS/数据库)
- 职场协作与沟通
时间线:大三上期末(12月-1月)就要开始投递暑期实习,很多大厂提前批在2到3月开启。准备:一份打磨过的简历、刷题(笔试用)、项目复盘、常见八股(语言/网络/操作系统/数据库)。渠道:牛客网实习专场、公司官网、Boss直聘、学长学姐内推。目标是拿到一段至少2到3个月的实习,并有具体产出(能写进简历的功能或优化)。即使没进大厂,一段中小公司实习也远好过零实习。
各校在大三下会开设方向选修,如云计算与虚拟化、大数据技术(Hadoop/Spark)、Android/iOS开发、网络安全等。选择与你就业方向一致的课程,能让你的技能树更聚焦。
- 所选方向的核心技术栈
- 至少一个该方向的完整实践项目
跟着就业方向选:走后端/云原生选云计算与容器(Docker/K8s);走数据选大数据;走客户端选移动开发;走安全选网络安全。认真完成课程项目,让它成为你作品集的一部分。目标:产出一个小型的、能展示的方向项目。
💪本学期必须练出的技能
实习求职能力
目标:拿到至少一段暑期/日常实习offer
打磨简历、刷笔试题、准备八股、通过牛客/Boss投递并复盘每次面试
机器学习实践
目标:能用Python+sklearn独立完成一个完整的ML任务
在Kaggle做Titanic或House Prices入门赛,走完数据处理到模型评估全流程
编译原理动手能力
目标:能实现一个简易的词法/语法分析器
跟着课程或网课实现一个迷你语言的编译器前端
面试表达与复盘
目标:能把项目用STAR法则讲清楚并回答追问
每次面试后写复盘,记录被问倒的问题并补上短板
🛠️项目实战(写进简历的素材)
毕业设计预研项目/方向深化项目
时间:第3周到第18周
围绕未来毕设或就业方向做一个有技术含量的项目,例如:基于Spring Cloud的微服务系统、基于Spark的数据分析平台、基于PyTorch的图像分类应用或一个带自动化的测试框架。要求:有清晰的技术选型理由、完整的文档、可演示的效果,并能讲清楚遇到的难点与解决方案。验收标准:项目能跑通并演示,有架构或实验报告,托管到GitHub并写清README。它将直接成为你毕设的铺垫与秋招简历的核心。
为已有项目补全测试与CI
时间:第6周到第12周
选择你之前的一个项目,为它补齐单元测试(JUnit/Pytest)和集成测试,配置GitHub Actions或Gitee Go做持续集成(自动构建+跑测试),并补充README与API文档。验收标准:测试覆盖率报表可展示、CI能自动运行、有缺陷修复记录。这一步能让你的项目从「学生作业」提升到「工程实践」的层次,面试时非常加分。
⏱️时间分配建议
每周课外投入32到40小时,是就业冲刺学期。专业核心课(编译原理、软件测试、体系结构、AI导论)占约30%,保证不挂科并掌握核心考点。求职与实习占约35%:从开学第一周就把投递简历作为固定任务(每周投递+跟进),刷题与八股准备穿插进行,接到面试后优先准备。项目与刷题占约25%,主要用于补全测试/CI与深化方向项目。第6周后若已入职实习,则把重心转向实习产出与转正机会,同时保证课程与实践学分。每周日晚复盘:投递了多少家、面试进度、课程是否掉队。
💎本学期推荐资源
📖 书单
AI方向必读中文经典
编译原理权威
测试思想经典
面试算法题必备
🎬 视频课程
🌐 网站与文档
🐙 GitHub 仓库
✅学期末检查清单
- 拿到至少一段暑期或日常实习offer
- 编译原理掌握词法与语法分析核心算法
- 能用Python+sklearn独立完成一个ML任务
- 为项目补全单元测试并配置CI流水线
- 明确毕业去向(就业/保研/考研/出国)并制定计划
- 累积面经复盘,形成个人的面试知识清单
- {'坑': '不重视实习,认为大四再找也来得及', '破解': '暑期实习是大厂转正与秋招的入场券,务必在大三上期末就开始投递,错过时间窗口代价极大'}
- {'坑': '编译器难度高就彻底放弃', '破解': '至少掌握词法分析(NFA/DFA)与语法分析基本方法,能读懂并实现简易前端即可,不必追求全部精通'}
- {'坑': '简历堆砌但不突出亮点,面试讲不清项目', '破解': '每个项目用STAR法则准备1到2分钟的讲解,并预判会被追问的技术点'}
- {'坑': '求职只看大厂,一次失败就心态崩', '破解': '把面试当训练,广撒网并复盘,中小公司实习同样是宝贵经历'}