最近一两年的时候,写代码的时间逐渐减少,除了负责几个小系统之外,更多的时间用在解决客户问题上。接触的问题多了,发现真的是什么样的问题都有可能发现在客户环境上,当然,这不能一味地说系统的问题。系统确实存在不足的地方,但是,有时候环境、客户人为操作等很多因素,都会带来或小或大的问题。下面列举一下接触客户问题以来,碰到的十大棘手问题。呵呵,说是棘手,也不一定很棘手的,但不少问题要解决起来肯定是有些麻烦的。

1、偶尔出现的

偶尔再现的问题,也就是不稳定重现,有时会有问题,有时没问题。这种问题真的很让人纠结,所以把它放在第一位。此类问题可能不一定是很难,但是却很考验你的耐性、注意力及解决问题时所考虑到的宽度和广度。举一个例子,有客户说,服务器从其它机器上取回来的数据,有时候会少几条,有时却不会少。根据这种场景,如果有客户在使用你的系统,也报了这样的问题,应该怎样处理呢?

2、关于某个数是怎么计算出来的

这个可能不算什么验证,不过有时候却很耗时。如果这个模块是自己开发的,具体计算公式、逻辑自己都比较清楚的,那这个就不算问题,也不用花多少时间。

3、与其它工具对比的

某一次,客户问我,怎么你系统算出来的内存使用率与Linux上自带的工具不一样呢?与第二条类似,需要对系统使用的计算规则及其它第三方系统都比较熟悉。还有一次,客户问我为什么Linux Cache不计入到已使用内存中, 这个由于客户不熟悉Linux系统,如果自己也不熟悉,那就不知道怎么解释了。

4、系统集成方面的

与第三方系统集成时,经常会碰到一些麻烦的问题,比如数据丢失,或集成时工作不正常之类。给我印象最深的就是SSO(单点登录)的功能了,与AD做了集成,有时候在客户环境就会报AD用户不能正常登录。有时候客户在AD服务器那边修改了数据,导致存储在我们系统这边的数据出现重复记录。有时还会碰到什么跨域访问之类的问题或需求。

5、协议方面的

通过某协议跟目标机器建立连接,会出现连接失败导致不能收集数据,连接不稳定,个别查询出问题,增加连接数容易导致连接中断等各种各样的问题。比如通过WMI容易出现占用资源过多的情况,连接多增多的情况会出现严重性能问题。再比如WinRM参数比较多,有些客户喜欢搞搞研究的,不小心改了某个参数,导致数据不能收集,但客户又没那么老实或是想不起来改了什么,只好下功夫去慢慢排查了。协议方面的知道如果经常使用还好,如果有一段时间不使用,下一次再使用,感觉就什么都记不起来了那样。

6、是否会对其它模块造成影响的

这类型的问题说难倒没有那么难,但还是有些麻烦。比如,如果客户想在平台删除某个子系统的一条对象,但是又担心会影响到历史数据或是其它数据,来跟你确认能不能删除,会不会带来其它不良影响的。由于子系统不是你负责的,你可能也不那么清楚里面的逻辑,这种情况下即使你知道不会对其它模块或其它数据造成影响的,也还是打上十二分精神,小心谨慎,因为,如果连同其它数据也一起被删除了,那后果会不会有点严重呢,毕竟客户有说明了。当然,即使客户没特别说明,我们也是要万分谨慎的。

7、客户安全规定的

这个也不算会很难的,但是这里不得不说的是,有些客户的内部规定实在很强大啊。比如说,有些客户内部规定,重启个服务,拿个系统日志,做个什么参数更改之类的,都要走审批流程,这样一来一回,一个星期过去了,才顺利拿到系统日志,最后不得不说,时间都去那里了。还有些客户的敏感部门,安全意识实在太强大了,不给你检查系统的,系统日志也不直接提供给你,他们可能会把一些信息,如机器名称、IP等他们认为敏感的数据,清除之后,再把这样的日志给你,这样的日志,分析起来无形中增加了困难。

8、跟客户环境相关的

