程序员成长方法-自我管理

活到老学到老,程序员成长没有止境

职业发展目标

在你的职业发展过程中,你希望原地踏步,还是否希望成为他们类似的人:
章文嵩:linux virtual server(lvs负载均衡)作者

王文彬:原jboss开发,亚太区总经理,现任淘宝开放平台副总裁

林昊:java模块化专家,出版osgi等书籍

岑文初:技术专家,架构师


程序员陷阱:优越感、过度自信

程序员的成长也是经过这样的流程:
初入社会→自信,优越感→发现不知道东西很多,无知→深入学习→稳重收敛→成为某领域专家
看一些人的例子:

  • 郭欣

《构建高性能web站点》作者
http://blog.guoxin.org/?p=449

  • 十五年,你累积了什么

http://blog.csdn.net/axman/archive/2010/04/24/5523746.aspx

面试:
1.负载均衡,2 cache(自己介绍一个投票系统,用户投票数据直接放在cache中).3数据库读写分离.
如何做数据库读写分离,谈谈你做过的经验.
答:我自己没做过这些方案,就是看过这样的方案介绍.
如果新增数据也放在cache中,如何保证出现异常时数据不丢失?
答:我可以在容器关闭前写到数据库,平时每10分钟与数据库同步一次.
对于大规模用户的WEB应用,10分钟可能上百万的数据,要是突然当机来不及同步到数据库怎么办?
答:.......................没考虑过.
网站的负载均衡有哪些模型?
答:没有做过,按照我的理解就是多点分布.
那你谈谈自己最熟悉的技术点在哪方面?
答:JAVA技术方面,比如多线程.
OK,那我们聊聊JAVA技术.JVM底层技术有了解吗?
答:这个当然了解.
请用你知道的知识描述一下GC的工作原理.
答:一个对象没有引用的时候就可以被回收.
那么怎么知道对象没有引用了呢?
答:这个不知道.
GC是如何分代的?
答:什么分代?我不了解.
关于GC还了解哪些?
答:其它的不清楚,我记得只要对象没有引用就可以回收了.
OK,多线程方面,jdk5以后的concurrent包中的数据结构用过哪些?
答:数据结构是什么意思?
就是相当于java.util下面的容器类.
答:我用过threadpoolexecutor.
我问的是数据结构或叫容器,比如说List,Map这类的数据结构.
答:没有用过,我平时用的都是同步之类多线程(意思是1.5之前的并发编程类库).
OK,请简单画一下JAVA的内存模型.
答:内存模型?不了解,我画不出来.
那么请说说volatile关键字在JAVA5之前有什么作用.
答:没听说过这个关键字.
那么,进入同步块和离开同步块时,变量是如何同步的?
答:这些底层的东西我都不了解,主要是做应用层。
 主要做应用层,那么熟悉使用的框架吗?
 答:是啊.struts,hibernate,spring这些框架比较熟悉。
 hibernate中,l1,l2的cache,给一个经验值.
 答:没有做过.我主要是使用它的功能,都是默认设置.
 volecity中,如果我要在渲染到页面之前统一对内容进行拦截处理应该如何做?
 答:做一个filter,在请求进来的时候拦截.
 我说的是 velocity中渲染到页面之前的拦截.
 答:这个我不知道.
 那你谈谈你平时做哪些工作.
答:用jsp,struts,hibernate,spring做业务逻辑.
 十几年都是做这些吗?
 答:以前没有这些框架,就是用JSP连接数据库.
 你使用这些"东西"这么久,有对这些"东西"的原理研究过吗?或者去读一下它们的源码.
 答:没有.就是一直在用.
 


以上仅仅是两个例子,我们可以看到,越是无知,则越自信,在我们的职业发展中,需要我们以谦虚的心态,不停学习,才能到达我们想要的高度。

到达职业目标之路

工作时间:

对团队负责、对项目负责

  • 主动完成任务,帮助团队达到目标(结合scrum自我管理)
  • 主动对项目进度、项目质量进行监控

自我管理、时间管理

  • 时间管理中的2/8原则,每日列下工作内容,先完成关键任务,再完成重要任务
    • 自我对任务负责,对质量负责,对工作态度负责


自由时间:

以行业专家为榜样,热爱行业、时刻关注行业发展

  • 订阅行业专家博客,了解最新动态
  • 与行业专家成为朋友,参与开源项目等

深入某一领域、分享、成为专家

  • 埋头深入学习,沉下心,稳扎稳打
  • 发表是最好的学习,将认识梳理,发表成文
  • xp(极限编程)中有一条分享,开放的公司都不定期举行分享会,从聆听者到宣讲者的转变

猜你喜欢

转载自jiangyongyuan.iteye.com/blog/679464