php

php

php相关问题
html+css

html+css

JavaScript

JavaScript

js,jquery,vue.js等
Linux

Linux

Linux操作系统
Mysql

Mysql

各种资源

各种资源

开发工具,手册等
就业指导

就业指导

UI设计

UI设计

教学视频分享

教学视频分享

推荐几本程序员都应该读的书籍

各种资源赵老师 发表了文章 • 0 个评论 • 240 次浏览 • 2017-10-18 16:35 • 来自相关话题

书籍是知识和智慧的重要来源。但不幸的是,现在很多人已经不愿意看书了。程序员更是罕见地会去读书,最常见的依靠互联网搜索结果来找寻答案。
  技术向前的步伐比人类历史上的任何时候都要走得更快。用不了几个月,就会有新的编程语言和工具问世,弥补现有语言、工具和方法的缺陷。
  事实上,许多伟人都已经遇到过差不多的问题,并指出了解决这些问题的最佳途径。而这些方法和解决方案都收录在一些超棒的书籍中。
  下面就是在这个行业中开发人员应该阅读的一系列书籍。

《The Pragmatic Programmer》

  绝对是书籍中的瑰宝!这不是常规地建议你编码,编码还是编码的编程书。事实上,它并不限定于某种特定的编程语言:在这本书中的智慧适用于所有编程语言。
  这本书不仅可以帮助改变编码的习惯,还可以改变你作为一个程序员的性格。它充满了关于如何改进自己和代码的实用建议。
  还有一个总结了提示和检查清单的小册子。
 
《The Mythical Man-month》: 关于软件工程的散文集
 
  非常经典,被奉为软件行业的圣经。第一次出版于1970年,但是里面的内容比起以前,可能更适用于现在!
有听说过这些话吗?它们均摘自于这本书!
“所有的程序员都是乐观的:一切都会顺利。”
“添加人手到一个延迟的项目中只会导致完成得更慢。”
“生一个孩子总是需要九个月的时间,不管安排多少个女性。”
“一个煎蛋,承诺在两分钟内完成,但如果两分钟后还是没有准备好,那么客户有两种选择——等待或吃半熟品,软件客户也只能这样选择。”
  正从标题中所说的那样,这是一本散文集。文辞优美。这本书唯一的缺点就是引用了年迈25的古老技术。但是,这并不影响这本书的魅力。
 
《Clean Code》: 敏捷软件工艺的手册
  有没有在看他人代码的过程中,不由自主地发出“哦,天哪,这是什么?”的经历,那么这个人肯定没有阅读过《Clean Code》。
  这是一本关于软件工艺史诗般的书籍。这本书不仅会告诉你如何编写好的代码,而且还提供了软件开发的高效途径。照着去做的话,必将改变你的工作前景。
  书中描述了编写干净代码的原则、模式和做法。里面一些关于整洁代码的几个案例都是开发人员宝贵的经验教训。
  请注意,虽然在这本书中的所有实例都是关于Java的,但是从中学到的经验教训可以应用于任意的编程语言。
  这本书出版得比较晚,所以可能更能引起年轻开发人员的共鸣。
 
《The Clean Coder》:专业程序员的行为守则
  此列表中Rob Martin的第二本书。建议你在读了《Clean Code》后,再读这本书。《Clean Code》讲的是代码,而这本书是关于“Coder”。
  该书探讨了一些程序员经常忽视的主题。
  成为专业的程序员意味着什么?
  如何打磨自己成为一个真正的软件工匠
  冲突和紧张的日程处理
  如何管理你的时间?如何扩张技能?
  何时说“不”
  避免倦怠
  ..以及更多。
  你可能并不总是同意作者的观点,但它提供了良好的精神食粮。这可能并非你所期望的,但可能正是你所需要的。
 
