自律使我自由

从来都没有完全的自由。

如果不加节制的放纵自己,大吃大喝、熬夜不睡、畅玩游戏,那么就会导致现在的状态,那就是肥胖、精神差、血脂高、颈椎病等等;

放纵,导致了恶果。

而如果想要身体轻盈、健康、精神饱满、激情四射,那就不能通过放纵来实现,而是节制。

如果做到了这些节制:
1. 不吃高糖、高脂、高油腻的食物;
2. 吃饭不吃过度饱;
3. 多次健康食物,比如粗粮、高蛋白;
4. 坐的时间长,就起来活动;
5. 经常做颈椎操,些许的锻炼;
6. 经常散散步走走路,可以尝试快走,做做下蹲和俯卧撑;
7. 少熬夜;
8. 减少趴着睡,伤颈椎,可以用冥想的方式休息;

那么逐步的,我会收获这些健康:
1. 身体的指标回归正常,比如高脂、肥胖;
2. 精神状态变得饱满和有活力;
3. 更加的高产、学习的更加快;

我很向往有一天,自己能身体轻盈、放松自在;

而这,需要节制来实现,而不是放纵;

放纵只能获得当前的满足、过后就是恶果和痛苦;

当前的节制,却能换来将来长期的健康和快乐。

自律使我自由;
当前的自律,带来长期的自由。

听樊登的《非暴力沟通》

最近在爱奇艺知识买了课程《樊登教你快乐地事业有成》,第一节是《樊登:非暴力沟通》,看完后觉得自己有一些感悟。

自己的感悟:

我们总是太喜欢评价、评判别人

不论是别人主动寻求你的帮助,或者你觉得自己是前辈想要指导一下对方,我们总是喜欢评价评判别人或者给别人建议,然而每个人的世界观不同,有什么资格评价别人呢,这都是不对的,如果对方寻求安慰向你倾诉,真正应该做的应该是体会对方的感受。

就像有一句话:如果你不要求我给你评价,那我绝对不能所以评价。

人类智力的最高形式是表达事实

这句话在视频中樊登说过,挺惊讶的,不过仔细体会却觉得非常有道理;因为我们活在自己的世界里,所以看世界总是带着自己的人生观,这时候跟别人交互,其实说出的事实往往不是真正的事实,那么也就难以理解别人的感受。

对于一件事情、先仔细体会其中的事实,然后把事实表达出来,这其实很难,可一旦这样阐述正确了,别人的愤怒、质疑等等任何情绪,起码在这一事实的表述上,不会爆发,并且因为同意你的说法,情绪也会有所安抚;

很喜欢非暴力沟通的四要素

这四要素很精辟,观察事实、表达感受、表达需要、表达请求,尤其是用于和孩子的沟通,不能愣头愣脑的评价孩子、建议孩子,首先得知道孩子为什么会这样,还在当前处于什么感受,然后在表达自己的想法、需求,但这里的想法不要是评价。

不论是任何人,你评价他,就会给他带来伤害,他就会反弹;毕竟,你有什么资格、你凭什么觉得自己比人家厉害去评价他?

视频的重点摘抄:

暴力的来源:

  • 道德批判
  • 一味比较
  • 回避责任
  • 强人所难

非暴力沟通四要素:

  • 观察:事实而非评论
  • 感受:表达感受而不是想法
  • 需要:说出引发感受的需要
  • 请求:说出你的具体要求

倾听:

全身心倾听,给予必要的反馈

愤怒与感激:

  • 表达你的愤怒
  • 重获生活的热情
  • 表达感激

有感兴趣的朋友可以评论或者加好友交流。

我为什么从工程转了算法?

一句话总结下:年龄大了,总想让自己做的事情有意义点,所以想让自己写的代码对产品有更多的影响、可衡量的影响。

1、我发现自己的JAVA开发和大数据业务处理对产品影响甚微

我自己工作快7年,工作主要有两个方向:

A – JAVA后台业务开发

来什么需求做什么开发,增删改查,接消息发消息,因为之前做的是公司商业运营部门的需求,面向公司运营市场人员,不直接面向普通用户,系统访问量特别低,往往一天几千个访问量很不错了,这也导致出去面试的时候别人问我系统QPS有多少,我真是不好意思说是不到两位数;

