代码改变世界

面试常见问题自答

2011-02-12 11:53  Jeff Chow  阅读(486)  评论(1编辑  收藏  举报

过年前懒了一段时间,想写点什么又找不到题材。年后打算换公司,恰好今天在微博上看到李老师转发的“面试常见问题”,根据自身情况,作下回答。

 

你为什么想离开现在的公司?

发展,这是目前我最关心的问题。现在的公司成立已经10多年了,每年都招入一些应届毕业生,工作1-2年后便离去。由于都是毕业不久,所以在开发中并不涉及太多的框架、说明文档之类的内容。新来的程序员或许未能理解前任程序员的设计模式,或许因为项目真的面临重构,大都选择了将原先的项目推到重建。重建的过程中,程序员本身是学到了不少内容,可是于公司而言,推倒了原先的框架,采用了另一个同样是拓展性并不怎样的框架,同时也未能留住原先的开发人员,以至于10多年来发展都不明显。我认为这是一个公司在管理方面的问题,我自问没有什么能力为公司留住或是引进搭建项目的人才,同时亦发觉单凭自己摸索很难去创造属于公司的技术,所以我希望到一间规模更大的公司中去工作并学习管理方面的知识。

团队凝聚力。我在现在的公司1年半有多,总体来说,感觉不出什么凝聚力。公司从未组织过任何的集体活动,员工之间的联系仅限于工作或是某1-2个人之间偶尔的吃饭或者聊天。我认为这是导致开发团队在开发期间各有各忙,队员之间缺乏联系的主要原因。

竞争力。公司内部,仅有一个开发团队,必然所有的项目都由该团队完成。而公司自主研发的项目不设分红或是加班费用,所以开发人员工作态度并不怎样。而香港方面接过来的项目,则有加班工资以及项目分红,所以开发期间大家都情绪高涨,加班到深夜亦不感疲倦。项目交付以后,我选择了请假到外地旅游几天放松一下,然后得知自己更喜欢全力工作 - 尽情游玩的生活方式,而不是每天呆在公司度日如年地领取工资。

待遇,这没啥好说的了。

 

你为什么对我们公司和这个职位有兴趣?

我求职的意向是同样的职位,只是为了转换公司,原因已经在上面说明。如果可以多涉及一些管理方面的内容,例如开发团队的队长,还是很乐意接受的,当然前提是我能够胜任。至于为何是程序员,仅因为兴趣,无他。

 

你遇到过的最大的挑战是什么,怎么克服的?

学习不感兴趣的技术。个人认为从事这个行业需要不断接触新技术,而兴趣是学习最好的导师,对一项技术完全不感兴趣,可是又必须使用该技术去完成项目中的某部分。与大部分的程序员一样,我也不喜欢设计页面,但是对于一个团队来讲,怎么也得有个人去做。迫于工作、生活,最后只能抱着一肚子的不满将之学会。

 

请列举你在某个阶段最主要的三项成绩。

在进入一年以后,当时算是开发团队的队长。

保证项目进度,分配组员工作。除了完成自己的工作以外,我还必须对其他组员的技术水平有所了解,合理地分配工作内容,处理技术上的意见冲突,并督促其抓紧时间完成工作内容。

改进项目。主动向上级汇报项目中的问题,修改项目原有框架,增强其可拓展性(虽然我不清楚它可以用多久)。

完成琐碎的、其他人没有完成的工作。诸如源码的管理工作,项目的发布工作,服务器的维护工作,还有一些其他组员不懂的技术活。

 

你在团队合作方面遇到的问题?

态度过于软弱。面对意见上的冲突,无论当时我有多肯定自己的观点,我还是决定由开发该部分的程序员去取舍,自己的意见仅作为参考。一方面看,我这样的做法似乎很民主;但也体现出我对自己的经验不够肯定。

 

你的学习能力怎样?请举例说明。

感兴趣的技术,很快可以接受。刚到公司的时候,公司仍然在用.net 2.0,传统三层框架上数据模型大都是手写,增加了不少开发成本。而我很快完成了对Linq的学习,将.net升级到3.5,并在接下来的项目中投入使用。削减了开发数据库访问层的成本,将更多的时间投入到业务层的开发中。

而对于不感兴趣的内容,则不太愿意去深究,只是粗略地看一下,满足本次项目需要即可。例如在页面方面,很多文章都在说html5如何如何,但我并没有系统地学习html5,原来的技术仍然可以实现则继续沿用,不行就Google找解决方案。

 

考察:意愿,解决问题的能力,执行能力,团队精神和学习能力。

考察,那就没有什么可作答的了。