还是得找出问题的原因
  1. 不可能不理解问题,然后解决问题。所以,无论是自己对知识陌生还是熟悉,都需要去捋顺逻辑过程,补充相应的基础知识。之所以未能够解决问题,是因为对它不了解,如果了解,一般来说都会解决问题的。
  2. 解决问题,不是凭空想出解决方案的,一定是根据报错信息按图索骥的。定位问题具体发生在哪儿了。
  3. 定位到问题,然后理解问题发生的原因。
如何找出问题的原因
  1. 在这个过程中要去思考,我得有很多的假设和逻辑推断。比如一个应用使用不同数据库。
  2. 我怎么判定,应用已经连上数据库了,判断依据是什么?每一次的判定必须是逻辑推理的。根据什么信息进行逻辑推理的。我否定干扰因素,我的否定依据是什么;我推测可能是其他原因,我推测的依据是什么,这些东西都不是随意判断,随意推测的,都是逻辑推测。
  3. 假如使用MySQL连上数据,没有任何报错信息,但是使用Oracle报错了,并且根据报错信息,判断它连接上了,又执行了SQL语句,而原来是支持MySQL的,现在Oracle也执行了同样的SQL语句,但是Oracle报错了,说明存在SQL在MySQL数据库和Oracle数据库是不兼容的。
  4. 我应该怎样找出这个不兼容的SQL语句?可以使用数据库监控工具看执行了哪些SQL语句。可以读源代码看应用启动的时候,执行了哪些SQL语句。
  5. 所以,现在需要知道这条SQL长样子,判断是不是SQL在数据库之间的不兼容性。如果发现确实是SQL不兼容的话,就需要找到程序在哪儿调用了此SQL,把此SQL修改成Oracle兼容的。
大牛是怎么快速完成排错的
  1. 面对一个问题,因为一开始他也不知道具体情况是什么。所以,一开始他就尽可能询问一些关键性问题,做到对问题有一个通盘了解。比如,他问能不能单步调试,因为有些问题是需要对底层代码进行一些修改。
  2. 然后,他会一步一步地引导你如何去思考问题,如何根据已知信息排除干扰因素,得到其他信息。然后根据一些信息进行逻辑推断。
  3. 比如,连接不上数据库,程序报驱动类找不到。这个时候就需要想办法把驱动类编译到代码中。
  4. 连接上数据库了,怎么就连接上了,判断依据是什么?没有连接数据库,判断依据是什么?他是如何证明,已经连接上数据库了的,先使用正确的用户名和密码,然后我把用户名或者密码写错,都试试,看看具体报了什么错。根据错误的信息,去有逻辑的推断程序应该走到了哪儿。
  5. 如果没有连接上,则需要连接上。如果连接上了,还继续报错,则证明它执行了SQL语句导致报错的。或者SQL语句跟表结构不一致导致的。这个推断是很合理的。
  6. 问题的原因就是:有一条SQL在MySQL和Oracle中是不兼容的。
小结
  1. 解决问题是建立在我对这个问题的理解程度。不可能不花时间去了解这个问题,我就可以理解。该单步调试就单步调试。想解决问题,有时候花费很多时间是无法避免的。
  2. 即使是厉害的人,他也需要通盘了解当前的具体情况是什么。
  3. 厉害的人是有自己套路的。优秀的人在面对问题的时候,他首先问的是这个问题的意义
  4. 厉害的人他在解决问题的时候,各种逻辑推测。逻辑推测的意思就是:根据已知信息进行逻辑判断推理。