B – 业务大数据处理

现在做业务的都要看数据,毕竟数据能反映业务的状况,一旦涉及数据就不只是mysql里面的那些少量数据,往往需要查一下各个渠道来源的流量之类的,这就要去查公司级别的数据仓库,而他们每天的数据量每天几十上百TB,不用HIVE/SPARK这些大数据技术搞不定,但说到底就是SQL取数做个图表出来,出去面试人家问大数据建模方法论、怎样实现跨业务的统计指标统一我照样是一头懵逼;

虽然我知道JAVA的后台服务开发确实可以往后发展,但是我没有接触到高并发这些难度大的方向;而大数据业务处理虽然只是出了一些报表,但是我自己却没有分析报表的能力,报表也是老大们看他们根据什么数据拍了什么板我也不知道。

这两个方向都让我觉得有种不那么精准发展的感觉,如果我对别人说自己的职业发展方向是JAVA,恐怕别人会觉得你是随着业务走什么都得干,称作"方向"有点虚虚的,同时它俩都是非常间接的影响着业务,或者说影响很微小,缺少了那么点"意义"。

2、对数据相关的学习,让我关注到数据分析和数据智能领域

大数据领域这么的火,它真正的对产品业务有哪些影响呢?

上面我整理的图表是我的理解,数据仓库、数据报表其实都是基础技术,只是工具或者手段,属于公司的基础技术部分,这两层的技术其实就像在打造一把刀,然而刀怎么用却跟这两层没关系。

你跟别人说你是搞大数据的,被人怼你就是个取数的,你能反驳吗?

再往上层走,是数据分析,通过数据分析,能够发现产品的问题、发展的趋势等等,然后影响产品的往后发展,但是我们开发人员其实跟这层也没有关系,因为分析的目标是决策,而我们码农并没有决策权。

最上层数据智能,我指的推荐、搜索、用户增长等各个算法领域,搜索算法造就了百度谷歌、推荐算法造就了头条快手,用户增长领域是所有产品都要核心关注的事情,而这个领域,我们写的代码能真正看到对产品的影响,也能用线上点击率、购买率等真实有效的指标衡量。

所以数据智能这一层才是我想要的,也是我觉得可以定准的方向。

3、说是转了算法,其实是实现了算法在业务的落地

没有足够的耐心,真的读不懂算法论文里面的公式,到现在我也没法手推算法公式,不能算是真正的算法人员。

然而我却发现,我的目标是“让自己的代码给业务带来更多直接的影响”的话,潜伏在业务团队中、能快速运用成熟机器学习算法框架让算法落地上线产生线上价值,反而走对了。

听很多人都说过,现在缺的其实不是研究算法的人,而是将算法结合业务落地的人才,吴恩达在他的视频课程中提到,他讲的算法虽然很基础,但是能搞定80%商业公司的需求;

仍然在业务中做算法,实现在业务中的算法落地让我的代码真正产生对业务的影响才是我的目标,让我去专门的算法团队,一是我写不了算法公式去不了(哈哈),二是去了离业务远了点也违背了我的初衷。

4、其实掌握算法技能,本来就是搞工程将来必备的要求?

人恐惧的经常是对未知的恐惧,接触了算法领域,我才发现并没有那么的高深恐怖不可接触,各种机器学习深度学习框架,比如sciketlearn、tensorflow、paddlepaddle等,完成一个简单的CTR排序模型,只要简单的几十分钟就能参照教程实现训练。并且几乎所有的所谓算法人员,并没有从零实现一个算法发明一个算法,都是直接修改现成的模型代码,做各种的数据获取、数据处理、特征提取等事情。

体现算法能力能力高低的,变成了一是这个人是调参圣手,第二就是这个人能把算法很好的结合业务落地,数据智能这一层因为是顶层,会依赖大量的底层技能,下层的pingback、业务数据、数据仓库、数据分析、JAVA开发与架构能力等都需要涉及,如果团队人少的话(就像我一样)所有的事情你都得干,这一层其实需要极强的工程能力,这方面专门搞算法的恐怕没有工程出身的玩的好。

