个人情况 我目前人在美国,是一名留学生刚刚毕业,计算机科学专业。

存在的问题 以下是我的问题:

  1. 数据结构的学习方法(刷题和概念的顺序)
  2. 如何牢记数据结构和算法(各种sort比较难记)
  3. 面试经常会问哪些数据结构?
  4. 目前全栈工程师发展前景怎么样?
  5. 对机器学习感兴趣,请问机器学习要学多久?要学哪些内容? 和龙叔聊完之后 1.数据结构的学习方法?如何有效的刷题?刷题和概念的顺序?

数据结构和算法是息息相关的。每当我们刷题的时候,首先想到的是用什么算法,也是解决问题的方法。

然而有了方法之后,我们需要考虑用什么数据结构去完成这些算法,数据结构就是我们在解决问题的方法中找到储存数据的结构。

好的数据结构能够提高算法的算力,提升算法在时间和空间上的资源利用率。

两者都需要找到最优化的方法(时间,空间)来编写最优秀的编程代码。

在一开始学习的阶段,先把大多数的算法和结构都搞懂,他们是如何实现的(思路),以及他们的伪代码。

这样再刷题的过程中用任何语言都可以应用他们。

2.如何牢记数据结构和算法?比如,各种sort方法。 任何算法都不需要死记硬背,只要清楚每个算法的概念、优缺点、算法思路就可以。

在工作当中,我们不需要死记硬背一些代码,开源会很大程度帮助我们完成一些日常开发需要的代码。

每个算法都要知道他们本身的特征,好处和坏处,以及应用场景。

举个例子,sort有很多种,那么我们要记住的是每个sort的特征是什么,以及时间和空间的复杂度,这样才能知道在什么情况下该用哪种sort方法。

3.面试经常会问哪些数据结构? 数据结构本身没有多复杂和难以理解,更多面试考察数据结构知识都是结合算法题目去问;根据项目中使用到那些数据结构去问,会问你为什么设计时要使用这种数据结构而不是其他的。

4.目前全饯工程师发展前景怎么样? 每个人对全栈工程师的理解是不一样的。对于我来说,全栈工程师不仅仅包括前端和后端的知识。

当我们只知道如何建立一个基本的网站(论坛),我们也许只是了解全栈的冰山一角。

全栈工程师的前景是非常好的,不过现在很多公司不会招一个全栈工程师。还是更多的倾向于求职者在某个特定的领域有自己的建树,其他领域都有些了解,类似这样的人才。

对机器学习感兴趣,请问机器学习要学多久?要学哪些内容? 感兴趣的东西学习起来时间会短很多,但是具体时间长度还是取决于自己的接受知识的能力,以及应聘职位的要求。

我是龙叔,一个用心分享互联网技术和心路历程的大叔