程序员的呐喊 读书笔记

  摘要:《程序员的呐喊》一文,讲了三个部分的内容,笔者重点阅读的是面试的章节,以及总结,摘录重点之处。

1 该书的后记翻译部分,言简意赅,但是又突出了个性,说出了程序员该有的态度

  • 软件开发的方式多种多样,不存在谁好谁坏,但是他们互相都看不起  ——笔者注:哈哈哈,这个是程序员的通病,个个都很傲娇。
  • 好的程序员之所以出色是因为熟能生巧  ——笔者注:程序员需要多写代码,写得越多越出色。
  • 只要你愿意,随时都可以学习新语言  ——笔者注:事情不是因为难而不做。而是不做就觉得很难。
  • 如果你想当经理,那你很可能不会是个好经理  ——笔者注:当经验达到一定程度,也就顺理成章了。
  • Lisp很难掌握,但它是唯一能让我快乐的语言
  • Emacs很难掌握,但却是受益终身的投资
  • 离开舒适区,是不是学点新东西为自己写点东西,只有这样你才知道那是不是对的  ——笔者注:人需要一直保持警觉,贪念安逸是退休后的生活,我们还年轻,持续纠偏,或许这也是我写博客的原因了,说出自己知道的,挖掘自己不知道的,时刻保持一个空杯心态。
  • 多笑一点,这很健康,也让人感觉良好 ——笔者注:开心了,笑一笑,不开心,过一会儿,再笑,爱笑的人运气都不差。
  • 记得自嘲,不过不要再公开场合大声自嘲,也不要忘了解释 ——笔者注:拥有乐观的心态,肯定自己独特的一面,也要反省自己技不如人的一面。

2 作者写到了如何面试,准备很重要,所谓不打无准备之战,要么不战,要战必胜

2.1 非技术部分

2.1.1 热身

  长期热身:面试前复习1~2星期,好好读一本讲数据结构和算法的书,或者《算法导论》,至少能够识别问题属于哪一个类型,或者找一个朋友当面试官,充分热身才有最出色的表现。

  短期热身:面试前一晚一定要休息好。

2.1.2 心理准备

  保持谦逊、开明、专注的态度,要是卡住了,不要害怕问问题,有些面试官通常也乐意帮你清除一些障碍,尽力去完整的解答它。有时候可以和面试官确认自己是不是在正确的方向上。

2.2 技术面试

  算法复杂度

  哈希表

  树

  图

  高级算法

2.3 其他数据结构

  著名的NP问题,如旅行商问题和背包问题

  操作系统:进程、线程、并发、锁的概念、互斥锁、信号量、死锁、活锁、怎么避免他们、进程需要哪些资源、线程需要哪些资源、上下文切换怎么进行、操作系统和底层硬件是怎么触发上下文切换的等,推荐《Java并发编程》,道格.李

  附录:《程序员的呐喊》,美 Steve Yegge著,徐旭铭译,人民邮电出版社

  

猜你喜欢

转载自www.cnblogs.com/guobm/p/10434416.html