要将算法在业务中落地,更多的还是得靠工程开发人员,这方面也会越来越侧重,而专门的算法团队做一些基础设施、提供算法平台恐怕是更有可能发展的方向。

人工智能越来越火,算法框架越来越简单,学习成本门槛越来越低,等越来越多的工程都会算法,面试一个JAVA程序员时必问算法落地能力时,懂得算法就是一个程序员的必备技能,而不是加分技能。

关注这个公众号,一起学习吧哈哈!

打工者心态、主人公意识、个人公司品牌

作为一个雇员,我们拿工资养活自己,应该秉持着什么样的心态工作呢?

打工者心态要不得,他们认为做多少工作就应该发多少工资,发多少工资才会做多少工作,三天敲钟两天敲鱼,没有规划没有激情,对于不属于自己职责范围的事情,必定低头拒绝,更不会积极的包揽一些灰色地带的事情来负责。人生只有一次,时间过去就不会复返,这种心态浪费生命浪费精力,实在要不得。

主人公意识最为强大,把公司的事务当做自己的事务,任何事情都想过问以免出现差错,除了做好自己的事情,别人的事情也要督促和激励,做任何事情都是为了公司的利益,每天上班时间8个小时,他工作14个小时也不会觉得累,因为有激情,因为他自认为是公司的主人。但是现实是你并不是公司的主人,公司会在动荡期间把你这个主人给裁掉,那为什么要自欺欺其人做这个公司的主人?

其实不论做什么事,我们要秉持的,是个人公司品牌。

虽然只有一个人,但是要把自己当成一个公司来看待,这个公司只有自己一个员工,它对外提供的产品是软件开发和软件资讯的服务,自己就是这个公司的主人,自己做的任何事情,都需要以个人公司的品牌为其负责。

而这时候所在雇主公司,其实是个人公司的合作公司,个人公司为合作公司提供了自己的产品。

一个公司想要持续的活下去,必定一直需要有危机意识,竞争太激烈,淘汰很残酷,如果不比别的公司提供更好的产品、更好的服务、更好的合作,那么被取代是非常必然的事情,个人公司品牌也要秉持危机意识,对事情要积极面对,对苦难要迎难而上,只有比别的公司更好更强,才能活下去。

一个公司当然要不断提升、打磨、创新改进它的产品,因此,一个程序员,要不断的学习新技术、深挖现有的技术,这样合作公司在需要外部公司提供服务的时候,我们才能立于优先的境地。

一个公司也要注重营销,如果一个公司宣称它对外的广告只是一纸简历,你是不是也会认为合作公司了解它的机会、选中它的机会低的很多。因此个人公司既然成立,我们的目的就是为了销售产品,卖的更高价格,我们也要打好广告,除了那纸简历,我们可以使用博客、演讲、视频课程、写书、社交等各种方式推销自己,进而在下次出售产品的时候,能有更多的知名度;

一个公司既然作为独立的个体存在,那么绝对不能滥竽充数,在合作中当然会负责一块具体的事务,搞砸了自己完全负责,因为合作公司当然有机会替换一家其他的员工来做你这个号称个人公司做的事情;

一个公司除了销售自己的核心产品,为了抓住用户,经常使用赠品、促销的方式来增加销量,那么个人公司当然也不能只提供自己得软件服务产品,也会提供一些额外的奉送,比如负责合作公司的面试、提供一些技术培训、负责一些预算等事务。

人生苦短,要有所为,对于很多事情,往往是因为我们没有一个正确的心态来应对,所以出现很多偏离。正所谓心态决定一切,我们不能有打工者心态,但除了创业也无法真正拥有创业者心态,那么我们可以树立个人公司品牌,随时将创业者合作者的心态融入自己的工作中去,这时候会发现,并不存在以下一些消极想法:

  • 为什么要学习,现在的技术够用了!
    • 你可是一个公司品牌,合作者公司如果有更多要求,当然会和你解除合作,选用其他产品更新更好的公司;
  • 这不是我的事情,不是我的分内之事!
    • 公司为了买东西还有赠品呢,买个煎饼果子送个豆浆来提升销量,有什么问题吗?
  • 只要我的技术强,去哪里都能去!
    • 拜托,你的技术强,可是别人知道吗?去面试的时候,只带上那么两页简历,短短的2到3个小时,你觉得能完全表达你自己吗?就能获得新的职位合作吗?你应该在之前就通过博客、演讲、视频、写书、社交等各种方式,打出了自己的品牌和产品影响力,这样才能赢得合作;

