前前言
本文是给计算机专业新生的入门指南,主要分为四部分,第一部分是关于笔记本电脑的选择,第二部分是计算机专业现状及相关建议,第三部分是入门须知,包括提问/回答的技巧,搜索的技巧,与自学的相关内容等,第四部分是算法竞赛相关的事宜。
由于本人水平有限,认知有限,因此本文内容可能存在错误,欢迎指正。
本文内容仅供参考,内容是否有用请自行判断。
本文部分内容参考自HAUE CS WIKE,作者为-浪漫主义狗-。
关于笔记本电脑的选择
前言
如果你是一名计算机类专业的学生,那么你一定是需要一台笔记本的,如果你还没有购买笔记本,并且不知道如何去选择笔记本,可以看一看此章。
如果你已经购买过笔记本,可以直接点此跳转下文。
本篇不包括台式电脑装配的相关讨论,仅教学小白如何选择笔记本电脑(无广)。
笔记本的分类
笔记本基本分为四大类机型:- 轻薄本:主打轻便与续航
- 全能本:牺牲部分便携性,提高了性能
- 游戏本:追求极致的性能
- Mac:搭载MacOS的电脑
如何挑选适合自己的笔记本?
第一步,确定价位
不论想买什么类型的笔记本,都要先考虑经济问题。
将你能接受的最低和最高价位取一个平均值,这个价格附近的电脑才是你要考虑的对象。
第二步,确定需求
- 只为完成大学四年的学业:轻薄本
- 日常有玩游戏需求,或轻度视频剪辑等需求:全能本
- 热衷于大型3A游戏,以后想做人工智能,深度学习,自媒体相关:游戏本
- 暂无需求,无所谓:轻薄本,日后有需求卖掉再换。
第三步,选择机器
初步筛选:
在购物平台根据价格和需求筛选,将自己心仪的几款笔记本的配置及价格记录到备选单中。
详细对比:
根据备选机型和配置在各视频平台中搜索对应测评视频,多方面比较并记录。
最终选择:
根据对比结果,选择一款性价比高,适合自己需求的笔记本。
购买渠道的选择
首选京东,天猫
大部分品牌的电脑都有其官方旗舰店,在售机型基本不会出现描述偏差等情况;基本不会出现大幅度溢价,在618等活动时期价格美丽,售后体验好。
次选择拼多多
虽然拼多多一向披着一股便宜货的味道,但百亿补贴带来的优惠巨大,没人和钱过不去;但要注意,拼多多上的商家素质良莠不齐,需要有一定鉴别能力。
线下实体店
最次的选择。实在着急的情况下,可以去线下店购买,但价格普遍高于线上门店;线下店老旧机型多,且有大量不实推销。
闲鱼等二手平台
比线下店水还深,翻车概率大。
买后注意事项
- 开箱要录制第一视角视频,防止出问题和售后无可对证。
- 在网上学习如何验机,检查是否有返修,翻新等行为。
- 保存好发票,保修卡,购买凭证等。
关于计算机
前言
本章相关数据来源于网络,内容仅供参考。
因第一版内容带有大量个人主观意识,说教意味太重,有贩卖焦虑的嫌疑,放置于此有所不妥,所以这里看见的是第二版。
你为什么选择计算机专业?
大致分为以下几种
- 我也不知道,家长给报的。
- 听说计算机专业好就业,工资高,前景好。
- 兴趣爱好。
不论你是哪一种,我都建议你重新审视一下自己的选择。
残酷现实:双非计算机专业学生的就业困境
真相很残酷,但必须面对:
- 双非计算机专业本科就业率(获得正式offer比例):约20%~40%
- 考研上岸率:约20%
- 二者合计:不超过50%
- 意味着什么:50%的学生毕业后要么二战,要么转行
这不是危言耸听,而是血淋淋的现实。在一线城市,双非计算机毕业生:
- 开放岗月薪:7-8k居多
- 优秀学生:能拿到年薪20w左右
- 顶尖学生:少数能进大厂拿30w+
更深层的数据分析:
- 真正能在毕业时拿到满意offer的双非学生,往往在大一大二就开始系统性自学
- 大部分“临时抱佛脚”的学生,即使突击半年也很难达到企业要求
- 50%的失业率不是因为岗位不够,而是因为能力与岗位需求严重不匹配
- 很多学生对“找到工作”的定义存在误区,以为投简历就能找到工作
核心问题诊断:为什么50%的人都找不到工作?
表层原因:能力不足
- 代码能力弱:连毕设都要花钱找人做
- 基础太差:数据结构,算法一团糟
- 项目经验少:没有拿得出手的作品
- 刷题习惯差:临时抱佛脚根本不够
深层原因:资源与指导缺失
- 课程设置:92学校更注重实践,双非学校理论偏多
- 师资力量:92学校老师多有工业界经验,双非学校老师偏学术化
- 实习机会:92学校有企业合作,双非学校需要学生自己寻找
- 信息获取:92学校信息更新快,双非学校信息滞后严重
- 学习氛围:92学校有浓厚的学习氛围,双非学校容易受到消极影响
根本原因:信息差+学习氛围+缺乏规划
信息差的具体表现:
- 不知道企业真正需要什么技能
- 不清楚不同岗位的具体需求
- 对薪资水平和职业发展认知有误
- 缺乏对行业发展趋势的了解
- 不了解简历制作和面试技巧
学习氛围的重要性:
- 周围同学的学习状态直接影响个人动力
- 缺乏讨论技术问题的环境
- 没有良性竞争和互相督促
- 容易被“读书无用论”影响
- 缺乏成功榜样的激励作用
如何破除困境?
明确发展路径
就业导向:
- 大二暑假:开始第一段实习
- 大三下学期:最晚开始实习
- 实习次数: 1段实习 → 保底有工作 / 2段实习 → 争取不错薪资 / 3段实习 → 冲击大厂机会
考研导向:
- 初试:英语、数学、408专业课
- 复试:上机编程、项目展示
- 时间规划:大三开始准备不算晚
- 目标设定:至少冲击211以上
就业准备的详细规划:
- 大一:打基础,学好数据结构和算法
- 大二:开始项目实践,准备实习简历
- 大三:积极实习,积累工作经验
- 大四:全力冲刺秋招,争取好offer
考研与就业的平衡:
- 如果选择考研,也要保持编程练习
- 考研失败后要有就业的备选方案
- 不要把考研当作逃避就业的借口
- 考虑个人实际情况和家庭条件
提高执行力与优化学习环境
提高执行力:
- 离开宿舍学习(图书馆,实验室,空教室)
- 找到学习伙伴互相监督
- 制定明确的学习计划
优化学习环境:
- 远离“摆烂”室友
- 加入学习型社群
- 关注优质技术博客
- 参考成功案例
执行力提升的方法:
- 建立明确的学习目标和时间节点
- 记录学习进度,定期自我评估
- 定期检查进度,及时调整
- 建立奖惩机制,激励自己坚持
- 找到学习的内在动力,而不仅仅是外在压力
学习环境优化的建议:
- 选择合适的学习时间段,避开干扰
- 利用网络资源,但要有选择性
- 定期调整学习方法,保持新鲜感
- 建立学习反馈机制,及时纠正错误
心态调整:相信自己能逆袭
记住这几点:
- 学历不是绝对门槛:能力比学历更重要
- 技术才是硬道理:代码能力决定一切
- 坚持比天赋重要:持续学习几个月就能看到质变
- 信息差可以弥补:找对方向,事半功倍
避免心态陷阱:
- 不要被“内卷”、“饱和”言论影响
- 不要因为学历而自卑
- 不要轻易放弃或转行
- 不要在焦虑中浪费时间
建立正确的心态:
- 接受现实,但不被现实限制
- 相信努力的力量和时间的价值
- 从失败中学习,不断改进
- 建立长远的职业规划
克服常见的心理障碍:
- 完美主义:追求进步而不是完美
- 拖延症:立即行动,不要等待最佳时机
- 比较心理:专注自己的成长,不要过度比较
- 焦虑情绪:理性分析,制定可行的计划
- 自我怀疑:相信自己的潜力,持续努力
实用建议:具体应该怎么做
技能提升路径:
- 编程基础:
- 选定一门语言深入学习(建议先入手C/C++)
- 完成至少3个完整项目
- 熟练掌握开发工具和框架
- 学会代码调试和性能优化
- 算法能力:
- 数据结构:数组、链表、栈、队列、树、图等
- 算法思想:递归、动态规划、贪心、分治等
- 刷题平台:LeetCode 200+题等
- 参加竞赛:ACM等
- 项目经验:
- 个人项目:展示技术能力
- 团队项目:体现协作能力
- 开源贡献:提升技术影响力
- 实习项目:积累商业项目经验
- 编程基础的深化学习:
- 理解编程语言的设计哲学和特性
- 掌握常用设计模式和编程范式
- 学会使用版本控制工具如Git
- 了解软件工程的基本概念
- 培养良好的编码习惯和代码审查能力
- 项目经验的积累策略:
- 从简单项目开始,逐步增加复杂度
- 每个项目都要有完整的文档和说明
- 学会项目的部署和运维
- 参与开源项目,学习他人的代码
- 建立个人技术博客,分享学习心得
(如果你看不懂下面三条在说什么,先看到这就够了)
时间管理策略:
- 避免时间浪费:
- 不要频繁换语言
- 不要过度关注“语言前景”
- 不要被焦虑信息影响
- 时间管理的精细化操作:
- 区分重要和紧急的任务
- 定期回顾和调整时间分配
- 保证充足的休息和娱乐时间
- 学习效率的提升方法:
- 采用主动学习而不是被动接受
- 善于利用各种学习资源
- 建立知识体系,形成知识网络
- 注重实践和应用,避免纸上谈兵
心理建设与压力管理:
- 心理素质的培养:
- 建立长期目标,保持学习动力
- 学会承受压力和挫折
- 培养解决问题的思维方式
- 保持对技术的热情和好奇心
- 建立自信,相信自己能够成功
- 压力管理的有效方法:
- 合理设定期望,避免过度焦虑
- 寻找适合的减压方式
- 定期进行自我激励和鼓励
- 学会在困难时寻求帮助
结语:从今天开始改变
技术改变命运,行动决定未来。不要让出身决定你的上限,用代码证明你的实力!
入门须知
提问的艺术
- 新手初学计算机往往会遇到很多问题,比如代码运行不了了......
- 遇到问题是正常的。新手如果不在初期加以引导,很容易失去对编程的兴趣。所以当你遇到无法自行解决的问题时,要及时找大佬请教。
- 请务必尝试自己解决,实在无法解决,请参考提问的智慧进行提问。我十分建议你阅读原书,如果你没有这个耐心,那就听我说重点就好了。
提问前
- 确保你上网搜索过,但没有找到答案。
- 确保自己已经检查过,排除掉部分错误原因。
当你提出问题的时候,请先表明你已经做了上述的努力;这将有助于树立你并不是一个不劳而获且浪费别人的时间的提问者。如果你能一并表达在做了上述努力的过程中所学到的东西会更好,因为我们更乐于回答那些表现出能从答案中学习的人的问题。
提问时
- 尽量在群聊中提问,常见的问题很多人都遇到过,有很多人可以帮你解决问题,如果问题特殊,还可以促进大家一起进步。
- 尽量使用电脑自带截图或者复制粘贴代码,而非手机拍照。
- 尽量保证问题描述清晰全面,当你的代码出错时,要将代码与报错信息完整的截下来,更有利于回答者判断。
- 尽量发起一个有效的提问,不要问“有没有大佬?”,“在不?”等诸如此类的问题,如果有人回应了你,但却答不出来你的问题,就会略显尴尬,同时也可能会浪费回答者的时间。
- 如果你的问题迟迟没有得到回应,建议你检查一下自己的问题是否描述不全面不清晰,或者存在低级错误。