《Peopleware: Productive Projects and Teams》
  很棒的一部作品。这本书并非关于编程。这是一本有关管理和激励程序员的书籍。开发人员也应该阅读。很多时候,开发人员,尤其是那些没有经验的开发人员,不理解管理的思维过程。
  软件开发是一个创造性的过程。但是,大多数管理人员把它当作是流水线。开发人员被视为是机器上可替换的齿轮零部件。管理人员普遍性地会给予一个紧迫 的时间期限,当作促进积极性唯一途径。他们对开发人员的工作不感兴趣,甚至可悲的是,他们也不会试着去理解开发人员或他们自己的工艺。
  如果你想成为一个想要的是质量,而不仅仅是数量的管理人员,那么请立刻阅读这本书!
  作者解释了管理者应该如何以一种可持续的方式使他们的软件开发团队认识到他们的潜力。 查看全部
书籍是知识和智慧的重要来源。但不幸的是,现在很多人已经不愿意看书了。程序员更是罕见地会去读书,最常见的依靠互联网搜索结果来找寻答案。
  技术向前的步伐比人类历史上的任何时候都要走得更快。用不了几个月,就会有新的编程语言和工具问世,弥补现有语言、工具和方法的缺陷。
  事实上,许多伟人都已经遇到过差不多的问题,并指出了解决这些问题的最佳途径。而这些方法和解决方案都收录在一些超棒的书籍中。
  下面就是在这个行业中开发人员应该阅读的一系列书籍。

《The Pragmatic Programmer》

  绝对是书籍中的瑰宝!这不是常规地建议你编码,编码还是编码的编程书。事实上,它并不限定于某种特定的编程语言:在这本书中的智慧适用于所有编程语言。
  这本书不仅可以帮助改变编码的习惯,还可以改变你作为一个程序员的性格。它充满了关于如何改进自己和代码的实用建议。
  还有一个总结了提示和检查清单的小册子。
 
《The Mythical Man-month》: 关于软件工程的散文集
 
  非常经典,被奉为软件行业的圣经。第一次出版于1970年,但是里面的内容比起以前,可能更适用于现在!
有听说过这些话吗?它们均摘自于这本书!
“所有的程序员都是乐观的:一切都会顺利。”
“添加人手到一个延迟的项目中只会导致完成得更慢。”
“生一个孩子总是需要九个月的时间,不管安排多少个女性。”
“一个煎蛋,承诺在两分钟内完成,但如果两分钟后还是没有准备好,那么客户有两种选择——等待或吃半熟品,软件客户也只能这样选择。”
  正从标题中所说的那样,这是一本散文集。文辞优美。这本书唯一的缺点就是引用了年迈25的古老技术。但是,这并不影响这本书的魅力。
 
《Clean Code》: 敏捷软件工艺的手册
  有没有在看他人代码的过程中,不由自主地发出“哦,天哪,这是什么?”的经历,那么这个人肯定没有阅读过《Clean Code》。
  这是一本关于软件工艺史诗般的书籍。这本书不仅会告诉你如何编写好的代码,而且还提供了软件开发的高效途径。照着去做的话,必将改变你的工作前景。
  书中描述了编写干净代码的原则、模式和做法。里面一些关于整洁代码的几个案例都是开发人员宝贵的经验教训。
  请注意,虽然在这本书中的所有实例都是关于Java的,但是从中学到的经验教训可以应用于任意的编程语言。
  这本书出版得比较晚,所以可能更能引起年轻开发人员的共鸣。
 
《The Clean Coder》:专业程序员的行为守则
  此列表中Rob Martin的第二本书。建议你在读了《Clean Code》后,再读这本书。《Clean Code》讲的是代码,而这本书是关于“Coder”。
  该书探讨了一些程序员经常忽视的主题。
  成为专业的程序员意味着什么?
  如何打磨自己成为一个真正的软件工匠
  冲突和紧张的日程处理
  如何管理你的时间?如何扩张技能?
  何时说“不”
  避免倦怠
  ..以及更多。
  你可能并不总是同意作者的观点,但它提供了良好的精神食粮。这可能并非你所期望的,但可能正是你所需要的。
 