从今天起,我就是个人公司的董事长。

Stay hungry, Stay foolish

即使穷尽一生的精力,我们又能探索到世界的多少精彩?

要永远保持饥饿,不要停止永远追寻和追求的步伐,去探索现实世界和精神世界的未知领域;

要永远保持傻逼,对一切保持敬畏、卑微、虚心,只有从山脚出发往上攀登,才能领略到沿途的美丽风景;

 

这两句话,有两种翻译:

1、中式翻译:求知若渴,虚心若愚

这是典型的受儒家价值观影响而导致的翻译错误,在中国文化里,知识很重要,虚心是一种美德;

2、西式翻译:永不知足,我行我素

然而在西方文化里则完全不同,它鼓励冒险,张扬个性。纵观乔布斯的人生哲学,这两句话应该理解为:“永不知足,我行我素”。只有这样才能理解西方文化的精髓和乔布斯一生的追求。

 

 

文章来自:http://crazyant.net/1964.html

工程师的月亮和六便士

《月亮和六便士》是英国作家威廉·萨默塞特·毛姆的三大长篇力作之一,完成于1919年。作品以法国印象摄画家保罗·高更的生平为素材.描述了一个原本平凡的伦敦证券经纪人思特里克兰德,突然着了艺术的魔,抛妻弃子,绝弃了旁人看来优裕美满的生活,奔赴南太平洋的塔希提岛,用圆笔谱写出自己光解灿烂的生命,把生命的价值全部注入绚烂的画布的故事。贫穷的纠缠,病魔的折磨他毫不在意,只是后悔从来没有光顾过他的意识。作品表现了天才、个性与物质文明以及现代婚姻、家庭生活之间的矛盾,有着广阔的生命视角,用散发着消毒水味道的手术刀对皮囊包裹下的人性进行了犀利地解剖,混合着看客讪笑的幽默和残忍的目光。
六便士是当时英国货币的最小单位,有个朋友跟毛姆开玩笑说,人们在仰望月亮时常常忘了脚下的六便士,毛姆觉得这说法挺有意思,就起了这个书名,甚是开玩笑的语气。月亮代表高高在上的理想,六便士则是现实的代表。

工程师的六便士和月亮

软件开发者或者成为工程师,属于工程技术人员,做的是再也具体不过的事情:确认需求、开发、测试、上线、运维,都是一件件的实事,同时关心的也都是六便士的事情:职称和薪资,对于工程师来说,眼中很容易的全是六便士,对于我们来说,有月亮吗?有梦想吗?有追求吗?

如果工程师也有月亮,也有远方,也有梦想,也有追求,那它是什么?

思特里克兰德开始的时候,是一位伦敦证券经纪人,拿着并不低的薪水,有着大房子、漂亮的老婆和两个孩子,生活水平处于社会的中层,只要他努力打拼,生活会更优越,然而对他来说,这些都是物质意义上的六便士,难以满足自己精神上对艺术的追求。而令人佩服的是,他会突然地放弃所有,放弃温暖舒适的的房子、放弃每月宽裕的薪资、放弃温柔体贴的老婆和天伦之乐的家庭,从物质生活中脱离,完全投入到自己的精神追求中去,即使混沌潦倒、即使受尽挫折,但他并没有感到后悔和不适,反而一步步的靠近自己的月亮最终拥抱自己的月亮。

对应到原著,六便士代表的是物质的追求,而月亮代表的是精神追求。精神追求会带来比物质追求完全无法比拟的满足。

如果将月亮定义为精神追求,工程师应该追寻的是什么呢?也许是规划完架构、实现功能、圆满交付所带来的成就感、也许是别人认同的满足感、也许是在各方利益和谐协调带来的认同感;