这个不用解释,相信很多人都会遇到,就是这样的问题只有客户环境才有,咱们是无法重现的。最近一个客户报上一个问题,说有300多个子系统连接上服务器,就经常出现子系统连接中断的情况,导致有些数据不能正常收集。哎,这种情况我们可以花费了好大的精力,搭建环境、模块场景来测试,结果就是不能重现客户的问题。没办法,把所有相关的人叫在一起,对着客户的日志,一条一条地分析,是不是有资源占用了,是不是LOCK有问题啊。。。这样的问题,给你碰上一个你就知道什么感受了。

9、前后两个版本表现不一致的

这类型的也很容易理解,就是新版本和旧版本在某些功能上的表现会有些差异。当然,如果这种差异确实是个问题,而且客户不接受的,那还是自己的事情没做好,系统兼容性没做好,那就老老实实地给客户解决问题吧。给我印象最深的就是,我手上的一个生成报表的功能,客户一直在使用旧版本了,后来为了升级JDK,就想着升级我们的报表工具,升级完成后,对比旧系统和新系统生成的报表,发现在新系统上生成的报表,有一列某些内容向右移动了几个像素的位置,这时候如果在那个地方显示的内容多了一些,就会出现内容重叠的问题,大部分情况是没问题的,这个问题真不容易发现,在旧系统上就不存在这个问题,所以还是我们的工作没做好。这个问题,我可以连接花了一周的时间,查找问题,对比代码,最后终于给我找出来了,毕竟不是所有东西都是自己负责的,需要些时间是处理这个问题也是正常的。

10、有需要开网络会议却又在“相反”时区的

虽然这种情况不多,但有时候时间上确实有些不好安排。有些客户在白天12点时,我们是晚上1点,碰到这样的客户要跟我们开会时,只好减少睡眠了。有一次,好不容易协调好时间,下等6点半开会的,结果网络慢得要命,远程操作客户机子时,点击一下鼠标都要等上好几秒才有反应,本来计划要开一个小时的会议,结果给拖到了快9点钟,下次吸取了教训,先吃饭饭再开会。还有一次,本来说是早上6点开会的,结果改了时间,提前半个小时,发了邮件我没看到,技术支持和其它区域的开会就跟客户在开着,6点的时候闹钟一叫,马上起来,结果发现会议都差不多开会了。。。

除了这类型的问题,当然还有其它各种各样的问题,比如内存溢出、数据库数据过多等问题,这些问题虽然也很难解决,但是我觉得不少这问题,都会有一条主线,顺着这条主线,从上到少,解决起来有种水到渠成的感觉,有个别的这种问题解决起来还很轻松。除了以上列举的问题,我相信,以后总会有其它形形色色的问题等着我,当然,我们开发的也要主动出击,测试的也要加把劲,多覆盖各种各样的场景,降低问题发生在客户的可能性,这样,才是解决问题的根本之道,这样,客户使用起来也比较轻松,也就会越来越喜欢使用我们的产品。