《Peopleware: Productive Projects and Teams》
  很棒的一部作品。这本书并非关于编程。这是一本有关管理和激励程序员的书籍。开发人员也应该阅读。很多时候,开发人员,尤其是那些没有经验的开发人员,不理解管理的思维过程。
  软件开发是一个创造性的过程。但是,大多数管理人员把它当作是流水线。开发人员被视为是机器上可替换的齿轮零部件。管理人员普遍性地会给予一个紧迫 的时间期限,当作促进积极性唯一途径。他们对开发人员的工作不感兴趣,甚至可悲的是,他们也不会试着去理解开发人员或他们自己的工艺。
  如果你想成为一个想要的是质量,而不仅仅是数量的管理人员,那么请立刻阅读这本书!
  作者解释了管理者应该如何以一种可持续的方式使他们的软件开发团队认识到他们的潜力。

程序员应聘面试技巧及注意事项

就业指导赵老师 发表了文章 • 0 个评论 • 191 次浏览 • 2017-10-18 16:34 • 来自相关话题

第一、 基础很重要,不要生疏了。不管应聘什么开发岗位,基础永远是最重要的。IT业不停地在炒作新概念,昨天是SOA,今天是云计算。我们永远不知道明天流行什么,但是只要有踏实的基础,辅以较好的学习能力,要跟上步伐也不会太难。 所以绝大多数公司都会特别看重应聘人员的基础能力,比如编程语言本身的特性、基本的算法和数据结构、进程间通信等等,毕竟这些具体技术问题有客观的答案,而且在各具体行业都是相通的。 工作三年以上的人,往往都习惯了“拷贝+修改”式的工作,用不到的基础知识基本上都忘掉了,一到应聘的时候就难免眼高手低,总是抓不住机会。 而事实上,技术基础即便是遗忘了,也是可以很快捡起来的。如果你确实忘了很多基础知识,那么参加面试的前夜,花点时间把大学里的课本再翻出来看看吧。似乎很土的方法,但确实是有效的。

第二、 要关注技术前沿。不管做任何工作,如果只顾着低头做事,而不晓得抬头看天。那么不管做多久,自身的水平总是停留在毕业时的水平;如果基础又忘记了太多,那还不如毕业生。 关注技术前沿,并不是要求跟进每一个新技术,而只需关注目前主流媒体经常宣传的一些新技术、新思想。关注这些技术前沿的动向,并能将他们与自己从事的工作联系起来作一些深入思考,那么这是向面试官宣扬你的学习能力的一种好办法。

第三、 小公司比较看重知识的广度,大公司更看重知识的深度。如果你想去一些小公司工作,那么由于他们人少,分工没那么细,所以他们大多喜欢知识面广的应聘者——你会听到更多的“怎么做”。对于应聘这样的公司,你可以着重培养知识的广度,比如做网站后台开发,最好也能js、css、apache、mysql都懂一些,能独自搭建一套完整的网站,这样去很多小公司难度都不太大。但是由于个人的精力总是有限的,所以要注意不要铺得太开,重点还是在后台开发本身。 而大公司由于分工比较明细,所以往往更喜欢考量重点知识面的深度——你会听到更多的“为什么”。所以平常解决问题时,不要光搜索一把解决了就完了,还需要仔细研究各种问题的来龙去脉,并能分析总结,将这些收获系统化、理论化。 当然,广度和深度的需求不是绝对的,一个优秀的开发人员应该对至少一到两个专业领域有着深入的了解,并熟悉其他相关领域,也就是所谓的一专多能。

第四、 良好的简历设计可以为你的应聘加分。社会应聘的简历往往比校园应聘的简历写得随意,因为有工作经验的人往往认为面试官会更看重他的工作经验,而不是简历格式。其实不然。 大多数简历只会出现在面试官面前10秒到1分钟不等。这个短短的时间内,如何让你脱颖而出?这个方面有很多的攻略,我只说重点建议,不解释原因。 一是简历要突出优势,而不是描述经历。比如出身名校、就职过名企、参与过著名项目、拿过大奖,这些比较客观的优势要重点突出。如果你没有UI的功底,那么简单地放大加粗也可以达到效果。当然有些公司只接受文本型简历,那就设法加一些特殊符号吧。 二是技术简历减少模糊化的语句,最好能数字化。例如项目代码量,维护的数据量,网站的访问量,请求平均耗时等等。 三是简历要能结合应聘岗位做一些匹配的修改。撇开招聘网站通用的简历不谈,如果你明确对一个特定公司的特定岗位投出简历,那么你有必要把跟对应岗位无关的内容弱化,并强化跟其业务相关的内容。如果实在行业差别太大,那么表达几句对其行业的见解和兴趣也是可以的。