如果将月亮定义为理想追求,工程师的目标是什么呢?也许是做出人们需要和依赖的产品、也许是成为领域不可替代不可或缺的大牛、也许是团队前进的精神领袖,但这些好像都不是理想,困惑~

我该怎样选择

现实的压力让人们不得不面对六便士,一直低头走路,忘记了抬头看月亮。

人们因为房贷、买车计划、育儿目标,不断的将头埋得更低,更加关注金钱和现实,变成一个物质机器,日复一日、年复一年,最终回过头来,发现自己有了房子、有了车子、孩子长大了,可是自己呢?几十年都在埋头苦干,就像车轮压过一条条公路,最终是在原地转圈圈,自己的精神领域,好像一直那么的贫乏。

在人生的路上,不只有物质的追求,不只是追求高高的薪资、大大的房子、漂亮的车子、优越的地位,更能带来满足、更能带来成就感、更能让自己老不后悔的,是精神的追求。

对于佛陀来说,放弃了一切物质,哪怕身上衣不遮体,但是精神修为达到了圆满,这才是终极的追求和自我实现。

对于这个精彩的、未知的世界的探索和精神上的修炼领悟,才是在低头看着六便士的同时,需要抬头追求的月亮。

看书、健身、沉思、音乐、冥想、交流、修炼。

不要做物质的奴隶,要做精神的主人。

《解忧杂货店》- 解答心中已经有结论的疑问

873b6ba5528c49e60860b7e8563092f8

《解忧杂货店》看完后感觉非常的温情,围绕一个孤儿院相关的人,叙述了各自不同的悲剧喜剧故事,情节离奇又前后吻合,第一次体验了东野圭吾的严密逻辑。

每个人都有烦恼,相对于局中人来说,问题都难以解决,比如他们的遭遇:父母生意失败跑路、男朋友快离世却坚持让自己参加奥运会、太缺钱以至于很想去酒店坐台、继承鲜鱼店和成为歌手梦想的冲突;

他们很幸运,能有一个杂货店的老头和未来的人,给了他们最直击人心痛快淋漓的解答。

但是对现实中的我们来说,没有人会有这种机遇,会遇到各种抉择、烦恼、困苦,但是我想说,其实大部分的选择,不同的道路都有其理由,毕竟人生没有什么绝对的对与错,对大部分的事情来说,自己往往都会有倾向的答案,然后收集不同的资料、看法,修正自己的答案甚至重新选择;

有时候向他人的询问,往往是验证自己的答案,或者想听到相反的想法从而从反面印证自己的答案;

不能做一个笨的人,要做一个深入思考的人,就像雄志一样,不要敷衍不要抱怨不要应付,要沉下心来,忘记自己,深入的思考,探究问题的答案和解决方法。

 

做设计就像创世界

最近读了本都市YY小说《重生之小说巨匠》,小说前部分、中部分都写的挺好的,结尾感觉有点弱势,作者很取巧的将金庸、莎士比亚、哈利波特等经典人物书籍引入,通过书籍的简单介绍和造成的世界轰动衬托出主人公很牛逼的效果,而其中作者对怎样写小说的思考很有趣。

作者提到,小说题材无限制,你可以创立一个完全虚幻的世界,在这里世界里你就是神,你可以定义任何东西,比如生物除了人还有妖精、比如天上有2个月亮、比如植物也会说话,但是你要保证创立的世界的完备性,如果你定义这个世界每天只有23小时,那么在小说的任何地方,你都不能忘记缺失的这一个小时。创立的世界要符合逻辑,要自己圆的通所有的关系和逻辑。

做设计也是一样,设计的目的是为了解决某个问题或者实现新的功能,问题和新的功能往往有核心的需求,实现了核心的需求相当于已经达到了目标。但是一个问题的解决、一个系统的运行,往往不只是几个核心的功能,也需要包括额外的设置、衍生关系等逻辑。比如为了实现系统的灵活性,引入了灵活的配置功能,同时把配置数据使用到了核心模型之中,那么一定还要记得配置的修改会导致核心模型数据的变化,(配置、核心模型、配置和核心模型的关联)这三者的设计思考缺一不可。