面对问题我应该如何去思考?相关推荐

  1. 如何像程序员一样去思考

    如何像程序员一样去思考 如果你对编程感兴趣,你可能以前看过这句话: "这个国家的每个人都应该学习编程计算机,因为它教你思考." -史蒂夫·乔布斯 你可能还想知道,像程序员一样思考究 ...

  2. R语言ggplot2可视化对图形进行纹理填充实战及启示:遇到问题首先去思考有没有现成的包(ggpattern)可以去解决这个问题

    R语言ggplot2可视化对图形进行纹理填充实战及启示:遇到问题首先去思考有没有现成的包(ggpattern)可以去解决这个问题 目录

  3. ActionScript 3.0 Step By Step系列(五):走在面向对象开发的路上,以类为基础去思考编程问题...

    面向对象的程序设计(Object-Oriented Programming,简记为OOP)是一种功能非常强大的编程方法,立意于创建软件重用代码,以类为基础去思考编程问题. ActionScript 3 ...

  4. seo提交工具_经验分享:SEO新手面对新网站应该如何去优化

    SEO目前是一个很尴尬的产业,你要是说SEO没用,要完了.这肯定不会,毕竟搜索引擎所带来的流量是很很宏观的.既然有搜索展现就一定有排名的争抢,跟做生意一样. 谁靠前谁的生意基本要好点,不过当搜索引擎走 ...

  5. 灵遁者:突破思维局限去思考时间和维度

    导读:如果这是第五维度,那么肯定会有朋友问:那你说第六维度应该是怎么样?还别说,我真的思考了.很有趣,简单来说就是再往上就是重构空间的能力了,想到这里你就能想到为什么有一些顶级科学家会陷入神学论了.不 ...

  6. 混得不好,就别去思考!

    一个常见却总被忽略的问题 我最常被问到的一个问题是:"吴老师,我是做A行业好,还是B行业好?我是进A公司好,还是B公司好?" 这时候,我一般会询问对方进展到哪一步了:是已经拿到of ...

  7. 如何用计算机的思维去思考问题?

    从上大学第一天开始接触编程,老师便给我们讲过各式各样的算法.从各种查找.排序,到递归.贪心等算法,大一的时候一直在和这些算法搏斗.直到工作后,为了应付面试,仍不得不回过头去啃算法书或者去刷一些算法习题 ...

  8. 混得不好,就别去思考

    一个常见却总被忽略的问题 我最常被问到的一个问题是:"吴老师,我是做A行业好,还是B行业好?我是进A公司好,还是B公司好? " 这时候,我一般会询问对方进展到哪一步了:是已经拿到o ...

  9. 中国成为发达国家了吗?从元理先生对国际经济形势分析再去思考如何面对。

    我国刚被美国等欧美国家强行定位为:非发展中国家,引起了各方舆论的热论,笔者采访了中科院大学经管学院MBA导师元理先生,其对国际经济形势有着以下的看法,通过对国际经济形势的思考,我们才能更准确的了解和如 ...

最新文章

  1. 苹果发布首款 Mac 自研芯片 M1,贯通生态快人一步!
  2. C++ Opengl 绘制二次几何体源码
  3. PX4飞控中利用EKF估计姿态角代码详解
  4. 树莓派c语言运行_树莓派完成简单的编程(四)
  5. android /data文件夹无法显示内容
  6. 嵌入式操作系统内核原理和开发(线程切换)
  7. 计算机操作系统之设备管理
  8. 第 5 章 结合javabean实现CRUD
  9. 性能优化:要2个月才跑完的程序我是如何优化到到4小时的?
  10. Screen Space Reflection 2
  11. 二叉排序树的中序遍历规律_王道数据结构|第四章 树与二叉树 04 二叉树的遍历...
  12. 算法:Reverse Linked List
  13. SQL教程——连接查询之SQL99标准
  14. backfire openwrt安装click modular router
  15. 天线和频率(波长)关系
  16. 数学建模学习笔记——预测类型1
  17. C#使用spitter控件分割左右两个panel并可拖动
  18. 访问交流 | 成都市高新区领导团莅临零数科技考察指导
  19. 常用的几种数据库介绍
  20. [高数][高昆轮][高等数学上][第一章-函数与极限]09.连续函数的运算和函数的连续性...

热门文章

  1. windows之远程连接路由器下的电脑
  2. c语言中清除缓冲区的函数,关于C语言的清除缓冲区
  3. Idea遇到This may be useful when development is performed under newer SDK version as the target platfor
  4. 挪威大学计算机科学专业排名,挪威奥斯陆大学专业排名
  5. WSL使用电脑自带声卡录制、播放声音尝试
  6. 单片机实例34——带有存储器功能的数字温度计-DS1624技术应用(硬件电路图+C语言程序)
  7. 红黑树的基本原理和左旋右旋
  8. 阿里云常见问题解答汇总,关于阿里云的疑问你都可以在这里找到答案
  9. Java项目:JSP网上花店销售系统
  10. 组织效率提升,改变人心