第五、 要有积极的沟通意识。优秀的面试官会激励应聘者讲他原先工作的内容,并从而评估出应聘者的能力水平。但隔行如隔山,绝大多数面试官会慢慢将问题引向自己熟悉的领域——这往往又是应聘者不太熟悉的领域。这就要求应聘者能积极分析面试官的兴趣点,并将自己相近的特长表现出来。一种可能的引子是这样:“唔,你问的问题我并没有直接遇到过。但是我做的XXX系统也许跟你的这个问题有些关联,你有没有兴趣听一听?”有哪个面试官会回绝你呢? 面试管也许会故意问一些模糊的问题来混乱你。但是不要怕,多问几个问题,定位清楚他的意向再简明扼要地回答一下就好了。 如果跟面试官有了意见冲突,也尽量不要再同一个问题上纠缠。那也许是故意制造的陷阱——看看你的团队意识。应聘者需要明白的是,在面试场合中不要妄图“战胜”面试官,即便是碰上一个期望“战胜”应聘者的面试官。

第六、 要有良好的表达能力。没有哪个面试官喜欢啰啰嗦嗦说了半天还是没说到点子上的应聘者,所以要尽量简明扼要地回答问题,除非面试官确实表现出对具体细节的兴趣。 回答问题时注意面试官的情绪变化,一旦他表现出任何想打断的意愿,立即一句话结束这个话题。 有些比较复杂的问题,可以先思考十到二十秒钟,因为一旦开口就没有思考的时间,话多的人不容易收住话题。 跟学校考试不一样,大多数主观性问题并不要求应聘者一二三四说得滴水不漏,能说到大部分关键点就是可以的了。 另外注意,各种技术术语不要搞混了。搞不清楚的理论概念,不如不说。免得面试官听到个术语就拉出来穷追猛打,把自己问挂。

第七、 自信。 大多数做技术的,平时都信心满满,一到应聘的时候却总觉得自己不懂的东西还太多。回答问题时声音太小,或者畏畏缩缩用很多“可能”“也许”“大概”。 这个不一定影响你的录用,但是不自信的表现无疑会影响在跟HR谈薪水时候的议价能力。所以,无论如何,应聘的时候表现得轻松镇定一些,还是很有好处的。 当然,自信和自大之间往往只有一线之差。千万小心,不要过度地表现自信搞成了自大,因为HR往往对这一点非常敏感。 如果你只是要谨慎地表现自信的话,我觉得回答问题时面带微笑就够了。 最后需要特别提醒的是,以上种种其实只不过是应聘时的技巧和注意点而已。职业规划需要有长远的眼光和坚持不懈的学习。台上一分钟,台下十年功。真正的实力还是要在平时工作和学习中进行积累。 如果你真是NB到别人要来挖你的话,那你压根不需要应聘就总是能有好工作了。 查看全部
第一、 基础很重要,不要生疏了。不管应聘什么开发岗位,基础永远是最重要的。IT业不停地在炒作新概念,昨天是SOA,今天是云计算。我们永远不知道明天流行什么,但是只要有踏实的基础,辅以较好的学习能力,要跟上步伐也不会太难。 所以绝大多数公司都会特别看重应聘人员的基础能力,比如编程语言本身的特性、基本的算法和数据结构、进程间通信等等,毕竟这些具体技术问题有客观的答案,而且在各具体行业都是相通的。 工作三年以上的人,往往都习惯了“拷贝+修改”式的工作,用不到的基础知识基本上都忘掉了,一到应聘的时候就难免眼高手低,总是抓不住机会。 而事实上,技术基础即便是遗忘了,也是可以很快捡起来的。如果你确实忘了很多基础知识,那么参加面试的前夜,花点时间把大学里的课本再翻出来看看吧。似乎很土的方法,但确实是有效的。