一生二、二生三、三生万物。系统的完好运行是一种平衡状态,需要任何一方的协作完成。如果想要打破这种平衡,就会引入一个新的变量,就像平静的湖水中扔进了一个石头,从石头落点开始,水的涟漪不断扩散,引入的这个变量会导致系统各个组件受到影响,它们的交互关系,它们的影响逻辑都会随之改变。从变量本身出发,思考它会影响到哪些模块,这种方法经常会导致缺失考虑,改成从整体上浏览整个系统任何一个模块,每个模块都思考引入这个变量会导致的变化,才能做到完备考虑。又例如战场的将帅正在指挥战斗的进行,如果要想出一队奇兵改变战局,那么战场上所有的分队都要接收到消息并调整自己的战斗策略,不然奇兵会变成孤军深入没有响应配合,对战局的影响也就没有达到奇的目的。

平衡是落后的现状,也是改变的目标。要让系统更加灵活、拥有更完备的功能,必须打破原有的平衡状态。这个过程是痛苦的,会引入各种各样的问题,但是解决问题、全盘思考、克服困难本身就是一种乐趣和成长,也只有跨越了这些绊脚石之后,才会体会到成就感和生活的意义。

设计的目的就是创建一个完备的世界,这个世界任何逻辑都是相通圆满的。

从产品和技术的对比想到的

一想到产品与技术这对关系词,就联想到一大片的对比概念:

  • 阴和阳
  • 文科和理科
  • 冲动和冷静
  • 内功和外功
  • 外表与内在
  • 能力和素质
  • 道德与科学

其中一个词代表内在,而另一个代表外在,没有内就没有外,而只有内却无法成型。

一直都是技术出身,不知道产品是什么意思,学校的时候有个技术社团招收技术和产品两个方向的团员,感觉技术才能积累,才是自己的,才能够创造财富;而产品是虚的,没什么积累,就好像是这个时候会灵机一动,下一时刻就一片空白,我才不要产品,因为有技术,我才不会恐慌,才不会害怕,就好像手里握着锄头,才会觉得自己不会饿着一样。

工作一年多了,我才发现技术只是手段,只是达成目的的工具。而一切的运行技术能解决的,只有好少的一部分。

  • 分歧和冲突的处理
  • 问题的解决方案
  • 文档的遣词造句和写作技巧
  • 交流的技巧和说服的方法
  • 时间的管理和节奏的把握

这些全是在技术之外,但是却占用了大部分的时间,关键的问题在于,别人对你的评判和认定,都是靠这些“虚”的东西,而不是技术来进行的。

回到产品和技术,我终于领会到,只有技术自身的灵机一动做出来的东西是完全不能成为产品的。开发者做一个东西的动机往往不是因为某个需求,而是因为他觉得自己拥有的技术能做出来什么内容。而第二个方面,则是即使开发者做出来一个像模像样的东西,没有推广营销,再好的东西只是闭门造车,也成为不了大众接收的东西。

产品就是美观、广告、周知、实用的代名词,它的目的就是为了解决实际的需要而产出,它可以做到极致的美观和简洁,这样所有人能从中受益。

这一切都从乔布斯传中感到了强烈的震撼,乔布斯不懂技术,他是个产品经理,但他做出了最伟大的技术产品。他的做法是从产品出发,以要做什么出发,将外观设计到极致,将简洁发挥到不能再简洁,然后再督促技术以产品的设计为目标来实现。对于用户来说,产品才是他们能接触到的,而使用了什么技术,运行的是什么高深的代码,都没有关系。

从今天开始,多晒太阳,多徒步行走;

从今天开始:

  • 更多的关注产品
  • 更多的关注素质
  • 更多的关注思想
  • 更多的关注外在
  • 更多的关注写作
  • 更多的关注交谈

一切在于调和,不能顾此失彼,产品和技术,他俩是一对双胞胎,正如阴和阳。

本文地址:http://crazyant.net/1459.html

给计算机专业求职的同学推荐几本书

