百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

大学想报计算机专业,暑假想要自学,有哪些建议?

itomcoil 2024-12-31 12:21 24 浏览

大家好,我是白云。


?


有个粉丝朋友私信问我:今年刚高考完,想报计算机专业,想暑假自学,应该怎么学?今天老白就针对这个问题好好聊聊,之前也聊过自学这块说的也很全,但今天针对学生这个全体好好聊聊。


?




大学计算机专业学的内容是什么?


?



主要学习以下五个方向:


1.C/C++语言


虽然你只有很小概率在工作之后用到它,但它依然无比重要。C Primer反复看,然后一行行在电脑上敲出来。


C语言最难懂的是指针,这个暑假掌握还是比较难的,内存是什么,指针的本质是什么,程序为什么会崩溃,这些问题弄懂了基本就通了。


推荐以下C+书籍:


《C++ primer》《Essential c++》 《C++编程思想》 《effective C++》《more effective C++ 》《Think in C++》《C++ primer plus》《C++ coding standard》。


2、算法


算法挺难,但无论是学习计算机专业还是未来找工作,它都无比重要。


推荐一本高中生都能看懂的算法书:《我的第一本算法书》


?



3.数据结构


数据结构的重要性相信不需要强调了,不仅是工作后必备的技能,如果未来要参加研究生考试也是必考科目和拉分项。入门的话推荐《大话数据结构》,这本书诙谐有趣,在不知不觉中让你掌握了数据结构,再推荐一本稍稍难一点的《数据结构和算法分析》。


4.操作系统


只要我们使用计算机,就会和操作系统打交道,接受它的审核与反馈。很多“热门”的技术话题,背后都离不开操作系统。比如:


  • Nginx 的高并发性为什么能实现?
  • MySQL 的 I/O 性能到底怎样提升?
  • Redis 中经典的 Reactor 设计模式由什么技术支撑?
  • Node.js 的 I/O 模型长什么样?


甚至,在一个数十万行代码的大项目中,仍然会遇到一些基础性的问题,比如内存为什么会泄漏,服务进程为什么会 dang 掉,文件为什么打不开等等。


?

?

5.计算机网络


如果你要入门 HTTP,首先最好书籍就是《图解 HTTP》了,作者真的做到完完全全的「图解」,书籍不厚,相信优秀的你,几天就可以看完了。


?


学习前的准备都有哪些?


下载和安装


  1. 尽量去官方网站下载你要的软件。(过时的软件如vc++6.0显然没办法去官网下载了)很多搜索引擎都会将你要搜索软件的官网标注出来。看到出来的搜索答案列表后面跟个“官网”准没错,后面跟个“广告”就基本可以跳过了。有的没收录官网的,就需要用经验判断了。
  2. 在网页上找软件时,注意你点的东西是不是一张图片,而且这张图片的角落还写着“广告”两个字。如果是,这个显然是不能下载你想要的东西的。
  3. 下载站里面,如果遇到什么高速下载器下载,通通无视掉,只管找普通下载的渠道。当然,现在很多下载站流行留百度网盘链接或者公众号扫码获取下载链接,这两者一般都是没啥问题的(不保证无毒),就是麻烦而已。
  4. 安装软件时,如果你看到是个啥下载器,建议直接关闭,重新找资源。
  5. 安装软件时不要一直点下一步,多注意安装界面每一步可以用鼠标打勾勾的东西,如果这些后面是些安装xxx的,去掉选中,就不会安装了。当然自启一般也都去掉比较合适,快速启动栏看需求。


?


安装系统


搞个虚拟机软件,试用几十天十几天都无所谓,反正安装系统要不了多久。


具体怎么找虚拟机软件,去各种论坛、博客、知乎之类的平台找资源就好。


后续在 windows 编程学习过程中,也可以用虚拟机来完成一些比较“危险”的操作。


学会装 windows 之后,也可以试着装 Linux 甚至是 Mac 。


有些劝新人用 Mac 或者 Linux ,这没什么不好,但是大多数人用 Windows 会更合理。如果你电脑用得很熟,上 Mac 或者 Linux 那肯定没问题。


然而很多课程上老师准备的课程资料只有 win 版本的,其他系统的可能要自己去找,而且还不一定契合课程,萌新会很痛苦的。


了解你的操作系统


很多时候,我们与其说用电脑做事,不如说我们在用操作系统做事。


事实上很多编程语言都会用到系统层面的接口,而操作系统本身的设计也是遵循许多有助于编程的原则的。


首先你要搞明白文件是个什么东西,文件和文件夹区别是什么,文件的后缀有什么用?


扩展一下,比如 MP3 和 m4a 都能播放音乐, MP4 和 avi 都可以播放视频, png 和 jpg 都可以显示图片……


你要明白剪贴复制之类的是什么意思,鼠标左键和右键有什么用,滚轮除了浏览网页还可以关闭浏览器标签页……


你要去接触你系统上尽可能多的功能,比如用 cmd 命令提示符来关机、用 Ctrl + R 来打开软件、使用 Win10 的搜索功能来查找文件和应用……


了解CPU、内存、显卡、硬盘等硬件有啥用。


不说精通,你至少要用电脑跟用纸笔一样熟练。?



进大厂的要求