第二、 要关注技术前沿。不管做任何工作,如果只顾着低头做事,而不晓得抬头看天。那么不管做多久,自身的水平总是停留在毕业时的水平;如果基础又忘记了太多,那还不如毕业生。 关注技术前沿,并不是要求跟进每一个新技术,而只需关注目前主流媒体经常宣传的一些新技术、新思想。关注这些技术前沿的动向,并能将他们与自己从事的工作联系起来作一些深入思考,那么这是向面试官宣扬你的学习能力的一种好办法。

第三、 小公司比较看重知识的广度,大公司更看重知识的深度。如果你想去一些小公司工作,那么由于他们人少,分工没那么细,所以他们大多喜欢知识面广的应聘者——你会听到更多的“怎么做”。对于应聘这样的公司,你可以着重培养知识的广度,比如做网站后台开发,最好也能js、css、apache、mysql都懂一些,能独自搭建一套完整的网站,这样去很多小公司难度都不太大。但是由于个人的精力总是有限的,所以要注意不要铺得太开,重点还是在后台开发本身。 而大公司由于分工比较明细,所以往往更喜欢考量重点知识面的深度——你会听到更多的“为什么”。所以平常解决问题时,不要光搜索一把解决了就完了,还需要仔细研究各种问题的来龙去脉,并能分析总结,将这些收获系统化、理论化。 当然,广度和深度的需求不是绝对的,一个优秀的开发人员应该对至少一到两个专业领域有着深入的了解,并熟悉其他相关领域,也就是所谓的一专多能。

第四、 良好的简历设计可以为你的应聘加分。社会应聘的简历往往比校园应聘的简历写得随意,因为有工作经验的人往往认为面试官会更看重他的工作经验,而不是简历格式。其实不然。 大多数简历只会出现在面试官面前10秒到1分钟不等。这个短短的时间内,如何让你脱颖而出?这个方面有很多的攻略,我只说重点建议,不解释原因。 一是简历要突出优势,而不是描述经历。比如出身名校、就职过名企、参与过著名项目、拿过大奖,这些比较客观的优势要重点突出。如果你没有UI的功底,那么简单地放大加粗也可以达到效果。当然有些公司只接受文本型简历,那就设法加一些特殊符号吧。 二是技术简历减少模糊化的语句,最好能数字化。例如项目代码量,维护的数据量,网站的访问量,请求平均耗时等等。 三是简历要能结合应聘岗位做一些匹配的修改。撇开招聘网站通用的简历不谈,如果你明确对一个特定公司的特定岗位投出简历,那么你有必要把跟对应岗位无关的内容弱化,并强化跟其业务相关的内容。如果实在行业差别太大,那么表达几句对其行业的见解和兴趣也是可以的。

第五、 要有积极的沟通意识。优秀的面试官会激励应聘者讲他原先工作的内容,并从而评估出应聘者的能力水平。但隔行如隔山,绝大多数面试官会慢慢将问题引向自己熟悉的领域——这往往又是应聘者不太熟悉的领域。这就要求应聘者能积极分析面试官的兴趣点,并将自己相近的特长表现出来。一种可能的引子是这样:“唔,你问的问题我并没有直接遇到过。但是我做的XXX系统也许跟你的这个问题有些关联,你有没有兴趣听一听?”有哪个面试官会回绝你呢? 面试管也许会故意问一些模糊的问题来混乱你。但是不要怕,多问几个问题,定位清楚他的意向再简明扼要地回答一下就好了。 如果跟面试官有了意见冲突,也尽量不要再同一个问题上纠缠。那也许是故意制造的陷阱——看看你的团队意识。应聘者需要明白的是,在面试场合中不要妄图“战胜”面试官,即便是碰上一个期望“战胜”应聘者的面试官。

第六、 要有良好的表达能力。没有哪个面试官喜欢啰啰嗦嗦说了半天还是没说到点子上的应聘者,所以要尽量简明扼要地回答问题,除非面试官确实表现出对具体细节的兴趣。 回答问题时注意面试官的情绪变化,一旦他表现出任何想打断的意愿,立即一句话结束这个话题。 有些比较复杂的问题,可以先思考十到二十秒钟,因为一旦开口就没有思考的时间,话多的人不容易收住话题。 跟学校考试不一样,大多数主观性问题并不要求应聘者一二三四说得滴水不漏,能说到大部分关键点就是可以的了。 另外注意,各种技术术语不要搞混了。搞不清楚的理论概念,不如不说。免得面试官听到个术语就拉出来穷追猛打,把自己问挂。

