[心得] 台大资工短时间上榜心得

楼主: john0312 (Chen John L)   2017-03-16 14:43:02
我敢说这是本版今年最奇葩的心得文
没 有 之 一
准备时间: 4-5天 (欸欸, 先别急着嘘我, 能看完再嘘吗?
前言
====
我知道4-5天的准备大概跟裸考有87%像, 所以为了避免本篇变成
废文, 我将为各位带来以下重点:
i. 平常实力培养: 如何在平时练出能够短时间考上台大的实力
对于准备时间长的人, 甚至可以把我给平时的建议直接
拿来用. 当然, 这边指的实力不只是考试适用.
ii. 考前几天的最后复习: 4-5天大概跟一般考生的最后复习差不多
iii. 如何让台大的CA/OS降落: 台大的计结作业系统一直起飞,
台大是国立台湾大学, 又不是国立台湾大航空公司, 这样
一直飞一直飞我怎么受得了?
成绩
====
英文(A): 88
数学: 60
计算机结构与作业系统(B): 73
资料结构与算法: 84
总分: 225.80 录取最低分数: 149.20
录取名次: 正取一
是的, 我只报了台大资工一间, 因为报名费好贵RRRRRRRR~
背景
====
118资工双主修电子, 辅修机械跟企管. 另外因为某些原因有一张
党校学生证. 所以如果你要说我是党校的学生我也不反对, 不过
我在党校没待多久就是了. 总之我双重学籍, 一个是技职, 一个是
文组, 在八卦版都是弱势.
曾经在118拿过书卷, 不过最近三四年都没拿了. 有延毕, 今年
在118要毕业. 曾经休学过, 还差点搞到退学, 但是我没种...
最近两三年我都在搞电力电子(柔切的Buck, 最近很夯的GaN MOS,
还有各类Inverter), 资工最近碰的少很多.
各科心得
========
以下是各个科目我的心得, 由于我来自技职体系, 所以其中会提
到不少实作的部份. 我个人认为, 如果要让这些理论有意义, 读
的时候有感觉, 这些实作是不可必免的.
另外, 我不太相信笔记这种东西, 抄了读了都没有用. 只有程式
码写过Trace过Debug过, 那些概念才是你的.
(如果是数学科目就当我没说, 继续抄笔记吧)
1. 计算机结构
先说我计结很强, 不知道这样会不会变成台科计结王 (误
(帮中原单操王Q_Q一下)
这个版上流传着台大的计结不要唸, 因为没有人会考高分.
然而我这不就考了高分, 还靠这科拿了榜首吗?
可见这科是可以唸的起来的. 我甚至怀疑, 计结大家普遍都
低分很有可能是因为大家都觉得没C/P所以没唸, 没唸就低分.
首先我要说明一下计算机结构跟计算机组织到底有什么不一样:
- 计算机组织 - Computer Organization
- 计算机结构 - Computer Architecture
前者的课本是知名的白算盘本, 也就是:
Computer Organization and Design: The Hardware/Software
Interface by David A. Patterson, John L. Hennessy
而后者, 作者同样是Hennessy跟Patterson, 但是不同本书:
Computer Architecture: A Quantitative Approach by
Jonh L. Hennessy, David A. Patterson
前者算是基础, 后者是建筑在前者上面. 一般大学部上课是
教前者, 到了研究所, 高等计算机结构这门课才会教后者.
所以, 如果看台大考试科目名称, 是写计算机结构, 因此实际
上考的内容是计算机结构, 不是计算机组织. 只唸计算机组织
当然考不好. 其实这件事情我也是考前四天才发现的, 所以
这本计结其实没有看得很熟.
再来, 要把这两个科目都唸好, 我个人觉得数位逻辑的基础
打好. 因此我会建议多写Verilog, 然后自干一颗CPU, 对于
实际厘清这两个科目里面的一些概念会比较有帮助.
自干CPU如果不知道怎么下手, 可以考虑去下载Xiline ISE
WebPACK (我个人是Xilinx的用户, 不过学界好像Altera比较
常见), 然后用Verilog去叙述计组里面那个MIPS CPU的各个
部份, 最后再跑模拟. 如果真的有$$, 可以去买一片Spartan6
的开发版来玩.
除了自干CPU以外, 还可以自干Compiler(lex+yacc), 还有熟
一下x86组语, 拿他写写程式当练习, 应该对整个电脑的运算
模型会更有清楚, 念起这两本课本时会更有感觉. 如果没有
这些实作的经验, 很有可能真的把CA/CO/OS这三科当成背科
来唸, 那就不好了.
2. 作业系统
如果要对作业系统的实作有一定的熟悉度, 可以阅读并修改
一些教学用的作业系统(例如: NachOS), 甚至是真正的作业
系统. 我是听说台大是拿Linux教, 交大是拿Windows教.
我个人当初在这部份则是看Windows, 不过相较于交大有拿到
原始码, 我是直接请IDA吃ntoskrnl.exe跟ntdll.dll. 另外再
搭配Mark Russinovich的Windows Internal一起服用.
这条路比较硬一点, 所以时间多再来玩.
另外OS也有一部份是应用的实作部份, 反正就写写multi-thread
的程式, 用用mutex这样. 这些平常在写程式的时候应该就会
用到了. 内存管理方面, 一般程式可能比较少用到, 所以
有空可以自己玩玩VirtualAlloc()跟mmap()系列API, 另外也
可以开OllyDbg来看各个Process的Memory Mapping, 应该会
比较有感觉吧.
另外也可以把自己电脑灌成Linux, 毕竟资工系的没用过Linux
就太夸张了.
当然, 恐龙本要唸完是一定的, 毕竟里面有一些理论是实作上
比较少见到的, 而且考试会考, 所以整本唸完是很合理的.
3. 资料结构/算法
这科的课本应该不用说了, Cormen本跟Horowitz.
这科我一样建议要实作才会强. 就是课本里面的每一个资料
结构跟算法都把他写一遍, 要实际自己生测试资料去测他
(当然如果你懒, 也可以去一般ACM题库找用到该算法/资料
结构的基本题来玩到AC为止)
另外, 前一阵子有个要跨考的妹子(NTU Fin)来问我资工所的
考题时, 我发现教不会或他理解得很慢是因为程式语言的基础
缺乏, 尤其是指标的概念, 因此, 我建议, 这科要唸好, C的
指标概念一定要熟. 指标概念不是讲得出指标是什么就是熟,
而是实际写程式时能灵活应用. 如果不确定, 试试LeetCode OJ
206. 如果用C作答, 20分钟内解出拿到AC, 那指标的概念就算
OK了. 另外递回的概念也是不少人缺乏的, 一样, 上面那题
可以试试看用递回解来测试自己. 如果以上那题有问题, 那
建议先加强程式基础再来唸DS/Algo.
玩完实作之后, 考试还有不少理论会考, 所以Cormen本里面的
证明也要看完.
实际最后半天复习算法时, 就是只看课本的Psuedo-code做
一个恢复记忆的动作即可.
最后, 台大每年都会考三题递回的Big O计算, 值15分. 建议
考前花1小时把这种题型练顺, 不要像我一样在考场推了半个
小时, 浪费时间最后考卷还写不完.
4. 线性代数
这科我真的很差, 今年第一题高斯消去找Inverse我竟然没写
完, 考完才被别人告知先拿第三行减第一行就会很简单. (崩溃
所以这科我的准备方式就加减看吧.
我课本是看Gilbert Strang的. 然后看课本之前, 先把3b1b的
线性代数介绍看一遍, 会比较有感觉:
https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab
至于课本, 就是看完一大章节随机挑五题Review来写.
5. 离散
我觉得把DS/Algo看完之后离散也差不多了, 剩下几个议题再
看看即可:
- 数论
- 排列组合/机率
- Binary Relation
- Boolean代数
课本我是看Rosen那本, 不过台大几乎每年都会出个10分左右
不在课本里面的题目, 这点我不知道怎么应付.
心得
====
整个唸下来, 我发现4-5天准备台大资工所的考试时间还是太短,
我一开始其实是规划考前约7~10天左右准备, 不过考前是过年,
过年看书实在太不人道, 过完年, 我爸又抓了全家去花莲玩了
两天, 回来就只剩下4天了, 所以就这样了. 最终以四天的规划,
考古题最多就是看个一两年的, 实际上来说没时间写. 后果就是
没有熟练, 答题速度很慢, 三科考卷都是写不完的状况.
整体来说, 我觉得一天唸一科, 然后再来两天写考古题, 总共
8天, 应该是一个比较适当的准备/复习节奏.
还有, 千万别让任何人告诉你你不行. 之前就有人(j6cl3)在那边
推文说今年台大资工一堆纯种本科系的来考, 要大家小心, 还说
本科系的考试很难输, 如今看看谁没穿裤子? 强弱不是你的科系
学校决定, 而是你自己决定. 共勉之.
最后谢谢某交大应数正妹借我991计算机, 还有帮我送钟... 阿,
不是, 我是说借我时钟让没有手表的在考场上能看时间.

Links booklink

Contact Us: admin [ a t ] ucptt.com