背景介绍
LZ坐标杭州,13届本科毕业,最近一共有面试了有6家公司,其中成功的有4家,另外两家失败的原因在于:
1、阿里巴巴B2B事业部的面试,两轮技术面试都过了,最后一轮面试是对方的主管,由于听说技术面试过了基本上90%都面试成功了,所以LZ在和主管的交谈中也是毫无顾忌,说得天花乱坠,很多自己介于知道和不知道的东西都直接脱口而出了,结果多次被对方一反问就问得哑口无言。事后想来,模棱两可的答案是面试中最忌讳的,这次的失败也让LZ认真地对待后面的每一次面试。
2、另外一家失败的是一家小公司,也就20来个人吧,整个团队是支付宝出来创业的,非常厉害。面试完LZ多方了解了一下,对方认为我基本功什么的都不错,但是实际项目经验还是欠缺一些,因为对方是创业型公司,需要人上手就能干活,因此我在这个时候还不是特别适合他们团队
本文包括几个内容:
有关程序员的几个阶段。
项目经验
程序员的专业技能
HR面试和面试心态
关于Java
Java序员的专业技能于Java程序员的专业技
1.关于程序员的几个阶段
每个程序员、或者说每个工作者都应该有自己的职业规划,如果看到这里的朋友没有自己的职业规划,希望你有所警醒。
LZ常常思考自己的未来,也从自己的思考中总结出了一些东西,作为第一部分来谈谈。LZ认为一名程序员应该有几个阶段(以下时间都算上实习期):
第一阶段-——三年
我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人。这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本上的内容迈向真正的企业级开发。我们知道如何团队协作、如何使用项目管理工具、项目版本如何控制、我们写的代码如何测试如何在线上运行等等,积累了一定的开发经验,也对代码有了一定深入的认识,是一个比较纯粹的Coder的阶段。
第二阶段——五年
五年又是区分程序员的第二个门槛。有些人在三年里,除了完成工作,在空余时间基本不会研究别的东西,这些人永远就是个Coder,年纪大一些势必被更年轻的人给顶替;有些人在三年里,除了写代码之外,还热衷于研究各种技术实现细节、看了N多好书、写一些博客、在Github上分享技术,这些人在五年后必然具备在技术上独当一面的能力并且清楚自己未来的发展方向,从一个Coder逐步走向系统分析师或是架构师,成为项目组中不可或缺的人物。
第三阶段——十年
十年又是另一个门槛了,转行或是继续做一名程序员就在这个节点上。如果在前几年就抱定不转行的思路并且为之努力的话,那么在十年的这个节点上,有些人必然成长为一名对行业有着深入认识、对技术有着深入认识、能从零开始对一个产品进行分析的程序员,这样的人在公司基本担任的都是CTO、技术专家、首席架构师等最关键的职位,这对于自己绝对是一件荣耀的事,当然老板在经济上也绝不会亏待你。
第一部分总结一下,我认为,随着你工作年限的增长、对生活对生命认识的深入,应当不断思考三个问题。最终,明确自己的职业规划,对自己的规划负责并为之努力。
我到底适不适合当一名程序员?
我到底应不应该一辈子以程序员为职业?
我对编程到底持有的是一种什么样的态度,是够用就好呢还是不断研究?
关于项目经验
LZ在网上经常看到一些别的朋友有提出项目经验的问题,依照LZ面试的感觉来说,面试主要看几点:项目经验+基本技术+个人潜力(也就是值不值得培养)。
关于项目经验,我认为并发编程网的创始人方腾飞老师讲的一段话非常好:
介绍产品时面试官会考察应聘者的沟通能力和思考能力,我们大部分情况都是做产品的一个功能或一个模块,但是即使是这样,自己有没有把整个系统架构或产品搞清楚,并能介绍清楚:为什么做这个系统?这个系统的价值是什么?这个系统有哪些功能?优缺点有哪些?如果让你重新设计这个系统你会如何设计?
我觉得这就已经足以概括了。也许你仅仅工作