要想毕业就进大厂,本科拿到月薪15K以上,硕士拿到25K以上,做好以下这些很重要:


  • 选定一门主攻的基础语言方向,比如Python、C、Java等,并真正攻克它;
  • 算法和数据结构:数组、链表、二叉树、堆栈、排序算法、B+/B-树、DP(动态规划)等;
  • 疯狂刷题,撒比算法题、Leetcode等等,都挺不错,刷起来
  • 计算机网络:HTTP、DNS、ARP、TCP、IP、ICMP、UDP等;
  • 操作系统:IO、存储器、多线程/多进程、同步机制、处理器调度及死锁、设备管理、通道等;
  • 计算机组成原理:冯诺依曼计算机组成、计算机层次结构、计算机性能指标等;
  • 多实践多上机,机房要常去
  • 抓住一切可以实习的机会,是否有实习经历往往是大厂给不给offer的分水岭


以上其实是大厂面试官的考核范围,并且他们之间有前置知识点的相关性,简单点说:不会基础语言不会算法和数据结构,你肯定没法刷题,也没法看懂计算机网络和操作系统、组成原理等等。


重点强调下算法,非常重要,无论是读研读博深造还是通过大厂的面试,算法都是必须的。


?


我是白云,一名喜欢分享知识的程序员,感兴趣的就赶紧来点击关注我把,哪里有不明白或有不同观点的地方欢迎留言!

相关推荐

selenium(WEB自动化工具)

定义解释Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7,8,9,10,11),MozillaF...

开发利器丨如何使用ELK设计微服务中的日志收集方案?

【摘要】微服务各个组件的相关实践会涉及到工具,本文将会介绍微服务日常开发的一些利器,这些工具帮助我们构建更加健壮的微服务系统,并帮助排查解决微服务系统中的问题与性能瓶颈等。我们将重点介绍微服务架构中...

高并发系统设计:应对每秒数万QPS的架构策略

当面试官问及"如何应对每秒几万QPS(QueriesPerSecond)"时,大概率是想知道你对高并发系统设计的理解有多少。本文将深入探讨从基础设施到应用层面的解决方案。01、理解...

2025 年每个 JavaScript 开发者都应该了解的功能

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发。1.Iteratorhelpers开发者...

JavaScript Array 对象

Array对象Array对象用于在变量中存储多个值:varcars=["Saab","Volvo","BMW"];第一个数组元素的索引值为0,第二个索引值为1,以此类推。更多有...

Gemini 2.5编程全球霸榜,谷歌重回AI王座,神秘模型曝光,奥特曼迎战

刚刚,Gemini2.5Pro编程登顶,6美元性价比碾压Claude3.7Sonnet。不仅如此,谷歌还暗藏着更强的编程模型Dragontail,这次是要彻底翻盘了。谷歌,彻底打了一场漂亮的翻...

动力节点最新JavaScript教程(高级篇),深入学习JavaScript

JavaScript是一种运行在浏览器中的解释型编程语言,它的解释器被称为JavaScript引擎,是浏览器的一部分,JavaScript广泛用于浏览器客户端编程,通常JavaScript脚本是通过嵌...

一文看懂Kiro,其 Spec工作流秒杀Cursor,可移植至Claude Code

当Cursor的“即兴编程”开始拖累项目质量,AWS新晋IDEKiro以Spec工作流打出“先规范后编码”的系统工程思维:需求-设计-任务三件套一次生成,文档与代码同步落地,复杂项目不...

「晚安·好梦」努力只能及格,拼命才能优秀

欢迎光临,浏览之前点击上面的音乐放松一下心情吧!喜欢的话给小编一个关注呀!Effortscanonlypass,anddesperatelycanbeexcellent.努力只能及格...

JavaScript 中 some 与 every 方法的区别是什么?

大家好,很高兴又见面了,我是姜茶的编程笔记,我们一起学习前端相关领域技术,共同进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力在JavaScript中,Array.protot...

10个高效的Python爬虫框架,你用过几个?

小型爬虫需求,requests库+bs4库就能解决;大型爬虫数据,尤其涉及异步抓取、内容管理及后续扩展等功能时,就需要用到爬虫框架了。下面介绍了10个爬虫框架,大家可以学习使用!1.Scrapysc...

12个高效的Python爬虫框架,你用过几个?

实现爬虫技术的编程环境有很多种,Java、Python、C++等都可以用来爬虫。但很多人选择Python来写爬虫,为什么呢?因为Python确实很适合做爬虫,丰富的第三方库十分强大,简单几行代码便可实...

pip3 install pyspider报错问题解决

运行如下命令报错:>>>pip3installpyspider观察上面的报错问题,需要安装pycurl。是到这个网址:http://www.lfd.uci.edu/~gohlke...

PySpider框架的使用

PysiderPysider是一个国人用Python编写的、带有强大的WebUI的网络爬虫系统,它支持多种数据库、任务监控、项目管理、结果查看、URL去重等强大的功能。安装pip3inst...

「机器学习」神经网络的激活函数、并通过python实现激活函数

神经网络的激活函数、并通过python实现whatis激活函数感知机的网络结构如下:左图中,偏置b没有被画出来,如果要表示出b,可以像右图那样做。用数学式来表示感知机:上面这个数学式子可以被改写:...