工作中的十大棘手难题相关推荐

  1. SAP系统实际应用中的十大难题

    SAP系统实际应用中的十大难题 难题1:采购料维修 如果有物料坏了,需要退回给供应商处维修,此时一般不做退货.因为,第一,供应商不一定会乐意:第二,往来单据也无谓地增多:第三,最重要的,它实际上不是一 ...

  2. 计算机领域十大世界难题,最强思维碰撞:世界十大逻辑难题

    逻辑作为一种思维规律,其思维过程是抽象的.而其中包含的学问,更是十分深奥,若没有深度的思维碰撞,或许很难产生出对逻辑问题的正确理解.下面,就让我们走进民族文化,感受世界十大逻辑难题对脑细胞的撞击吧. ...

  3. python图片-Python中的十大图像处理工具

    原标题:Python中的十大图像处理工具 导读:本文主要介绍了一些简单易懂最常用的Python图像处理库. 作者:Parul Pandey 来源:大数据文摘(ID:BigDataDigest) 当今世 ...

  4. c++ vs2015 播放音乐_Linux 中的十大开源视频播放器

    (给Linux爱好者加星标,提升Linux技能) 编译:linux中国-lujun9972,作者:Stella Aldridge https://linux.cn/article-11481-1.ht ...

  5. 谈马云创业人生中的十大苦难

    马云的成功是很多人羡慕及向往的;也有不少人因各种原因指责唾骂的!乐晨也曾有一段时间因为听说阿里是日本商人孙正义的,认为他是在给日本人打工(没办法,痛恨日本人)心里不免骂他!但事后冷静后细想,如果那时国 ...

  6. Kali Linux中的十大WiFi攻击工具介绍

    本文讲的是Kali Linux中的十大WiFi攻击工具介绍,在这十大WiFi攻击黑客工具中,我们将讨论一个非常受欢迎的主题:无线网络攻击以及如何防止黑客入侵.无线网络通常是网络的一个弱点,因为WiFi ...

  7. 基础科研探索推进中的十大关系

    编者按 这篇文章论述了基础科研中的十大关系,对当前国内基础科研中存在的一些关系不清.学科不分和专业概念混淆等现象,给出了作者自己鲜明的看法和中肯的建议. 编者赞同作者的见解:科学认知是一种当前的&qu ...

  8. linux bash 效率,提高Linux工作效率的十大bash技巧

    原标题:提高Linux工作效率的十大bash技巧 " 希望我的这些追求最大化命令行效率的努力成果也能给其他喜欢使用bash的朋友们带来一些帮助. 我喜欢钻研bash环境.很多时候,在使用ba ...

  9. 采购管理三大误区及提高采购工作效率的十大方法

    采购管理是计划下达.采购单生成.采购单执行.到货接收.检验入库.采购发票的收集到采购结算的采购活动的全过程,对采购过程中物流运动的各个环节状态进行严密的跟踪.监督,实现对企业采购活动执行过程的科学管理 ...

  10. 避免人为灾难:盘点数据中心里十大愚蠢行为

    对于企业运营,数据中心从设计.部署等各个环节都有极其严格的规范,保证简单的"题目"不出错也需要企业IT管理人员的智慧,在数据中心任何一个小错误往往会带来巨大灾难.数据中心从设计.部 ...

最新文章

  1. 再次体会wireshark的威力!
  2. 一次实现可以在某些场合替代菱形继承?
  3. OS- -I/O之I/O设备
  4. OMEGA3-补充注意事项
  5. 登录后 可编辑页面 php,如何查找和编辑登录的php页面以及更改详细信息 - WordPress - srcmini...
  6. ubuntu wifi
  7. Word 2003中对不同的节设置不同的页面边框的特殊情况小结
  8. 判断是否是64位操作系统
  9. 拥抱开源,需要跨越哪些鸿沟? ————《Open Life —— 有关开源的哲学》读后感...
  10. 乒乓球单循环赛_乒乓球单循环比赛如何计算得分排名(实用方法)
  11. Imdisk 虚拟磁盘 » A programmer's site
  12. P2504 [HAOI2006]聪明的猴子-题目详解
  13. Modeling and Enhancing Low-Quality Retinal Fundus Images
  14. 【代码质量】嵌入式编程节约内存技巧
  15. oracle数据库等待事件
  16. IE浏览器版本检测小结
  17. java html读取数据库数据类型,从Word(Docx)读取方程式和公式到html并使用java保存数据库(示例代码)...
  18. android vitamio集成教程,集成Vitamio实现万能播放器(示例代码)
  19. 量子计算机如何预知未来,刘慈欣《镜子》中量子计算机成真?科学家计划用数学预测宇宙未来...
  20. TypeScript 协变和逆变

热门文章

  1. 微信pc无法卡开word文件,点击文件提示“目录名无效“
  2. Ubuntu下安装多个Java及切换
  3. VS隐藏菜单插件 Hide Main Menu
  4. FontForge 修改,删除,设计字体
  5. ttf字体转换成woff2网页字体快捷方法
  6. Apq.Threading.js
  7. centso系统命令来源查询
  8. html怎么画表格边框,WEB 制作1px边框表格的几种方法
  9. oracle 索引详解 注:转自红黑联盟非原创
  10. SD卡格式化重建分区