Java程序员修炼之道之预告片

从去年(2013)大概9月份开始,到上个月结束,我在深圳招聘一个Java程序员,要求会写Java的,英文能沟通的。我的要求很简单:

  • 一个只实现了功能的函数,重构一下,让其可支持后期扩展,用多态的方式和注册表法(《代码大全2》里面提到了)重构就可以了
  • 对该函数写单元测试,知道怎么写,知道使用Mock工具(Mockito、 Jmock、 EasyMock随便哪种都行),能正确的对测试方法进行组织

就是这么简单的要求,公司的HR MM陆陆续续给我找了几十个候选人,在北京的、在上海的、在印度的、在珠三角的都有;5、6年的,10几年经验的都有;不知名公司来的、国企来的、外资公司来的、互联网企业来的、外包公司来的、外资银行来的、HP来的、IBM来的都有;之前是写代码的、搞数据库的、带项目的都有。最终面试完居然就只有俩个部分合格的。

于是我就很郁闷,面试过程中我各种给提示各种暗示各种手段的怕面试人紧张发挥不好, 这么基础的东西怎么都没有几个人会,怎么就没有几个人会写单元测试?怎么就没有几个人会用Mock工具?怎么就没有几个人会玩玩对象关系?

我就奇啦怪了,大家伙是不是都只会配Struct,写Hibernate映射、用Spring配个对象、知道List有几个实现之类的这种随便一搜连百度上都有答案的东西?

后来我意识到,我不能只抱怨,作为一个写了10多年代码,带过项目、做过业务最终还是写代码, 有车有房有妻有娃的四有不太牛逼的程序员,我有责任帮助刚入行的、入行时间不短的,还没车没房的Java程序员们掌握一些基础的东西。

如果你掌握了这些基础的东西的话,而且英语口语还凑合的话,欢迎来找我帮你内部推荐工作,估计一万多的月薪是不成问题的,至于30、40万的年薪应该也是有机会的。

后面我会写这么些东西:代码中如何写日志、如何写单元测试、一些必须知道的Maven知识、一些Spring的使用技巧、一点Git和版本管理的知识、Java程序员所必须掌握的Linux技能、怎么写面向对象的代码等等。希望这些博文能帮助还没车没房的屌丝程序员们提高代码水平。

计划是一周或者一个月一篇,一直写到我没有时间写为止。 发布地址是:http://blog.csdn.net/justfly 和 http://blogjava.net/justfly/。

最后:欢迎拍砖、欢迎吐槽、不文明用语者删。

Java程序员修炼之道之预告片,布布扣,bubuko.com

时间: 2024-10-21 23:44:32

Java程序员修炼之道之预告片的相关文章

Java程序员修炼之道 之 Logging(1/3) - Logback 配置

写在前面的话: 作为<Java程序员修炼之道>博文的第一个主题Logging,我计划中按照如下三篇来写: Logback的简单介绍和配置 在Java代码中如何使用SLF4J来写日志以及写日志的要点 作为一个程序员,在日常工作中如何分析和挖掘Log. PS:默认生成的目录不对,仔细检查过了,我的h1,h2,h3,h4用的都没错. 1. 缘起 写代码中的日志是一个除了用代码实现功能之外最基础最基础的一个技能了,是一个必须掌握的技能.但是目前为止,关于如何日志的文章和书籍还是不多. 1.1 写日志的

Java程序员修炼之道 之 Logging(2/3) - 怎么写Log

1. 一个最基本的例子 使用Logging框架写Log基本上就三个步骤 引入loggerg类和logger工厂类 声明logger 记录日志 下面看一个例子 //1. 引入slf4j接口的Logger和LoggerFactory import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class UserService { //2. 声明一个Logger,这个是static的方式,我比较习惯这么写. private fina

专访《Java程序员修炼之道》作者Ben Evans

