为什么要写这篇?

既然都过去这么久了,都回忆不起来了,为什么还要整理出来这篇文章呢?

这还要追溯到2018年3月份。

当时换工作,面试了国内某知名电视厂商。

简历上面写了我优化改造了bug管理系统mantis。

结果被面试官以打破砂锅问到底的方式,ko了。

我支支吾吾的完全答不上来,只能尴尴尬尬的笑一笑。

Q:你简历上面写了这个优化改造,说一下?
A:我是根据网上的开源代码,做了一些修改,然后引入到公司的

Q:具体修改了哪些代码?
A:大体上就是增加了一些代码,修改了一些代码,嗯,对,就是增删改查,差不多(尴尬笑)

Q:增加了哪些,修改了哪些?
A:恩,具体记不太清楚了,时间有点久了,两年前做的了,就是改了一些参数吧(尴尬笑)

Q:什么参数?
A:不记得了(尴尬笑)

Q:那你总有印象深刻的,到底改了什么?
A:有个日期控件的改动,记得当时折腾了挺久的

Q:具体改了什么?
A:好像是,实在是记不清楚了(尴尬笑+心虚)

整理结果

于是,

这次我不惜写了python脚本,

按最后修改日期筛选文件,

和原文件做了比对,

整理了如下这个关于“我到底改了哪些东西”的excel。



分析结论

结论很明显,我没有写过php!我也不会写!

如果非得和技术沾边的话:

  1. 阅读代码

    删除代码、调整代码位置、修改代码等,都是基于阅读代码的前提来完成的。

    虽然没写过,但是能读懂php!这很关键!

  2. 依葫芦画瓢

    新增代码和修改代码,很多都是依葫芦画瓢的,根据类似的代码,适当修改一下其中部分变量。

  3. 照搬网上

    也有按照网上教程来改造的,比如管理员可直接修改密码、导出文件格式等。

经过这次梳理,现在我已完全不虚:

Q:你简历上面写了这个优化改造,说一下?
A:我的博客上面有关于这块的两篇文章(神秘微笑)

鱼刺

当时面试被问到印象深刻的改动,我提到了第31行这个修改,

我说有个日期选择框,在改动的时候折腾了挺久的,

但追问具体内容的时候,我没有答上来。

通过今天的梳理,这根卡在喉咙的鱼刺,终于消解了。

原系统有问题:
1、默认日期下拉框灰显,“是否使用日期过滤”勾选上,才可选择日期。


2、选择日期查询后,第二次修改日期,日期下拉框又变成灰显的了。


3、需要去掉勾选“是否使用日期过滤”,再重新勾选上,才能编辑日期下拉框。

解决:一步步排查代码发现,是common.js里面有相关的判断代码导致,于是去掉了。

印象深刻的原因,应该是觉得,我居然一路排查,最后改了common.js这个文件吧。

最新文章

  1. android删除无用资源文件的python脚本
  2. 浅谈WCF的三种通信模式:请求响应模式、数据报模式和双工通讯模式
  3. 从inet_pton()看大小端字节序
  4. cargo failed to finish deploying within the timeout period [120000]
  5. [转]NPOI 单元格级别应用
  6. 学习K&R时初学者经常遇到的一个问题——EOF
  7. Inno Setup 插件大全
  8. PL/pgSQL函数带output参数例子
  9. 简单的jquery选择器的实现
  10. Java学习----接口
  11. 12.04 css小测div+css...
  12. linux c++爬虫(一)
  13. 写给后端的前端笔记:定位(position)
  14. 用原型代替PRD时,原型应该包含哪些内容
  15. 安装 cgilib 0.5
  16. 修改hostname
  17. 【Selenium-WebDriver自学】出现的问题和解决方案(十七)
  18. java的classLoader分析与jettty的WebAppClassLoader
  19. (转) rabbitmq应用场景
  20. 团队作业4 Alpha冲刺《嗨!你的快递》

热门文章

  1. 系统去掉 Android 4.4.2 的StatusBar和NavigationBar
  2. ++*p,(*p)++,*p++与*++p四者的区别
  3. JavaScript随机数区间限制
  4. 服务器返回JSON,IE出现下载问题
  5. 6.游戏特别离不开脚本(3)-JS脚本操作java(3)(直接操作JS文件或者调用函数)
  6. 深度学习入门-4.1 AND.py 源码分析
  7. mini_magick
  8. HDFS运维和优化
  9. js遍历map
  10. vue 数组和对象渲染问题