博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
品味《编程之美》
阅读量:4129 次
发布时间:2019-05-25

本文共 1303 字,大约阅读时间需要 4 分钟。

 

         早就在CSDN上看到孟岩推荐的《编程之美--微软技术面试心得》这本书,当从吴淏手中接过来,看完序言,我就被吸引住了。

         开篇的《面试杂谈》用一个小故事让我对微软、对面试有了更深的了解。面试并不一定是用难题、偏题、怪题来考到对方,笔试和面试考察的都是自己在编程、解决问题、与人合作等方面的全面能力。

         网上经常流传着一些诸如“井盖为什么是圆的”、“海盗分金币”的微软的面试问题,现在再回想这些问题的时候,才明白它其实是更深层次地去引导发现问题,去分析问题和解决问题。

《编程之美》集中展示了高水平编程面试题目,它不仅仅授之以鱼,更是授之以渔。对每个问题都以启发性方式进行了权威详细的解答,并给出多种方法。和其他的讲述算法和数据结构的书籍不同,它不是讲解一些计算机和程序设计的理论知识,而是通过分析讲解实际生活中的一些问题,将其抽象为计算机程序设计问题,并找到最优算法。这种学以致用、举一反三的态度正是一个优秀的程序员所必备的。

在来微软之前,跟着老师一起做了企业的门户网站,总感觉做网站就是拖拖控件、使用提供的类,“实现”要求的功能,觉得大学里的数据结构、算法并不是那么重要。看到《编程之美》的实际的问题,想想当林春面试的时候,给我讲语言、运行时、SDK,当需要在数据量相当大的时候如何读取所需的数据,进行查询……我才明白在解决实际问题时,只有在可接受的时间或空间约束条件下的实现才是真正的“实现”,这时就充分体现出基础的重要性,这些都是建立在良好的程序基础和逻辑分析基础上的,而微软的面试也必考C语言,我想或许也是基于此。

在刚看到“让CPU占用曲线听你指挥”的题目后,看完要求,本能的反应就是先Google一下,这是一种方法,但是对于学习而言,这并不是一种最好的方法。应该首先分析一下问题的所在,这也是这本书教给我,印象最为深刻的。关键不在于答案,而在于思考问题的方法。这时就使用到了“操作系统”这门课的内容,反映到程序中,不就是进程的相关知识吗?但是如何去实现,那就要查阅相关的文档,在第二种解法中,我们就可以看到使用.net framework performanceCounter对象,方便的得到当前CPU的使用率,这样的学习方法,更全面的了解一个对象,以后遇到此类问题也都会有一个思路了。

在“构造数独”的问题当中,更多的使用数据结构中的内容,设计什么样的数据结构存储数独游戏中的各种元素?如何得到可行解?真的感觉“书到用时方恨少”,在学校学习数据结构的内容的时候,仅仅停留在一知半解的基础上,根本就没有做到活学活用,更别说用来解决问题了。

Learn how to learn, 是我最需要的。知识本身是没有价值的,只有把知识用来解决问题才能创造价值。

书中对题目的剖析,通俗的文字,巧妙的思路,简明的算法,严谨的数学分析,让我充分感受到“编程之美”,也知道了自己距离真正的优秀的程序员还有很大的差距,正如沈向洋博士在序言所说“程序虽然难写,却很美妙”,“编程很辛苦,但是很有趣”,Nothing replaces hard work唯有不懈的努力,才能尽情享受编程带来的快乐,享受思考的快乐。

 

转载地址:http://umzvi.baihongyu.com/

你可能感兴趣的文章
X-Code 报错 ld: library not found for -lAFNetworking
查看>>
Bitcode
查看>>
If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
查看>>
3.5 YOLO9000: Better,Faster,Stronger(YOLO9000:更好,更快,更强)
查看>>
iOS菜鸟学习--如何避免两个按钮同时响应
查看>>
How to access the keys in dictionary in object-c
查看>>
iOS菜鸟学习—— NSSortDescriptor的使用
查看>>
hdu 3787 hdoj 3787
查看>>
hdu 3790 hdoj 3790
查看>>
hdu 3789 hdoj 3789
查看>>
hdu 3788 hdoj 3788
查看>>
zju 1003 zoj 1003
查看>>
zju 1004 zoj 1004
查看>>
zju 1005 zoj 1005
查看>>
zju 1006 zoj 1006
查看>>
【虚拟机】虚拟化架构与系统部署(Windows系统安装)
查看>>
字节跳动安卓开发实习生面试分享
查看>>
好书分享之——《能力陷进》
查看>>
阅读笔记《c++ primer》
查看>>
阅读笔记《C++标准程序库》
查看>>