转帖这篇文章,很大成分就是认同"保守的设计思想是Java的最大优势"这句话 ------------------------------------------------------------------ [编者按]Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,它几乎是每个程序员的入门语言,而<Java程序员修炼之道>更是深受程序员欢迎的学习书籍.该书作者之一Ben Evans最近参加了上海QCon大会,图灵社区采访了这位大牛级人物. Ben Evans

Java程序员修炼之道 之 Logging(1/3) - Logback 配置(转)

转自紫风乱写:http://www.blogjava.net/justfly/archive/2014/08/10/416768.html,建议大家去原处学习 写在前面的话: 作为<Java程序员修炼之道>博文的第一个主题Logging,我计划中按照如下三篇来写: Logback的简单介绍和配置 在Java代码中如何使用SLF4J来写日志以及写日志的要点 作为一个程序员,在日常工作中如何分析和挖掘Log. 1. 缘起 写代码中的日志是一个除了用代码实现功能之外最基础最基础的一个技能了,是一个必

Java程序员修炼之道 之 Logging(3/3) - 怎么分析Log

1. 说明 作为一个程序员我们经常要做一件事情:获取某个Log文件,从其中找出自己想要的信息.本文总结了我在工作中使用了哪些工具来分析Log文件获取我想要的信息,我最近几年的工作环境都是服务器在Linux上,工作机是Windows, 所以我用的工具主要是Linux上的一些命令行工具,当然他们在Windows上也可以用,具体看下面的工具篇. 先声明,我只是非常普通的Linux用户,所以如果有些Linux命令或者工具用的不高效,请大家教育我. 题外话:我的观点是作为一个Java程序员,只需要在自己工

Java程序员修炼之道 之 单元测试

序 单元测试是一个非常好用的工具,是一个Java程序员修养的一部分.从04年开始,我就开始在项目实践中使用单元测试.十几年来,参与的项目基本上都或多或少的使用了单元测试,多的能有100%覆盖率的要求,少的也要覆盖主要代码,发现这个实践在提高软件质量和开发速度上还是很有好处的.在和朋友同事的交流中,发现有很多项目没有使用单元测试,也有很多程序员不会写单元测试,但是大家对这个都很有兴趣.所以我想把自己掌握的关于单元测试的技能(架构.设计和技术)和实施策略分享一下.当然,要是有那个企业愿意要求我去做相

【Java程序员修炼之道 之 单元测试】

单元测试是一个非常好用的工具,是一个Java程序员修养的一部分.从04年开始,我就开始在项目实践中使用单元测试.十几年来,参与的项目基本上都或多或少的使用了单元测试,多的能有100%覆盖率的要求,少的也要覆盖主要代码,发现这个实践在提高软件质量和开发速度上还是很有好处的.在和朋友同事的交流中,发现有很多项目没有使用单元测试,也有很多程序员不会写单元测试,但是大家对这个都很有兴趣.所以我想把自己掌握的关于单元测试的技能(架构.设计和技术)和实施策略分享一下.当然,要是有那个企业愿意要求我去做相关的

java程序员修炼之道

第一部分:用Java7做开发第一章:初识java71.1语言与平台<Java语言规范(JLP)><JVM规范(VMSpec)>1.2Coin项目:浓缩的都是精华修改过程:1.更新JLS    2.在源码编译器中实现一个原型    3.为修改增加必要的类库支持    4.编写测试和用例    5.更新文档    如果修改触及VM或者平台,则还需要    1.更新VMSpec    2.实现VM的修改    3.在类文件和VM工具中增加支持    4.考虑对反射的影响    5.考虑对

《Java程序员修炼之道》

原子类:java.util.concurrent.atomic 线程锁:java.util.concurrent.locks 对付死锁:boolean acquired = lock.tryLock(wait,TimeUtils.MILLISECONDS); CountDownLatch锁存器:让线程在同步前做准备工作. CopyOnWriteArrayList BlockingQueue<LsxUnit<MyClass>> 控制执行: 任务:Callable, Future, F