遇到这样的面试 应该怎么办?
回忆以前参加的面试,还是企业内部换部门的内部面试,就遇到了好几次的这样面试情况:
大量的问题 都是你知道就知道 不知道就知道 曾经知道但长期不用忘记了也是不知道,以知道多少东西来衡量一个人的水平,而忽略思维能力和潜力。
自己也做过面试官,按照自己重在思维和潜力的方式去面别人,却受到了同事的挑战和质疑,说我考的东西都是项目用不上的,比如算法数学还有数据结构,后来,自己也曾经问过以前的同事,问他们面试是不是就是 问知道就知道 不知道就不知道的问题 知道至上,知道者生,不知者死。他们很自然的回答:是啊,这个是理科生的思维。。。。当时也没有去反驳他我们计算机其实是工科,不重要了。
个人觉得,应用技术更新换代,各种相互取代,然后资料也是一大把,要想学会有不难也不慢,那程序员大脑和这些应用技术的关系,为什么就不能像内存和 动态运行库那样的动态加载,遇到什么学什么,而不是在没有使用的时候,或者迎合这类面试的时候,脱离具体项目背景也疯狂恶补自学,强行在大脑里装满各种“lib” 。如果不是这样,那程序员的时间和精力可以大量投放在学习能力的培养上,把陌生事物快速转换成熟悉事物的能力培养上,以及举一反三的思维锻炼上,并在期间的工程里,放纵自由地去享受各种数据结构和算法反映的思想和方法论,面对层出不穷和快速更新的应用技术,去培养一套以不变迎万变的思维模式,发挥应用技术的相通行。
如果非要 知道至上,那面对各种面试,方案只有一个,像两脚书柜一样,暴力学习,暴力穷举各种应用技术,并期待面试的时候,面试官刚刚问到。都学过概率统计对吧,算算这样概率吧
说到举一反三,和方法论普遍的相通,可以看到一个很普遍的情况,对比一下吧。
微软和GOOGLE的面试,全部是算法题,N轮一轮不能挂,其中没有应用技术,没有概念,甚至没有项目经验,而面试者给出解决方案也是面试者现场想出来的,当然这些面试者肯定也不是凭空想象,他们大部门都是特种ACMer或者Topcoder的DIV1玩家,数据结构,算法导论,离散数学,组合数学,初等数论曾经就是他们的昼夜,从中沉淀出的思维启发能力和举一反三的能力,通过一道算法题目的优秀解答得到了面试官的承认,他们赢了。
反过来,看看其他的公司,尤其是微软的那几个当小弟的外包公司。一个做.net N年的,就是面不上一个JAVA JUNIOR的职位。一个业余时间用C++和汇编写外挂做破解的,更是在JS CSS的问题面前一败涂地,与前端职位失之交臂。.net到JAVA的举一反三,c++到js的举一反三存在吗??当然存在,但这种举一反三就是得不到面试官的承认,他们输了。
计算机的内存都知道要虚拟内存,都要部分动态加载吗,长期不用的还要对换出去。
程序员的大脑,为了面试,要强行全部塞入各种东西,曾经忘记的换出大脑的,也要一起重新加载回来。
程序员的大脑真的要比计算机还牛逼?这样才能控制计算机??
写《重构》的作者说:能轻易查阅到东西都不刻意去记他。
面试官说:你作为程序员,有些你应该是记住的(比如考API的华为面试官)。
问:《重构》的作者 和 这些面试官 谁正确???
我个人也希望能像马云那样 很包容地回答一句:I Hope both are right..
但做不到,内心肯定有自己真实的答案,但不知道各位的。