之前写过一篇《分享我的学习方法——还是坚持+努力》,得到许多朋友的支持,在此感谢下。许诺写这篇文章。写完这篇文章后我就抓紧做《Servlet 3.1规范》的翻译了,希望大家支持,有兴趣的朋友可以站内信我,一起翻译。![](/images/smiles/icon_biggrin.gif)
来iteye快一年了,回答了1000多个问题,有会的,也有不会的,在这我总结一下我的解决问题的思路,供一些刚入行的朋友参考,希望对你们有帮助。
献给双11的光棍程序员们,加油吧!![](/images/smiles/icon_biggrin.gif)
思考:为什么提问的问题没有人帮忙回答?
精心提出问题
怎么才能提出自己的问题呢?错误信息越全越容易解决。我的观点是: 问题描述、日志信息或异常堆栈信息(如果有)、环境和配置(如果有)、相关代码。
问题描述
要力求简洁,一针见血。不要搞些没用的。
不好的问题描述:
a、关于springmvc3.0的问题
b、使用spring注解,测试一直报错
c、Spring3.1问题
d、请问这个attr从何而来?谢谢
e、springAOP代理
f、 该如何解决
g、Mysql 连接错误
从以上问题描述中我们看不到到底遇到什么问题,更好的问题描述应该:
1、我从描述中可以看出你所用的技术,如spring,这样我可以有选择的解决问题;
2、如果遇到的问题有异常,直接上异常信息,如果经验足够多,这种问题可能一眼就知道是哪里出的问题;
3、如果实在不知道哪里出错了,把一些关键点写到标题上。
我认为更好的问题描述:
a、配置好SpringMVC拦截器后,JSP不能正常解析,直接原样输出 (这样我知道你使用的技术是什么和大体原因了)
b、使用Spring注解注入时,抛出BeanCreationException (虽然不知道具体原因,但是我知道BeanCreationException的问题是什么)
c、No Spring WebApplicationInitializer types detected on classpath (直接把异常贴出来更有效)
d、请问在使用struts2时,那个attr到底指什么 (告诉我你用的技术,缩小范围)
e、[spring] Cannot convert value of type [$Proxy4 implementing com.service.IUserService (从具体的错误栈中找最核心的错误信息作为标题)
f、 直接把异常贴出来不是更好?
g、Access denied for user 'root'@'localhost' (using password: YES) (直奔主题更好)
……等等,把有用的信息贴出来这就足够了,不要用激将法,如没人会吗? 这些没实际意义,还不如好好把问题想明白。
日志信息或异常堆栈信息
日志的目的包括如审计、监控、数据恢复等等,因此如果是出错了,就应该把相关的日志找出了,越全越容易找到问题所在。而且尽量用文本,如果量大用附件,尽量不要用图片,与人方便就是于己方便。
出问题时,不要这样贴异常:
a、《一个NullpointerException问题》 而且内容中也没有给出具体的描述,只知道空指针,还需要我们回答的人进一步问出在哪一行啊。。。
b、《使用spring注解注入,测试一直报错》,内容中只给出org.springframework.beans.factory.BeanCreationException异常,没有给出详细堆栈,如果能给出详细堆栈,立马就能告诉你问题出在吗?
没有详细的信息,问题就不能诊断,神仙也帮不了你。
环境和配置
环境包括:如系统环境(操作系统是什么等)、项目环境(是普通Java工程还是动态web工程,eclipse开发还是myeclipse)、技术环境(如使用了哪些技术)。
配置包括:如常见的web.xml、spring的配置文件,struts2的配置文件等等。
在提问时把使用的环境和相关配置贴出来能做到事半功倍的效果。当然有时候不是必须的,但贴出来更能帮助找到问题。
如《jbpm4 有谁碰到这个奇怪的问题吗?!!!》 ,异常是贴出来了,如果它告诉我使用的技术环境,如hibernate4+spring3+jbpm4,我立马就能知道原因。
相关代码
如果是代码出错了,就应该把相关代码贴出来,而不是说有错误,而又不告诉别人是哪些代码出错了,这样谁也帮不了你。
先试试自己能不能解决
大部分问题,经过自己的探索都能解决。一上来连思考都没思考,就直接追着别人问,这种行为是不好的,可以按照如下步骤做:
1、先看看遇到的错误之前见过吗?如果见过回忆下之前是怎么解决的。如果像我这种记忆力不好的,可以做个文档记录下来,下次遇到再查一下;
2、查阅相关技术文档,如JDK文档、Spring文档等等,看看具体错误指的是什么,文档中有没有解决方案,此步骤你大体应该能知道是什么错误;
3、还是搞不定,那就搜索(查技术还是用google),查的时候记住关键词是:【使用的技术 问题】,如 【spring No Spring WebApplicationInitializer types detected on classpath 】、【Access denied for user 'root'@'localhost' (using password: YES)】、【java.lang.NoClassDefFoundError: org/springframework/asm/ClassVisitor】,像这些问题只要你动动手搜索下很快就解决了,对于一些不常见的问题反复多查几次,不要只查一两下就放弃,坚持才能胜利;
4、还搞不定那就寻求帮助,如问答频道咨询,或者到相应的群组咨询,更或者直接给某人发站内信咨询。
记住,别人没有义务帮你,尊重帮助自己的人;不要不劳而获,要学会自己试着去解决,慢慢的大部分问题你都能解决(我接触的很多问问题的,比如上午问,我下午才看到,问下说已经解决了)。
常见的错误:
java.lang.NullPointerException:空指针异常,最常问的异常,遇到此异常一定说明有个空指针,如a.test(); 肯定说明a是null,这种问题问的实在太多了。思考下很容易解决的。细心点即可。
java.lang.ClassNotFoundException:类没有找到,一般是所需要的类不在classpath或类名写错了。
……,这些错误只要细心肯定能解决,让我们更加细心起来。
java.lang.NoClassDefFoundError: 只要动动手搜索一下,答案立马出来。
搜索,记住可以搜索类似问题,要学会触类旁通。
真诚而有效的寻求帮助
直奔主题,别搞什么『大神、高手、菜鸟求助』等词吸引眼球,好问题自然有人愿意解决,不愿给你解决的问题说明之前有人已经遇到过了,自己去查查肯定能解决。
把错误相关信息贴全,可以参考下《ITeye提问的智慧》,然后直奔问答频道问问题吧,好多热心人都在等着你的问题呢。
总结为什么
弄明白一个问题,尤其是别人帮你解决的,尽量记录下来,方便以后查阅,也方便其他人出问题查阅。
对于一些经常遇到的问题,一定要知道所以然,不要仅仅解决了就完事了,解决了只是个开始。
会学习的和不会学习的很大的区别我认为是 问为什么!
我的一点忠告
1、你的问题别人没有任何义务帮你解决,学会感恩,不管别人回答的对还是错;
2、不要提『蠢问题』,即遇到问题后立马问别人要解决方案,这样你会天天有很多同样的解决不了的问题;
3、不劳而获可耻,作为一个程序员没有试着去解决自己的问题就提问我认为是很可耻的,而且对自己发展是不利的,学会独立解决问题;
4、要思路不要代码,这样我们学到的更多,自己的事情自己做,当然有时候代码能让思路更清晰,思路为主,代码为辅;
5、不是问题解决了就完事了,试着做个总结方便后人查阅,而且对于一些经常出现的问题要知道为什么错了;
6、『取精华弃糟粕』,从别人的回答中提取有用的,不要一股脑的接受,自己要有分辨能力;
7、『兼听则明,偏信则暗』,学会独立思考,对于有些拿不准的答案要多方咨询保证其正确性,时刻保持怀疑;
8、『书上就是那么写的?』等,权威?没有绝对的权威,有人不犯错误吗?理论指导实践,但实践才能出真知!不要死学习,有时候适当的改变思路,不一定跟书上的一样。
9、『我和书上写的一模一样,怎么结果不对呢?』等,这是傻学,尤其计算机这东西,如果环境不同或有些配置不同可能出现的结果完全不一样,要活学活用,书本上的知识是用于借鉴的,不是照抄的。
10、喜欢遇到问题和解决问题,这就是经验,解决问题越多经验就越多!经验是靠问题堆起来的。不要怕丢人!
11、出问题先找自己的原因,不要抱怨,很多时候的错误都是粗心造成的。
12、出错必有原因,别给自己理由,比如『我本机就行,一到服务器就不行,想想自己是不是忘了哪个东西没部署』。
PS:以上是个人观点,如有错误希望不吝赐教。
为什么提问的问题没有人帮忙回答? 大部分原因是之前他们解决过类似的问题,而这些问题通过自己简单的摸索就能解决。
回答别人的问题的同时其实也是自己能力的提升,参与进来,学到的更多。
让我们来问答频道发现我们喜欢的问题并解决掉它们吧!传送门》》》
给广大宅男的媳妇省钱的一个应用
讨好女生的手机应用:
1、淘宝精选女装团购应用,2折起:爱团http://www.myapp.com/downcenter/a/103786
2、屌丝步入女神的生活利器 ,我也经常用,因为有不少喷血美女模特:穿搭志http://www.myapp.com/downcenter/a/619655
分享到:
相关推荐
同时,制定公平的决策流程,确保每个人都能参与并贡献。 问题 17:如何处理项目延期或超出预算的情况?答案 17:面对延期或超预算,首先需要重新评估项目计划,查找问题原因。可能需要调整优先级、优化资源分配或...
这次经历教会了我,无论项目大小,都必须重视每一个细节,尤其是需求沟通这一环节。” ### 8. 回答关于未来的期望 对于未来的职业规划,应该给出具体而又实际的目标。例如,“我希望在未来五年内成为一名资深的...
在应聘过程中,面试是至关重要的...面试是展示你全面素质的机会,除了专业知识,面试官更看重你的沟通技巧、问题解决能力以及对公司文化的适应性。因此,准备充分、表达清晰、态度诚恳,都是赢得面试官青睐的关键因素。
【答疑——新课程下师生互动的重要形式】 在新课程改革的背景下,教育方式正在逐步转变为以学生为中心,强调探究性和自主性。在这个过程中,师生之间的互动变得至关重要,尤其是答疑环节,它不仅能够帮助学生解决...
面试中的小动作也往往能反映出一个人的品质和态度。钟小姐的故事中,她在做好本职工作的同时,主动帮助一位经常乘坐电梯的中年男子捡拾掉落的书报,尽管这并非她的职责所在,但她乐于助人的行为赢得了对方的好感。...
面试官提问的目的不仅仅是了解你的技能,更是想观察你的思维过程、解决问题的能力和应变能力。例如,他们可能会问到一些开放性问题,如:“你如何处理项目中的冲突?”或“如果你在一个团队中,发现你的观点与大多数...
### 麦肯锡访谈技巧概述 ...有效的访谈技巧不仅能够帮助我们更好地理解和解决问题,还能加强与合作伙伴之间的关系。通过本手册的学习,希望能够帮助大家掌握这些重要的技能,在日常工作和项目中发挥出更大的作用。
在回答问题时,可以提供具体的案例和成果,展现自己解决问题的能力和对行业的深刻理解。 4. 积极的沟通态度:在面试中保持积极的沟通态度,与面试官保持眼神交流,并展现自信。良好的非语言沟通同样重要,比如坐姿...
本篇论文以海德格尔的这一思想为背景,探讨了机器人、经济人与超人在现代性批判语境中的存在形态,旨在回答在现代社会中人应当具有怎样的生活形态这一问题。 首先,海德格尔认为现代社会的形而上学基础导致了人的...
一、提出问题环节:爱因斯坦曾经说过:“提出一个问题往往比回答一个问题更重要”。因此,教师应鼓励和保护学生提出问题的勇气,在尊重学生人格的前提下,引导他们去发现并质疑问题。在这个过程中,教师需要精心设计...
《提问的智慧》这本书强调了一个重要的观点:提问不仅仅是一种求助的行为,更是一种展示个人解决问题能力和专业知识的机会。通过遵循以上提到的建议,不仅可以提高提问的有效性,还能促进整个技术社区的健康发展。...
了解这些问题的含义之后,我们现在可以具体分析每一个问题的答案。 1. Facebook的问题答案应该围绕着公司的核心使命,并结合个人职业发展的满足感来回答。例如,应聘者可以回答说,他们之所以高兴是因为他们的工作...
【高考语言表达——得体公开课定稿PPT课件】是一个专门针对高考中语言表达得体部分的专业教学资源。在高考中,语言表达得体的试题频繁出现,且与现实生活的紧密联系使得这类题目越来越重要,它不仅考察考生的语言...
主要内容讲述了一个聪明的牧童杰克林,通过机智地回答国王的三个看似无解的问题,最终赢得了国王的信任,甚至可能成为王位继承人。 首先,这个故事揭示了知识与智慧的重要性。杰克林虽为牧童,却以其聪明才智赢得了...
”——培养学生的独立思考能力,让他们知道遇到困难时要有解决问题的决心。 6. “你的知识面真广,会的知识真多!”——表扬学生的课外知识,鼓励他们拓宽视野,全面发展。 7. “你的感情真丰富,谢谢你这么精彩的...
- "对于同一幅画,每个人的观感是不一样的",说明每个人的思考和感知都是独特的,培养学生的批判性思维和尊重他人观点的意识。 - 把困难比喻为"学习中的拦路虎",教导学生面对困难要有积极的态度和解决问题的能力...
这个故事教导我们,每个人的观点都有其合理之处,我们需要理解并尊重他人的观点,因为每个人看待事物的角度都可能不同。这也提醒我们在教育、沟通和解决问题时,要尝试换位思考,以增进理解和接纳。
- 简洁明确的回答顾客问题,避免冗长或模糊不清,确保信息传递的准确性。 - 面对顾客抱怨,耐心倾听,用平和的语言安抚情绪,给予顾客关怀和支持。 - 注重说话时的仪态,如微笑倾听,目光交流,展现关心和尊重。 ...
一个感谢的字句或对他人帮助的赞赏,可能会鼓励更多的人愿意帮助你。 6. **反馈与互动**:及时回应他人的提问和建议,这表示你正在积极参与解决问题的过程,也更可能获得满意的答案。 这个指南的子文件可能包括...