摘自:陈皓博客
分清楚什么是操作技能什么是知识,操作技能不等于知识甚至经验。
比如java中的final是什么意思?怎样查看进程的CPU利用率?怎样编写一个管道程序?包括某些设计模式等。
这些都是可以通过相关手册或google到到东西,只能表现一个人到操作技术,不能说明他的知识或经验。
知识是一个人认知和学习的体现,可能会是一些基础概念和知识。
比如TCP和UDP的优缺点,链表和哈希表的优缺点,堆栈的区别,进程间通信,进程线程的优缺点等,面向对象设计的原则等。
知其然只是操作,知其所以然才是知识。
知识不够不能说明他不能工作,会操作技能可以应付工作,但知识的欠缺一定会限制你的经验和能力,同样影响你的开发质量。
经验通常和一个人的经历有关,一个人的知识范围,经历的事情,通常成为一个人的经验。
比如你解决过最难的问题是什么?你怎样设计一个系统?如何调优和调试程序?怎样做性能优化?什么样的代码是好的代码?等。
对于工作年限短的人,经历和做过的事会成为其经验的主要因素,尤其是业务上有行业背景的东西,但经验可能更多但是你对知识的运用和驾驭,是对你做过的事情的反思和总结,是你对他人的学习,观察和交流。
一个人的能力并不会因为知道的东西少而不行,也不会因为没有经验而没有能力。
一个人的能力是他做事的一种态度,性格,想法,思路,行为,方法和风格。只要有热情,有想法,有好的行动和方法,及好的做事风格,那么知识和经验对他来说只是一个时间问题。
比如学习能力,专研精神,分析能力,沟通能力,组织能力,问题调查能力,合作能力等。
一个新手,也许他的知识和经验有限,并不代表他的能力有问题。一个老手,如果其存在知识和经验的欠缺问题,通常是能力的问题。“没经历过”只是个接口。
你的能力可以让你获得知识,你的知识让你更有经验,你的经验会改变你的想法和思路,从而提升能力。
我们需要关注面试者的个人知识和经验,重点关注其能力(态度,性格,想法,思路,行为,方法和风格),并正确的评估个人能力。