Dev2Dev论坛

 找回密码
 注册
搜索
查看: 158|回复: 0

如果我是面试官,我需要什么样的Java程序员 [复制链接]

Rank: 1

robot 发表于 2011-8-3 23:30:04 |显示全部楼层

今天下午临近下班的时候面试了一位Java程序员,看起来已经有三年的工作经验了,据说也带过三四个人的团队。面试完后,怎么说呢?总觉得缺了点什么,人倒是很勤勤恳恳,很实在的,但具体有哪些真本领,还确实没怎么看出来。都说是程序员擅长跟计算机打交道,但我觉得表达能力与沟通能力也是很重要的,即使你无法把自己知道的东西100%的说出来,也至少不能低于80%。我自己很长时间没有用Java开发了,很多东西了解的也不是那么全面,但我觉得程序员的很多素质是语言、平台都无关的,因此我就说一下我心目中的理想的Java程序员。也算是给自己树立一个标准,以后照着这样的标准去完善自己。

Java基础:

  1. 熟悉Java的类型系统,基本类型、类类型
  2. 常用的数据结构:列表、哈希表、树、栈、队列
  3. Java泛型的特点,了解类型擦除
  4. 反射与动态代理
  5. 了解JVM 垃圾回收,了解分代的概念、知道基本的回收算法
  6. 如果只是简单的企业web应用,了解Java的线程模型;否则需要熟悉Java的并发编程
  7. 了解Java的字节码操纵机制
  8. 了解类的加载、链接与初始化
  9. 熟悉Java IO的基本API
  10. 熟悉Java Annotation
  11. 熟悉Java的序列化机制与RMI

Java EE基础:

  1. 熟悉Servlet API
  2. 熟悉一到两种页面技术,除JSP外,最好知道Velocity或者Freemarker
  3. 了解JMS、JTA、JNDI、Java Mail等Java EE规范中包含的内容
  4. 熟悉至少一种Web容器,如tomcat、jetty、jboss…
  5. 了解常用的Java EE核心模式

企业应用:

  1. 了解常用设计模式、企业应用架构模式
  2. 了解工作流的概念
  3. 了解事务处理机制

开源:

  1. 了解Spring、Hibernate、MyBatis,并不要求多熟练的掌握,原理了解即可。
  2. 了解IOC、AOP等概念
  3. 能配置开源Log组件进行日志输出
  4. 熟练使用eclipse或者其它IDE

Misc,一些杂项:

  1. 熟悉HTTP协议、TCP/IP协议
  2. 如果做Web前端,熟练掌握JavaScript,至少了解一种JavaScript框架,如JQuery、ExtJs
  3. 可借助Firebug或者Chrome开发工具进行页面的调试
  4. 知道持续集成的概念
  5. 至少尝试使用一种项目构建工具,如Ant、Maven
  6. 知道如何进行单元测试
  7. 很重要的一点,不仅仅只掌握一门语言,了解其它语言的先进性与不足,如你的主要工作语言是Java,其它静态语言可以去了解C#,动态语言可以去了解Python、Ruby等,甚至是函数式语言
  8. 熟悉Linux环境、熟悉基本操作
  9. 熟练掌握一种数据库,熟练掌握SQL与存储过程

最重要的一点,如果你面试的是程序员而不是项目经理,在面试的时候你一定要告诉我你还会在业余时间写自己的代码,这个很重要。另外,随时保持对新事物的新鲜感,对新技术感兴趣,乐于分享,善于交流

可能列的不太全,分类也比较牵强,但我认为只要一个人符合了上面的绝大多数条件,我就认为他是我想要的Java程序员。对照自己的技能,我还有很多不足的地方,谨以自勉。


links:http://www.breakthen.com/2011/08/03/the-java-programmer-i-want/
您需要登录后才可以回帖 登录 | 注册

Archiver|Dev2Dev

GMT+8, 2012-5-21 12:37 , Processed in 0.050671 second(s), 12 queries .

Powered by Discuz! X2 Licensed

© 2001-2011 Comsenz Inc.

回顶部