解决问题后
- 如果收到回复,无论这个回答对你是否有帮助,请务必说一句“谢谢”。
- 如果你询问了很多人,解决了之后务必将解决方案简短总结群发给你询问过的人;如果还没人回答你就自行解决了问题,也请务必引用提问的信息并说明已解决。
- 面对无诚意的回答,要充分包容,不要争吵,上纲上线,这样只会浪费彼此的时间。
回答的艺术
与提问相对的,回答也是一门艺术。
作为一个回答者,你不能要求自己所有的问题都要回答:
- 判断问题描述是否清晰,如果不,没必要浪费自己的时间。
- 判断问题的难度,如果该问题你第一时间回答不上来,你就可以根据时间安排自行选择研究或忽视。
- 如果你很忙,没有时间回答问题,不必感到抱歉。
作为一个回答者,你应当:
- 面对提问者,如果你已经不耐烦了,请不要吝啬你的拒绝。
- 面对无礼的要求,请务必提醒对方,但不要当众羞辱。
- 面对提问者请放下身段,平等对话,提问者和回答者应是相互学习的关系。
- 面对自己不会或不确定的问题,尽量不要回答或研究清楚再回答。
- 面对自己的回答有误被人指出来,要虚心承认自己的错误并加以改进。
搜索的技巧
作为计算机类专业的学生,互联网是你最强大的学习伙伴、问题解决工具和职业发展引擎。
下面将分享一些搜索的技巧与常用的搜索源。
搜索前
- 在你开始搜索前,精确地定义你遇到的问题。是编译错误还是运行时错误......
- 记录错误信息,相关代码片段,使用的语言,工具及其版本,你已经尝试过的方法。
搜索语法(进阶必备)
- 关键词选择: 使用具体的技术名词、错误代码、库名、函数名。避免模糊词汇(如“不工作”、“有问题”)。
- 引号"":精确匹配短语(如 "Segmentation fault (core dumped)")。
- 站点限制 site:在特定网站搜索(如 site:stackoverflow.com python list index out of range)。
- 排除 -:排除不想要的结果(如 java -spring)。
- 文件类型 filetype:搜索特定类型文档(如 filetype:pdf design patterns)。
- 通配符 *:匹配未知词(如 syntax error near unexpected token '*')。
选择合适搜索源
搜索引擎
谷歌,必应,百度,搜狗等。
官方文档
语言(Python, Java, C++)、框架(React, Django, Spring)、库(NumPy, Pandas, TensorFlow)、工具(Git, Docker, Kubernetes)的官方文档是最权威、最准确的信息来源。养成第一时间查阅官方文档的习惯。
技术问答社区
- Stack Overflow: 几乎所有编程问题都能在这里找到答案或线索。学会看高票答案、被接受的答案,并注意答案的时间戳(技术更新快)。因为是外网,dddd。
- SegmentFault (思否): 国内优秀的技术问答社区。
- CSDN、博客园:也能找到解决方案,但质量参差不齐,需仔细甄别。
AI
使用AI工具(如DeepSeek等)来辅助搜索和解决问题。AI可以提供更全面的信息,但要注意其回答的准确性。
关于自学
自学的好处
自从升入大学后,大学的教学方式与高中教学相比完全放松。高中教学模式追求效率,导致过于填鸭和死板;而大学则更像是”师傅领进门,修行在个人“式的开放式教学。因此,掌握自学的技巧无疑是应对大学教育模式转变的一个完美解答。
- 自学是自由的:通过自学,你可以学习到专业教学之外所学不到的知识和课程,不限制专业,不限制时间,甚至不限制你所处的学校(好的大学没有围墙)。
- 自学是个性化的:高度自定义的自学节奏,支持你以不同的进度进行学习,可以针对学习进度主动调整,针对难点进行侧重,这在高中是完全不可能实现的。
通过自学,我提前掌握了超出教学进度的一些内容,能去做一些我想做的事情,打比赛和做开发 ......
自学的坏处
任何事情都有两面性,自学也有相对的坏处。
- 疑难解答:由于自学课程的老师隔着屏幕,可能会出现一些疑问即使反复观看也无法解答,此时需要你有针对问题检索信息解决的能力。
- 进度脱钩:过度沉迷自学而与学校教学进度脱钩并不是一个明智的选择,学校的考试内容与你的学习内容可能并不相符。
虽然如此,上述的缺点还是有办法可以规避的,因此瑕不掩瑜,欢迎你加入自学的队伍当中。
如何判断自己是否适合自学?
- 首先,学习是每一个人与生俱来的天赋。
- 不妨先试着学习一门教学进度内的课程,尝试提前学习教学的章节,然后利用课堂检验自学的成果作为判断依据。
- 大部分情况下,一开始自学效果不佳,这是十分正常的,因为在中国的应试教育模式下,很多人的自学能力已经被深深埋葬。
- 高考刚结束的暑假,我自学C语言时,由于根本没有过自学的经历且从未了解过编程相关的知识,两三天才学会一点点东西(
- 不用担心,从零开始坚持自学,一点一点进步,你会逐渐重拾自学的自信。
其他
如果你准备/正在学习C语言与竞赛相关内容,可以参考菜鸟教程与OI Wiki进行学习。至于相关的教学视频,就不做推荐了,请自行寻找。
关于算法竞赛
你可能会接触到的几种算法竞赛
- 蓝桥杯大赛-软件类:蓝桥杯全国软件和信息技术专业人才大赛(简称“蓝桥杯大赛”)由工业和信息化部人才交流中心主办,国信蓝桥教育科技有限公司承办。
- 每道题提交之后都没有任何反馈,每道题都有多个测试点,根据每道题通过的测试点的数量获得相应的分数。
- 每道题不限制提交次数,如果提交错误没有任何惩罚,仅以最后一次提交为准。
- 比赛过程中看不到实时排名,赛后按照总得分来名。
- 比赛分为省赛和国赛,省赛一等奖可以入围国赛。除此之外还有不同的组别,具体细则参考:大赛章程。
- 团体程序设计天梯赛:由全国高等学校计算机教育研究会主办,旨在旨在提高大学生的编程能力、算法设计与分析能力以及团队协作能力。
- 每道题提交之后都有反馈,可以看到“通过”、“运行错误”、“答案错误”等等结果,甚至可以实时看到自己每道题得了多少分,但看不到错误的测试样例。
- 每道题都有多个测试点,根据每道题通过的测试点的数量获得相应的分数。
- 每道题不限制提交次数,如果提交错误没有任何惩罚,仅以最后一次提交为准。
- 比赛过程中一般可以看到实时排名,按照总得分来排名。
- GPLT的赛题分为三个等级,参赛队员可以在比赛中的任何时刻尝试解决任何梯级的题目。但只有当一支队伍的基础题总分超过 800 分时,其本队进阶部分的题目分数才被判为有效。只有当其进阶题总分超过 400 分时,其本队登顶部分的题目分数才被判为有效。
- 具体细则参考:GPLT命题与竞赛评分。
- ACM/ICPC:ICPC(国际大学生程序设计竞赛,International Collegiate Programming Contest)由ACM(美国计算机协会)主办。比赛中的问题通常涉及算法、数据结构、图论、动态规划等计算机科学的基本知识,并要求参赛队伍在有限时间内编写出正确且高效的程序。
- 一般是三个人组成一队使用一台机器,合作完成同一套题目。
- 每道题提交之后都有反馈,可以看到“通过”、“运行错误”、“答案错误”等等结果,但看不到错误的测试样例。
- 每道题都有多个测试点,每道题必须通过了所有的测试点才算通过。
- 每道题不限制提交次数,但没通过的话会有20分钟罚时,仅以最后一次提交为准。
- 比赛过程中一般可以看到实时排名,通过题数相同的情况下按照答题时间+罚时来排名。
- 一些 ICPC 相关赛事中,比赛结束前一小时进行封榜,封榜后的提交和排名将无法被其他选手看见。
- ICPC的竞赛形式是一个多阶段的比赛,包括区域赛、区域决赛和全球总决赛。在 ICPC 相关赛事中,选手允许带一定量的纸质资料。
- 有趣的是,在比赛中,每个赛题对应一种颜色的气球,通过该题目的队伍会得到对应颜色气球。每道题目第一支解决掉它的队还会额外获得一个“FIRST PROBLEM SOLVED”的气球(一血气球)。
- CCPC:CCPC(China Collegiate Programming Contest)是中国大学生程序设计竞赛的缩写,是中国高校计算机科学与技术专业的顶级竞赛之一。由中国计算机学会主办,旨在提高大学生的编程能力、算法设计与分析能力以及团队协作能力。
- CCPC的比赛通常分为区域赛和总决赛两个阶段。区域赛是初赛阶段,分为多个赛区,每个赛区的前几名队伍可以晋级到总决赛。总决赛是最终的决赛阶段,由各个赛区的晋级队伍组成,争夺最终的冠军。
软件类比赛为OI赛制:
GPLT每支参赛队由最多 10 名队员组成,且比赛为IOI赛制:
比赛遵循ACM赛制:
CCPC的比赛形式类似于国际大学生程序设计竞赛(ICPC),也采用ACM赛制。
什么样的人适合打算法竞赛?
- 对编程有热情的人:算法竞赛需要投入大量的时间和精力去学习和练习,因此对编程有热情的人更容易坚持下去。
- 逻辑思维较强的人:算法竞赛需要解决各种逻辑问题,因此数学,逻辑思维强的人在学习算法时相对轻松,写题时也更容易找到解决问题的思路。
- 尝试是关键:想知道自己是否适合,最好的办法就是尝试,从一些基础题目做起,参加一些线上比赛,感受这个过程是否吸引你,你能否从中获得乐趣和动力。
打算法竞赛能得到什么?
- 扎实的基础:通过不断的练习,代码量的堆积,你的编程能力,算法能力,数据结构能力,解决问题的能力都会得到提升,这些能力都是你以后从事计算机相关工作的基础。
- 深度思考的能力: 算法竞赛训练你进行长时间的、专注的、深度的思考,这种能力在信息碎片化的时代尤为宝贵。
- 成就感与自信心:成功解决一个困扰已久的难题,或在比赛中取得好名次,会带来强烈的成就感和自我效能感,极大提升自信心。
- 志同道合的伙伴:在竞赛圈子(线上社区、线下比赛、集训)中,你会遇到一群同样聪明、努力、对技术充满热情的伙伴。相互学习、切磋、组队参赛的经历非常宝贵,也能拓展人脉。
- 荣誉和奖励:参加算法竞赛,你会获得一些荣誉和奖励。获得不同的奖项,学校会给予相对应的奖金,同时荣誉本身也会让你在评优评先,评奖学金时获得优势。这些荣誉和奖励可以增加你的竞争力,为你的简历增色添彩。
这里贴几个刷题/竞赛平台
- codeforces:Codeforces 又被称为 CF,是一家俄罗斯的网站。这里的很好的比赛,很好的题目,很好的选手,简称"三好"。
- CF 最吸引人的地方在于它的比赛系统,CF 上每个用户都拥有 Rating,也就是比赛积分,新用户默认为 1500 分,每次比赛就会在你的积分上加加减减,上面的比赛一般分为四种:Div1、Div2、Div3、Educational Codeforces Round。Div 的比赛一般是根据积分来的,每个积分段只能参加对应的 Div 的比赛,Div1的比赛是里面最难的,大佬基本都在这里。Educational Codeforces Round 则是类似 ACM 的比赛,提交之后立马出结果。
- 更有意思的是,CF 的比赛还提供一个 hack 功能,你可以去看别人提交的代码,然后通过提交你想出的特殊测试用例然后找出别人代码的 bug,hack 成功则加积分,为比赛增添了乐趣,让你在 hack 和反 hack 中斗智斗勇。
- 不过对国内来说,和俄罗斯存在时差,一般想参加比赛的话大多数要在晚上 11 点以后,按照基础的 2 个小时比赛时间,再加上 hack 和测评反馈的过程,然后再刺激一下,差不多一宿就这么交待了,不过其中的乐趣不足为外人道。如果没有时间,上面的题目还是可以自己拿来做的,题目质量超级好,很能锻炼自己。
- leetcode:LeetCode 是一个在线编程题库,提供了大量的编程题目,包括算法、数据结构、系统设计等。LeetCode 的题目难度从简单到困难不等,适合不同水平的程序员进行练习。
- 牛客网:作为国内内容超级丰富的 IT 题库,题库+面试+学习+求职+讨论 360 度无死角服务,堪称"互联网求职神器",尤其是对于应届生来说更是。它好就好在不只是一个刷题的平台,还是一个交流学习的平台,找工作刷面经的好去处。发个问题贴总有热心的大佬帮助。
- 洛谷:包含语法题和算法题,按比赛难度分类,适合参加NOI/蓝桥杯等信息竞赛的国内高中生/大学生。
后记
感谢观看,希望本文内容能对你有所帮助。