算法不扎实的程序员,每一个都很慌

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法不扎实的程序员,每一个都很慌相关的知识,希望对你有一定的参考价值。

参考技术A

初学者经常问这样的问题,然而这些其实是错误的问题。

对于初学者而言,你最应该优先考虑的是,哪些东西构成了程序的基础?

最经典的一句话: 程序 = 数据结构 + 算法

如果说编程语言是程序的血肉,那么算法就是程序的灵魂。

人不能没有血肉之躯,但是没有灵魂的人依然只是一个死人。

不能单纯依靠算法衡量一个程序员的好坏,但是面试的时候考算法绝对是简单高效的筛选手段。近些年大厂的面试几乎必考算法也是这个原因。每一个算法学的不扎实的程序员,在面试的时候都很慌。

下面这些书籍应该是算法方面最常见的经典书籍。我有幸都读过,有些读完了,有些半途而废,不过基本上也都算是熟悉。顺序上由易到难,从薄到厚,每本书下面我会简单的介绍一番,希望能对你的学习有所帮助。

首先是两本算法入门书籍,也可以当做算法读物:

《啊哈!算法》

用他的自我介绍的来讲:“这不过是一本有趣的算法书而已,和别的算法书比较,如果硬要说它有什么特点的话,那就是你能看懂它。”

图文并茂,而且画风有趣,适合新手入门,但是代码是C的,看着比较累,文字也略显冗长。

图是非常棒的,启蒙用,非教科书

《算法图解》

和《啊哈》类似,他的介绍是:“像小说一样有趣的算法入门书。”

书里面讲的很好,Python代码也很容易读懂,比之《啊哈!算法》,书中的例子没有那么有趣,但是图很清晰,文字和代码不冗杂。

缺点同样是非教科书,非常浅显,三四个小时就看完了。有一种刚刚热身的感觉。

接下来这几本都是最常见的书了:

《数据结构与算法分析C语言描述》

这本书的作者几乎不浪费笔墨在一些简单的地方。书很薄,但是覆盖面很广很深,作者实在是非常厉害。

不过反过来说,就是有些地方讲的语焉不详……

这本书还有Java语言版本的,但是相比之下C的更好一些。

挺好的一本书。

还有一点是翻译不是很给力,好多人都没坚持看完。

《数据结构与算法Python语言实现》

英文版评分非常高,中文版评分非常低……

据说是也翻译的不好。另外就是本书自身错误也不少……几版过后依然很多没有改过来。

书中数学证明和介绍比较简单。因为采用Python语言的原因,比较易读。

浅显易懂,内容上循序渐进,环环相扣。相比于上一本,我会更推荐一些。厚度也不算厚。

《数据结构与算法 Python语言描述》

北大教授裘宗燕的书,这本书前面写的挺好的,尤其是在面向对象还有ADT等思想的阐述,都很不错。

但是读到后来给我一种虎头蛇尾的感觉,前面气势如虹绪论就写了很长,最后三章感觉有点草草收尾的意思。就像编辑在催稿,而作者很忙的样子……

另外就是这本书的编排顺序我个人也不是特别喜欢。

接下来是两本大部头,都是非常厚的书。

他们最大的特点就是:出现率远大于看完率

《算法导论》

算法书中的权威,MIT的6.046J就是按照这个来讲的。

公认最好的算法书,组织结构合理,内容详尽。引导读者从思维方式上对算法进行领悟。

书中对算法的数学结构进行了详尽的阐述。有非常多的数学证明。

这本书我说不出什么缺点,只能说有些内容是因为我还没到大牛的境界,暂时还无法体会理解。

我个人的观点是:不要纠结于详细的伪代码,不用纠结于连篇累牍的讲解。体会其中算法的精髓就好。

《算法》第四版

如果说,《算法导论》是学术上最好书,那这本应该是实际应用最好的书。

它对数学的要求比《算法导论》低很多,摒弃了算法的证明。

书中具体给出了每位程序员应知应会的50个算法,深入浅出,大量图解。非常棒。

java基础的话你能撸出来Hello World基本上就可以开始看这本书了,这本书最大的不友好之处在于它的第一章非常长,没看过的人又不知道哪里可以跳过。

这本书后面的翻译感觉不如前边了,不知道是换人了还是DDL了……

翻开书就会看到很多的图,配套作者在coursera上面的课程学的话事半功倍!

接下来的几本我看的比较少,简单介绍一下,希望大家自己去发现和了解,不要漏下这些好书:

《编程珠玑》

很薄一本啊,但是我放在那还没看完……

这本书被称为: 历史 上最伟大的计算机科学著作之一

融深邃思想、实战技术与趣味轶事于一炉的奇书。

内容不深,但是不是一个知识点一个知识点的给你讲解算法原理的。

这本书的核心思想是让你了解如何正确选择和高效地实现算法。书中还有一些趣闻轶事,看着倒是很有意思~

有兴趣的同学可以看看~

《算法竞赛入门经典》系列

算法竞赛入门经典书,ACM必备书籍吧算是。书中题目对于竞赛来说比较简单,但是对于一般我们平时工程来说偏难。语言用的是C/C++,请好好做例题好好做作业,读书的时候好好思考和复习~

反正我是没读过,捂脸……

《剑指Offer》

这个书很有意思,对于在校生来说我个人觉得是必看的书。没有任何工作经验的同学在面试的时候真的会被问懵的。这本书可以让你了解如何应付考官日常问题,在解答面试问题的时候,书中很多方法和思路会让考官觉得你思考的很全面,给你加不少分。

