最近疑惑以后该从事哪方面。网络安全工程师,程序员等等。。。。 然后,大一打算都学一点,学学语言,刷刷题,看看基础课程,但现在发现时间分配的好像有问题,刷ctf的题,一些基础原理找不到,讲的也有点模糊,(对新人不太友好,emm)导致时间花了很多收货好像不多,问号脸.jpg。有点想知道各位大佬以前是怎么做的, ̄□ ̄||。
迷茫ing
- 已编辑
抛点砖屑:
我自己的经验是,像ctf这种非常非常吃经验的,基本上不用想着系统学,都是遇到了不懂的,就去研究,然后把涉及到的东西稍微拓展一点地去学,然后继续循环hhhhhhh
就好像最近在打的一个鹅厂的娱乐赛 https://geek.qq.com/tree/ 后面的 reverse engineer 题就是边学js和字节码静态分析边打的。
然后顺便就引申到常见的混淆方式、反debug方式、栈式虚拟机之类的
总之就是多打题,多google,然后尽量不要“够用就行”地去学东西,碰到了,那相关的也适当拓宽着学一下。
还有一个就是,安全这东西就是猫鼠游戏,不可能一成不变的,也要紧跟技术潮流。像最近大火的“云开发”就搞出来允许前端直接访问数据库这种设计,那里面的安全性怎么保证就是一个可以研究思考的问题。有时候安全靠的就是一个技术敏感度,充满洞察力的敏感嗅觉建立在雄厚的经验上。
至于方向的话,大一都学一点其实就很好了。计算机方向很多,光拿 web 来说,一点前端开发和业务都不懂的后端肯定是很难融入实际工作的。同样一点业务和工程都不懂的安全,往往就没法找到一些明显的缺陷,“最高效的黑客是最懂一般程序员写代码的时候的思维的黑客”,因为熟悉工程的安全,知道开发人员开发的时候注重什么,容易疏忽什么。
所以其实不用迷茫焦虑,程序员长期保持竞争力本身就是要靠不断学习,找自己感兴趣的先学起来就是了。只要学的东西不是什么野鸡技术栈,也不用过分担心什么“押错技术”还是“技术换代”。因为长远看来,优秀的程序员本来就不是靠“会用某某技术”去竞争,而是靠不断适应和不断学习的能力去竞争,这样才不会被轻易取代。更别说计算机的很多技术还是融会贯通、触类旁通的,因为基本原理是同一套东西,只要是在学着,肯定不会亏的。
“感到收获不多” 其实收获这种东西本身就很难量化,也许你加深了对“程序执行”这件事的理解,也许你加深了对网络协议的理解,这种东西本身就很难给一个说我今天进步了 5% 还是什么的。
可以试着写博客记录下来自己所学到的,对别人的做法的理解,自己的体会与思考这些。尝试把自己学到的解释一遍给自己听。其实这个过程本身是一个查漏的过程,能保证自己是真真正正懂了明白了,日积月累看回来又能带来成就感,个人觉得比起走马观花的学很多,然后一知半解一两月后忘记而言,记博客是值得所花的时间的。
- 已编辑
采用逆向思维、自顶向下的设计方法:先想好你大学四年想要成为一个怎么样的人?
如果还没想法,那就赶紧去市场了解下行情、结合自身特长性格分析早日确定大目标。(可以查阅行业资料、看如弗兰克扬职场up做得科普小视频、问身边同学情况获取灵感,但务必尽快确定)
继续做研究生、还是就业?就业是选前端、后端?需要学习哪些知识?……一旦方向清晰起来了,你就可以查查该方向的知识大纲、然后规划好大学的每个阶段目标、分清主次任务排除无用干扰、最后细化到每天的任务驱动中,这样的反向分析非常容易想、规划也能合理做到
但无论选哪个方向,只要你还想在 CS 届混,就务必把那套美国 CS 课纲所有基础课学好、最低要求也要搞懂不挂科~
总之时间不早啦~ 男大当婚、女大当嫁,大丈夫该当机立断!自己做好想要的安排,莫拖着让别人帮你安排。毕竟杨叔说过:
大学期间如果你被学校和老师安排得明明白白的,那到了社会上,你也会被这个社会安排得明明白白的。
- 已编辑
Miigon 确实,就如胡适的那句:
怕什么真理无穷,进一寸有一寸的欢喜
最重要的依然还是,从内心出发,多一些主动的探索,不断完善自己;从中也试着把握技术的本质、慢慢体会到计算机世界的某些共通的东西。静下来的时候尝试多读读书,读的范围不仅仅在理工科吧,文学艺术、人文社科也但当涉猎一些,尤其推荐《乡土中国》。
也贴下之前写的文:读计算机专业需要把握的事
ctf方面论坛有前人讨论过了:https://0xffff.one/d/769/2
- 已编辑
ctf的话最好先找几年前的题做,一个是容易找到write up,一个是最近某些神仙为了避免自己的题被另一些神仙做出来题目都出得很神奇(就是对新手不太友好,不过我自己也挺久没打了,不清楚最近的情况),大一最好还是先补基础吧。
PS:网络安全工程师,程序员等等就还可以继续细分做哪个方向啊,而且程序员是一大类人吧(逃
即将退役的老年ctf选手强答一波,目前ctf竞赛环境已经相当恶劣,投入高见效慢,一是各战队之间都相对封闭,交流实际很少,二是出题人为了不丢脸面以及防止py,题目越来越难,三是一流强队的核心队员有相当一大部分都是打了几年ctf的研究生。就我个人而言,第一年基本0输出,这几年拿到的有点含金量的奖基本也是大四才拿的。对于自身而言,建议还是找一个自己感兴趣的方向(web,pwn,reverse,crypto,iot,blockchain,ai……)深入学习,好好沉淀下去,然后给自己定个目标,比如先把xctf中有100支队以上解出的题目解了,然后是20解,然后是10解……,通过刷题不断丰富自身知识面,如果能坚持下来,三年后就业就有相当大的竞争力了。(以上纯属就业导向
当你迷茫得不知道该干啥得时候,读《深入理解计算机系统》绝对有好处:)
这里列举的这些个书,你不管学什么,都是必需品。当你形成足够强的计算机思维的时候,进入某门专项、行业,都是不会觉得门槛高不可攀的。可能不会成为你学习的全部,占据你的所有时间精力,可能你也不会通篇读完。你还会搞搞这搞搞那,找找乐子,找点所谓的成就感。但确实能推动你的个人发展。
Bintou 想起了大二老师来南海校区开讲座的时候说的:要学会做减法,要适当的放弃一些事情。
其实吧整个大学四年读下来也是这样,时间就这么一点,要做取舍的地方太多了
很多时候可能四年下来,在热爱的方向上一点成果都没有也不是没有这个可能,找到自己真正喜欢的方向坚持下去才是真的。有时候想学的东西太多,偶尔看看人文社科类的书可以升华一下自己的思想,静下心来好好想想什么是自己想要的也很重要。
稳扎稳打踏踏实实的学习,不要嫌弃知识简单,有时候基础的知识你并没有真正的搞懂,特别是计算机这个学科,基本上不同的语言不同的方向,从基础开始你都能找到举一反三和延伸的知识点。从简单的基础知识开始学习,不要眼高手低才能走得长远。
我觉得不管是网安还是程序员 code
code能力上去了 搞啥都好。但是还是要坚持一个方向。定下来