复试规划
### 第一周:基石搭建与项目唤醒(2月24日 — 3月2日)
核心目标:C语言搞定基础语法到函数;毕设代码跑通并画出图纸。
#### 📌 1. C语言详细路线(每天 2-3 小时)
* Day 1-2:数据类型、运算符与控制流(最易考读程序写结果题)
* 学习内容int/char/float/double 的字节数++ii++的区别&&||的短路求值(重点)switch-casebreak陷阱forwhile循环。
* 纸上练习:手写 九九乘法表、水仙花数、判断闰年、打印菱形图案。
* Day 3-4:一维数组、二维数组与字符数组
* 学习内容:数组越界的概念;二维数组在内存中的连续存储;字符串的结束符 \0(选择题必考)。
* 纸上练习:手写 数组元素的逆置、求数组最大/小值、冒泡排序基础版。
* Day 5-7:函数与变量作用域(过渡期)
* 学习内容:函数的形参和实参(值传递);全局变量、局部变量的区别;*static 静态变量的生命周期(重邮笔试极爱考 static 变量在循环中的值变化)**。
* 纸上练习:手写 递归函数(如求阶乘、斐波那契数列)。
#### 📌 2. 毕设与项目路线(每天 1.5 小时)
* Day 1-3:环境恢复。打开微信开发者工具和后端IDEA/VSCode,不管用什么办法,把毕设**跑起来**。能在手机或模拟器上完整点通“登录 -> 选科目 -> 答题 -> 交卷”的流程。
* Day 4-7:画图与建表。
* 下载导出你的数据库表结构(核心关注:用户表、题目表、错题/成绩表)。
用 ProcessOn 画出*系统功能模块图**(前端有哪些页面,后端有哪些接口)。
#### 📌 3. 专业课与英语(每天 1.5 小时)
* 专业课(数据结构):复习 线性表、栈、队列的基础概念(时间复杂度)。
* 英语:写出并定稿你的**3分钟英文自我介绍**(包含基本信息、本科毕设介绍、为什么报考重邮),找翻译软件或老师润色语法,开始每天大声朗读。
---
### 第二周:跨越生死线与项目深挖(3月3日 — 3月9日)
核心目标:C语言死磕指针与内存;毕设拔高,准备“被面试官刁难”的防御话术。
#### 📌 1. C语言详细路线(每天 2-3 小时)
* Day 8-10:指针基础(极其重要,笔试分水岭)
* 学习内容:指针变量的定义与解引用*p&a);指针的加减运算p+1到底加了几个字节);**地址传递**(为什么交换两个变量的函数必须用指针传参)。
* 纸上练习:手写 经典的 swap(int a, int b) 函数。
* Day 11-12:指针与数组的渊源
* 学习内容:数组名就是首地址;用指针遍历一维数组*(p+i)等价a[i]);字符指针与字符串数组的区别char *str = "hello" vs char str[] = "hello")。
* 纸上练习:手写 纯指针版的字符串长度计算 strlen()、字符串拷贝 strcpy()。
* Day 13-14:结构体(Struct)与动态内存分配
* 学习内容:结构体的定义typedef 的使用;**结构体内存对齐规则(笔试必考计算结构体大小)**malloccallocfree的用法与内存泄漏概念。
* 纸上练习:定义一个包含学号、姓名、成绩的学生结构体,并用 malloc 为其动态分配内存。
#### 📌 2. 毕设与项目路线(每天 1.5 小时)
* Day 8-10:数据库防守。导师必问:“你的题库如果数据量大了,查询很慢怎么办?”
* 你的准备:复习MySQL的**索引(Index)**概念。准备话术:“我会给题库表题目类型ID学科ID加上B+树索引,加快检索速度。”
* Day 11-14:并发与安全防守。导师必问:“刷题时如果不小心断网了,或者有人恶意刷接口怎么办?”
* 你的准备:了解 Token(如JWT)鉴权机制。准备话术:“我的系统使用了Token进行状态保持,而不是Session,并在提交答案的接口做了防抖处理和频率限制。”
#### 📌 3. 专业课与英语(每天 1.5 小时)
* 专业课(数据库概念):背诵 数据库事务的四大特性(ACID)、三大范式、左连接和右连接的区别。
* 英语:自我介绍必须做到**脱稿流利背诵**。开始收集复试常见英文问答(如:What is your greatest weakness?)并写下关键词。
---
### 第三周:链表大轴戏与面试模拟(3月10日 — 3月16日)
核心目标:搞定笔试最后一道大题(链表);简历制作完毕,开启自我对答。
#### 📌 1. C语言详细路线(每天 2-3 小时)
* Day 15-17:单链表的构建与插入(必须在白纸上写,且能默写)
* 学习内容:结点结构体的定义(包含数据域、指针域);头结点的作用。
* 纸上练习:徒手写出 头插法建表、**尾插法建表**、链表的遍历打印。注意 p->next 的指针走向!
* Day 18-19:单链表的删除与查找
* 纸上练习:徒手写 按值查找结点、删除指定结点。**(注意边界条件:如果链表为空怎么办?如果要删的是最后一个结点怎么办?)**
* Day 20-21:链表的终极考察(高频考点)
* 纸上练习:**单链表的就地逆置/反转(几乎每年必考)**、合并两个有序链表。把这几段代码背得滚瓜烂熟。
#### 📌 2. 毕设与项目路线(每天 1.5 小时)
* 写简历:按照STAR法则写简历。只写一页A4纸。
* 反面教材:“开发了微信小程序,用Java写了后端,能刷题。”
* 正确示范:“独立设计微信刷题小程序,包含用户模块、题库渲染、成绩统计等功能。设计了包含X张表的MySQL数据库,并采用XXX优化了查询逻辑。解决了小程序端与后端数据交互过程中的跨域/异步加载问题。”
* 挖坑与填坑:准备好三个关于毕设的故事——“最难调的Bug是什么”、“你是怎么学习新技术的”、“项目最大的遗憾是什么(借机引出你对高并发或算法优化的理解)”。
#### 📌 3. 专业课与英语(每天 1.5 小时)
* 专业课(计算机网络):背诵 OSI七层模型、TCP三次握手与四次挥手、HTTP与HTTPS的区别、输入URL到页面显示的完整过程。
* 英语:每天和自己进行英文Q&A对话练习,注意发音和眼神交流。
---
### 第四周:真题卷面与终极冲刺(3月17日 — 3月25日)
核心目标:适应卷面考试;杜绝面试时的结巴与大脑空白。
#### 📌 1. C语言详细路线(每天 3 小时)
* Day 22-24:经典手写算法收尾
* 纸上练习:冒泡排序、选择排序、直接插入排序、**二分查找法(极大概率考手写)**。
* Day 25-30:掐表做真题(完全脱离电脑)
* 找重邮历年C语言复试笔试题(或者南邮、杭电等相似学校的C语言考研题)。
* 打印出来,每天上午给自己限定 1.5 小时,闭卷做题。
做完后,对照答案重点检查:*分号有没有漏写?大括号缩进有没有对齐?空指针判断写没写?**
#### 📌 2. 综合面试模拟路线(每天 2 小时)
* 找人模拟面试(至关重要):让同学或研友拿着你的简历,扮演严厉的导师。
* 提问示例:“你简历上写熟悉数据库,那你这个刷题小程序的数据库主键是怎么生成的?”
* 提问示例:“C语言中,数组和链表在内存中有什么本质区别?”
* 提问示例:“你的初试某某专业课分数不高,你觉得是什么原因?”
* 录音复盘:回答问题时,听听自己是不是有很多“呃、啊、就是说”。改掉口癖,用“第一、第二、第三”来组织语言。
#### 📌 3. 专业课与英语(每天 1 小时)
* 专业课(操作系统):背诵 进程与线程的区别、进程调度的几种算法、死锁的必要条件。
* 保持语感,复习错题本。
---
### 💡 给你的几个硬核提醒:
1. 白纸写代码的最高奥义:伪代码保命。
笔试时,如果最后一道链表或排序题你忘了具体的C语言语法,**千万别空着!** 用中文结合一点代码把思路写下来(例如// 第一步,定义两个指针p和q; // 第二步,使用while循环遍历链表直到p->next为空...)。考官看重的是你的逻辑思路,思路对了一样能拿大半的分数!
2. 面试被问住时的标准话术:
导师问了你一个没考虑过的毕设问题(比如怎么做负载均衡),千万别硬编,也别只说“我不会”。
要这么回答:“老师,我本科阶段因为条件限制,没有考虑到如此庞大的并发量,所以我暂时没有做负载均衡的设计。但我了解过相关概念,大概是通过Nginx进行请求转发。如果有机会进入研究生阶段,这也是我希望能深入学习的方向。” (既展示了诚实,又展示了求知欲和一点基础见识)。
这份计划把每天要做什么、写什么代码都明确了。**从今天开始,打开王道C语言视频看基础语法,并在手机上把你的微信小程序跑通,这就是你今天(2月24日)的唯一任务。** 去干吧!