计算机大一学生怎样掌握更强的编程以及算法能力？
  这里是有一个排序的 那么问题来了，我们的对手很强啊。该怎么做才能够强于他们呢？ 1.人工智能这事就别想了。搞计算机的再厉害也搞不过，那些数学博硕。毕竟统计学那是人家的长项， 2.后台开发这个可以有。基本上，只要看完下面这几本，你就是系里一哥一姐，时刻众星捧月。 这些书该怎么看？当然了，我们先看看，老前辈们看完这些书之后写了什么作品。在netty和muduo就是其中的经典作品。也就是说搞c++的就看《linux多线程服务器端编程》，java的就看netty系列的源码解读和实战了。 再细化地说一下，比如说，我在muduo源码中看到了 各种智能指针，和仿函数，还有有锁队列，要看c++11的书，还有《c++并发编程实战》以及《effective modernc++》 还有《c++11标准库》 当看到epoll和poll，还是有select的时候，我们就要看《linux/unix系统编程手册》，《unix网络编程》 以及iocp等等，我该看什么书呢？当然是看《tcp/ip网络编程》了 再细化一级举个例子： 比如我们大致看完了muduo，于是我们通过muduo提供的client和server的sudoku例子想达到我们写游戏后台前后端开发，第一个苦恼的事情就是，c++标准库提供的queue并不是线程安全的。这个时候，我们就翻了一下《c++并发编程实战》，找到了一个线程安全的queue的例子。这个是跨平台的有锁queue，我们可以用这个safe queue，把服务器传递过来的消息，逐个cout到屏幕上面。可问题来了，如果我们只想在linux后台开发，是不是有更好的内容呢？对呀，于是就翻了linux的书，一下子就搜到message queue内容了。好家伙，每本书都要讲的消息队列，这个还可以跨线程，非常安全。那么这个是c函数的，我们想要封装好的，但是原理差不多的内容，要到哪里找呢？对呀，github上面就有libzeromq。对标ActiveMQ、RabbitMQ、Kafka当然了. 这么一想，我们就知道上面那些linux和unix的书多么有用了，那些书也都是目录。真正的落地就是躺在硬盘中的代码。读书到照敲代码，你只完成了眼熟的过程，下一步要先通过用来，来了解每个知识点的作用，然后才知道适用在什么地方，然后才知道各种竞品都在哪里位置最厉害。  那么进阶的比如，什么是编程能力。什么是架构能力，什么是抽象能力？什么是高端编码工具， 不妨看看，我之前的回答。  怎样提高编程时的架构水平？  其实真心有好多东西可以迅速把同学们拉开差距，只可惜，有很多文章和知识点，并非大一就开始编程的人可以懂的。 如果想要linux后台c++多线程开发，并且想知道那些书该怎么看的，不妨点个赞和关注哦。