第七、 自信。 大多数做技术的,平时都信心满满,一到应聘的时候却总觉得自己不懂的东西还太多。回答问题时声音太小,或者畏畏缩缩用很多“可能”“也许”“大概”。 这个不一定影响你的录用,但是不自信的表现无疑会影响在跟HR谈薪水时候的议价能力。所以,无论如何,应聘的时候表现得轻松镇定一些,还是很有好处的。 当然,自信和自大之间往往只有一线之差。千万小心,不要过度地表现自信搞成了自大,因为HR往往对这一点非常敏感。 如果你只是要谨慎地表现自信的话,我觉得回答问题时面带微笑就够了。 最后需要特别提醒的是,以上种种其实只不过是应聘时的技巧和注意点而已。职业规划需要有长远的眼光和坚持不懈的学习。台上一分钟,台下十年功。真正的实力还是要在平时工作和学习中进行积累。 如果你真是NB到别人要来挖你的话,那你压根不需要应聘就总是能有好工作了。

简历一无可写怎么办?

就业指导赵老师 发表了文章 • 0 个评论 • 228 次浏览 • 2017-10-18 16:33 • 来自相关话题

 
对于底子薄、转专业的同学,简历上没什么可写的是个普遍问题。要解决这个问题,就需要发掘自己的优势。
 
>>>为什么无从下笔?
很多时候大家觉得自己无从下笔有几方面的原因的。
第一,以往的工作经历和想投的工作不吻合,
第二,做的项目觉得不够重要,
第三,确实是什么经历都没有。
 >>>如何发掘可写的点?
针对第一类问题,可以想办法和目标职位靠拢。例如通用的经验和技术,职位所需的特性等等。

针对第二类问题,就需要自己去深入思考自己项目的重要性。很多时候大家觉得我可能就是某个公司的某个小组做一些边角的事情,但是大家要想,为什么这么大的公司不找别人去做这个工作而找你?说明还是有你的价值在其中的。对于这样的项目,一般我会先介绍这个公司的价值,然后是我们组对于公司的贡献,最后就是我做的工作的重要性。层层递进,自然写出了你的价值。

至于第三类问题,就需要大家去发挥积极性,多参与一些技术开发活动了。现在开源社区非常活跃,你完全可以参与其中。一开始哪怕就是修改标点符号也好,然后不断的升级积攒更多的经验。如果直接参加开源社区对你的技术要求太高,也可以去参加线上培训的项目,一般这些项目会有老师来亲自带着做项目,会更有指导性。



  查看全部
 
对于底子薄、转专业的同学,简历上没什么可写的是个普遍问题。要解决这个问题,就需要发掘自己的优势。
 
>>>为什么无从下笔?
很多时候大家觉得自己无从下笔有几方面的原因的。
第一,以往的工作经历和想投的工作不吻合,
第二,做的项目觉得不够重要,
第三,确实是什么经历都没有。
 >>>如何发掘可写的点?
针对第一类问题,可以想办法和目标职位靠拢。例如通用的经验和技术,职位所需的特性等等。

针对第二类问题,就需要自己去深入思考自己项目的重要性。很多时候大家觉得我可能就是某个公司的某个小组做一些边角的事情,但是大家要想,为什么这么大的公司不找别人去做这个工作而找你?说明还是有你的价值在其中的。对于这样的项目,一般我会先介绍这个公司的价值,然后是我们组对于公司的贡献,最后就是我做的工作的重要性。层层递进,自然写出了你的价值。

至于第三类问题,就需要大家去发挥积极性,多参与一些技术开发活动了。现在开源社区非常活跃,你完全可以参与其中。一开始哪怕就是修改标点符号也好,然后不断的升级积攒更多的经验。如果直接参加开源社区对你的技术要求太高,也可以去参加线上培训的项目,一般这些项目会有老师来亲自带着做项目,会更有指导性。