计算机专业应届生,每年9月份到11月份是找工作的黄金时期,9月中旬开始互联网都开始到来,第一波是大型互联网公司,例如百度腾讯阿里巴巴,之后是很多国企研究所,最后是中小型公司还有银行等。因为第一波可以称之为最重要的一个时期,这时候开始复习就晚了,因此推荐从4月份开始复习,4月份很多公司来招实习生,这时候都要去试试。复习的时期最好系统的看几本书,本人找工作只针对互联网公司,因此推荐一些找这类工作的书目:

1、《编程珠玑》

这本书很薄,20多元钱就买到了,可是很多人买来都不看,因此错过了最经典实用的好书。刚开始复习推荐看这本书,它里面都是各种问题巧妙的解答和运用的思想,这些思想在面试的时候任何情况下说出来都显得很有水平,同时能借助你进行发散思维解决新的问题,书里面涉及了海量数据处理、算法优化、预计估算、深入的理解堆排序等各种内容,这些在面试中每次都会遇到,同时它给出的深度和对读者思维的影响是其他书无法给出的。

2、《大话数据结构》

刚说完了深度的书,这里却给出了一本较为浅显风格的,大话系列言语轻松,只是对知识有较为简单的陈述,但是可以让你从系统上整体的把握整个数据结构的知识,阅读这本书之后,读者会对所有的数据结构有所理解,之后觉得哪个部分还不是很深入理解,可以再参考其他的资料,因此本书推荐速读整体把握,不要死抠细节。

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

黑皮版的那本,因为是翻译版本,有些句子难以理解,很多知识都是理解了好多时间才能掌握。等理解了会发现它讲的特别深刻。在笔试面试中,有个考的超级频繁的知识点,那就是“堆”结构、堆排序、堆的应用,对于这个知识点,需要把前三本书该部分都理解透,甚至横向比较才能最终掌握,才能在面试中实现发散思维提出新思路。本书作为参考书,不建议全读,如果某个知识点不是很深入理解,可以读读那一部分就可以了。

4、《编程之美》数据结构部分和数字数组部分

微软一名同学所作,享誉多年,里面的一些题目广泛出现于大型名企的笔试面试中,《编程之美》中的很多题目都非常巧妙,有些问题你如果没看过答案自己根本想不到解决方法。因此这本书标题写的两部分是必读不可。往往你在笔试题面试题中会遇到很多原题,当看过的同学刷刷写出思路,你却一头雾水时,为时已晚。

5、《剑指offer》全本

这本书简直就是一个BUG,因为它相当于一个题库,你所有在面试中遇到的题目,都可以往这上面的一些问题解答思路上凑,总共给出的几十道题目,几乎涵盖了所有会考察的部分:数组、链表、树、海量数据等等。而本书另一个神奇的地方在于,它给出了一些面试官的心理看法,比如写代码要慢些工整写,遇到指针一定要检查是否为空指针等等,虽然有些取巧,但是你学会了这些检查,笔试面试通过的几率会大很多。

6、《C和指针》全本,建议细读指针部分,速读其他部分

因为很多同学都是计算机专业出身,最开始接触的都是C语言,这本书只是扫盲作用,把一些角落的知识点重温一遍即可。同时笔试面试大部分用的写的都是C程序,所以再次复习很有必要,有些语法细节忘记了就很不好,比如宏定义、函数指针等部分。而指针部分则是体现一个程序员内功的部分,这部分要细读,因为笔试中会高概率出现。

7、《C++ Primer 4th》,建议全本阅读

这本书里面的知识非常全面,同时又很琐碎,很细密。边边角角往往会给出一些很珍贵的只言片语,对本书全读后会整体上对C和C++有较多的把握,并且一些STL、模板、函数指针等等面试中问到了你都会一些,通过的概率就会更大些。还有指针部分、模板部分、STL部分也写得非常细致,会对笔试面试有较多的帮助。

这些书其实已经不少了,因此我自己整体上只看了这么基本,有几本只是阅读了部分章节。然而感觉覆盖面已经足够了,在笔试面试中即使不是很熟悉,也能答上一些,笔试面试中还会考到一些设计模式、Linux、操作系统的内容,这些部分需要自己鉴别,哪方面弱就去网上找些文章来看就行,毕竟考的不是很多。

本文地址:http://51projob.com/a/bishimianshi/qita/2012/1113/1242.html