之前写过一篇《分享我的学习方法——还是坚持+努力》,得到许多朋友的支持,在此感谢下。许诺写这篇文章。写完这篇文章后我就抓紧做《Servlet 3.1规范》的翻译了,希望大家支持,有兴趣的朋友可以站内信我,一起翻译。
来iteye快一年了,回答了1000多个问题,有会的,也有不会的,在这我总结一下我的解决问题的思路,供一些刚入行的朋友参考,希望对你们有帮助。
献给双11的光棍程序员们,加油吧!
思考:为什么提问的问题没有人帮忙回答?
精心提出问题
怎么才能提出自己的问题呢?错误信息越全越容易解决。我的观点是: 问题描述、日志信息或异常堆栈信息(如果有)、环境和配置(如果有)、相关代码。
问题描述
要力求简洁,一针见血。不要搞些没用的。
不好的问题描述:
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课件】是一个专门针对高考中语言表达得体部分的专业教学资源。在高考中,语言表达得体的试题频繁出现,且与现实生活的紧密联系使得这类题目越来越重要,它不仅考察考生的语言...
主要内容讲述了一个聪明的牧童杰克林,通过机智地回答国王的三个看似无解的问题,最终赢得了国王的信任,甚至可能成为王位继承人。 首先,这个故事揭示了知识与智慧的重要性。杰克林虽为牧童,却以其聪明才智赢得了...