我面试的时候也曾快速扫过一遍这本书,让我在回答问题的时候条理更清晰。书中代码是C的,emmm,于是代码部分我就没太看……

《用Python解决数据结构与算法问题》

最后给大家推荐一本在线的 免费 的算法书。

https://facert.gitbooks.io/python-data-structure-cn/

不是大部头,也不是读物,新手入门足够用,书中介绍了大多数日常需要的算法,并且讲的比较浅显~转行的新手基本可以通过这本书来快速掌握常用基本算法了~

反正免费,是否适合自己看两页也就get了~

如果需要PDF版,可以在“程序员必修课”公众号后台回复:“Python算法书”获取。

面试了一个47岁的程序员,我很慌呀


经常听到一些同学调侃,Boss不聘、前程堪忧、拉不上钩,简历投了上百份,好不容易收到的面试又一个一个被刷掉,这阵仗在互联网IT行业太常见了。

有个朋友,上个月准备从 Java 转做大数据,一个月过去了,一份面试都没约到,来问我怎么回事。


“我一看简历,深度不够,没有实战经验,更重要的是缺乏行业认知“


我们做大数据的,虽说是薪资高,但门槛也是高,这几年我陆陆续续面过不少人,对面人选人都算是有自己的心得,今天就挑一个年薪 30w 的大数据面试题,看看你能答上几到:


1、java虚拟机垃圾回收机制对大数据处理的影响

2、10亿条的数据,RDBMS束手无策时怎么用大数据搞定

3、分布式内存计算的优势有那些

4、spark的19个优化点


这几个问题都是我和青牛老师学来了,靠它们顺利通过了大数据面试。自从进入大数据部门我才深深的体会到了,做为程序员的真正价值:


 1、进入公司的核心部门,用大数据提高公司收入
 2、不用996既然也能拿到4个月的年终奖励
 3、再也不怕产品经理改需求了,因为最先折腾的指定不是我

都说跳槽是程序员涨薪的关键,但是能否够一够3W月薪或者提升自己的核心竞争力,技能的选择十分关键


如果你遇到了同样的问题,建议你拿出4个小时的时间,学习一下青牛老师大数据全栈工程师》的训练营, 只需要2分钱


话外音

0.02元入学!

原价值299元的集训,现在只要2分钱,很多内容全网首发


青牛老师是谁?


面试了一个47岁的程序员,我很慌呀


“海牛学院作为腾讯官方认证学院,已与多家企业达成大数据人才培养战略,目前已为企业输送上千名大数据高端人才,得到业界的高度认可”


课程介绍

课程价格:

原价299,本号粉丝前50名, 限时0.02元 

0.02元,让P8级的面试你也能听懂


仅限前50名

面试了一个47岁的程序员,我很慌呀
遇到扫码频繁,请再识别一次


课程时间6月4日-6月5日 20:00

训练营全程线上直播,只需0.02元,很多内容全网首发


训练营第一天:


1、推荐系统与互联网广告

2、什么是互联网广告策略

3、物品相似度算法公式讲解


训练营第二天:


1、物品相似度算法原理剖析

2、spark程序实现物品相似度算法

3、优化spark程序提升算法数据挖掘速度


   扫码领取学习资料:


扫码领取学习资料,本号粉丝前50名
遇到扫码频繁,请在识别一次

面试了一个47岁的程序员,我很慌呀
(内容的价值取决于您的行动,千万莫做收藏家)


   除此之外,参与直播上课,还有机会抽奖:


面试了一个47岁的程序员,我很慌呀






你们自己看 ↓↓↓  

师兄师姐都说什么?

当你的能力配不上野心,当你才华支撑不起梦想时,你能够静下来好好学习,执着于成长,那今天也许是你的丰收时光。一路有你,我们相伴!、

面试了一个47岁的程序员,我很慌呀


现在扫码,还有福利 ↓↓↓


    (1)咨询、报名本期训练营课程;

    (2)免费领取、实操学院私有云账号;

    (3)参与训练营,免费领取资料;

    (4)参与直播课程,免费抽奖


扫码领预习资料,仅限前200名
遇到扫码频繁,请在识别一次

面试了一个47岁的程序员,我很慌呀

(内容的价值取决于您的行动,千万莫做收藏家)


曾经我也和很多同学一样,面临职业的迷茫、技术的瓶颈。这次整理的课程和资料是多年工作的积累,希望能够帮助更多的同学。以后无论是技术问题、职场问题都可以与我交流,我们一起努力


面试了一个47岁的程序员,我很慌呀
这一刻不要做学习的旁观者
扫码关注,领取资料!



以上是关于算法不扎实的程序员,每一个都很慌的主要内容,如果未能解决你的问题,请参考以下文章

面试了一个47岁的程序员,我很慌呀

扎实打牢数据结构算法根基,从此不怕算法面试系列之007 week01 02-07 简单的复杂度分析

作为一个快30岁的程序员,面试碰壁,感觉内心很慌,对未来更是迷茫,有什么好的建议?

为什么程序员都很排斥面试时做题?答不出题的程序员会是大牛吗?

扎实打牢数据结构算法根基,从此不怕算法面试系列之001 week01 02-01 什么是算法?

扎实打牢数据结构算法根基,从此不怕算法面试系列之006 week01 02-06 循环不变量