百科问答小站 logo
百科问答小站 font logo



大学计算机专业,目前大二成绩不好,现面临分专业,计科,软工,大数据,物联网,网络工程,该选什么? 第1页

  

user avatar   qiongmanong 网友的相关建议: 
      

其实这个题,题主无非是想知道哪些方向能找点不错的工作,将来能混个不错的日子。

方向固然重要,但更重要的还是大学这几年好好学啊,成绩不好就努力点,难道还期望成绩不好,选个方向翻身么?

选择就选计算机科学或是软件工程就行。为啥?因为这两个方向招人最多,将来也好找工作。

选完了方向,关键的问题来了,大学怎么才能把握好?

其实这方面的回答,知乎上面一大堆,翻来覆去也就那么些内容。

既然是计算机专业的,麻烦好好练练怎么在互联网上找信息,处理信息,利用信息帮助自己成长。

可能你要是有类似的搜索信息的能力,这个问题也就迎刃而解了。

怎么学,应该注意什么,我也回答过了。

贴过来方便大家一下。

最关键的就是,自己要付出,不管啥时候,努力才会有收获。


老回答地址: 一个不是很了解CS(计算机科学)的人,该从哪里开始自学CS?

这个题我碰巧会,而且我是转专业学计算机的。现在也是CS的TA,所以对美国的CS本科课程还算了解。

课程的话,最重要的就是下面五门:

  1. 数据结构,
  2. 算法,
  3. 计算机操作系统,
  4. 计算机网络,
  5. 数据库系统。

外加计算机组成原理

上面的这六门课,无论你是将来找工作,读研,还是读博,都是最最重要的。而且学习的顺序就是上面的这样,美国一般会开一门计算机基础,教一门语言,Python和Java居多。然后就是数据结构,在这之后就学算法。以此类推。


如果你想在美国找工作的话,就需要把时间分配好,去刷题,刷project。因为如果你到毕业的时候哪怕GPA很高,学校也不错,能过得去简历关,面对你最重要也是最难的一关就是面试。

切记上面这一点。

面试就是算法面试,除了少部分公司,比如Amazon,特别注重behavior question (BQ)之外,其他公司基本一溜的需要你对算法和数据结构掌握得很好才行。

以下的情况都是针对国外,尤其是北美而言的。

GPA有3.5+就好,一定要重视刷project,刷题

有project才能过简历关,LeetCode熟练才能过面试关。毕竟读CS或是转CS的大部分人,还是以读书找一份程序员的工作为导向的。

因为国外实习或是new grad找全职,面试主要考察算法和数据结构

需要熟练掌握一门语言(Python,Java,或是C++),然后用你熟悉的语言来实现基本的算法和数据结构。


网课可以跟着这几门来学

网络课程的话,则是十二分强推UCB的CS61B。他们家的计算机系的CS61A,B,C课,简直制霸各种课程推荐列表。

  1. CS61B的官网在这里:inst.eecs.berkeley.edu/ 这门课以Java为主。

2. MIT的算法课,教程用的算法导论,也是强推的网课:youtube.com/watch? 这门算法则基本不涉及到语言层面,主要是算法层面,讲得很好。

3. 然后就是红宝书的网课以及配套官网:

algs4.cs.princeton.edu/

youtube.com/watch?

4. 斯坦福2018 Winter CS106B: Programming Abstractions,虽然从名字不太能看出来,但其实是用C++讲数据结构,想用C++的小伙伴不容错过,我看了一半了,特别有帮助,尤其是对递归和回溯的讲解,简直醍醐灌顶。


现在因为不可知的原因,Youtube上面已经下架这门课程,但更方便的是,咱们可以在B站直接看:


最后来说说练习平台

光学(看书)不练,算法和数据结构是学不会的。

所以推荐一些好的刷算法和数据结构平台,当然另一方面也是为了找工作面试做准备咯。

如果你在北美的话,初级程序员面试基本就是考察数据结构和算法,所以大家一定要勤加训练!

  1. LeetCode。

这是现在刷题找工作最热门的网站了。

但LeetCode现在题目也太多了,一共1300+了,而且一直在增加!!!

全刷完没必要,也不高效。


2. Educative


如果想买订阅Subscriptions)的小伙伴,则可以用ZHIHUEDU-10(必须一模一样输入)的coupon code来获取额外九的优惠按年和按月均适用



他家最最出名的还是这门Grokking the System Design Interview, 但凡提到准备系统设计,这门课都上入门必推的:

以及OOD: Grokking the Object Oriented Design Interview

这门机器学习面试指南是这个系列最新的课程:

目前市面上机器学习面试相关的课程比较少,这门课程应该非常值得!

还有这门算法课:

这门课程是一个算法总结提高的课程,它把算法面试中可能遇到的题分成了各种模式,每类题各个击破。


对算法最有帮助的课程对应下面这篇回答:


下面这个系列是新出的算法课程:通过解决大公司真实场景问题来破解算法面试。

下面是用Java的:

还提供了Python:

C++:

以及JS版本:



专门针对数据结构的课程则有:

C++:

JavaScript:

Java:

Python:

我上过其中的Java版本,课程是把数据结构里面的基础数据结构都用java实现了一遍,对于用java的同学特别有帮助,java的基础在刷题的过程中,还是要必须掌握的。


课程从复杂度开始讲起,Arrays,LinkedLists, Stacks/Queues, Graphs, Trees, Trie, Heaps, Hash Tables等数据结构,全都实现了一遍。而且还有配套的基础LeetCode题。是一个入门的很棒的教程。选择其他语言的话,内容应该也是差不多的。

项目Project

看到评论区问项目推荐,特意更新一下我自己跟着刷项目的网站。下面这个网站是Java全栈,从Java的基础,前端三件套,以及Java的框架,应有尽有。最好的地方在于,用不同的技术栈实现天猫全栈。这样跟着一套学下来,技术方面就不会太差了。

如果你想专门学前端,可以去Udemy找几个网课跟着寻练。

计算机的东西还是比较多,也比较杂的,但先从上面的六门课学起肯定没问题。


计算机的经典书籍,则可以参考这个回答:


共勉。




  

相关话题

  计算机本科能进互联网大厂的话,还有必要读研究生吗? 
  为什么大部分高校还在只教C/C++/Java,而不教更加强大的Rust/Go/Scala? 
  大一计算机专业怎么利用好寒假? 
  Johns Hopkins University的计算机(cs)专业如何,和卡内基梅隆大学的非纯cs如何选? 
  大学里计算机老师那么厉害,为何不从事薪资更高的程序员工作呢? 
  0基础开始,Leetcode200道题要多久左右? 
  计算机专业毕业后除了编程还可以做什么? 
  连小孩子都在学编程,报考计算机专业还有意义吗? 
  3个小时,用 C++ 写不出AVL树,有些迷茫,怎么办? 
  每天该如何对知识进行复盘? 

前一个讨论
35岁以后程序员都在干嘛?
下一个讨论
单单从产品的角度上看,同价位小米的旗舰机和华为的旗舰机哪个更加好?





© 2024-11-22 - tinynew.org. All Rights Reserved.
© 2024-11-22 - tinynew.org. 保留所有权利