关于我是怎么亲手断送自己的未来的
事故一
毕业了由于比较牛鼻
直接进了某运营商工作
有一天接了一个任务
要求写一个群发通知短信的代码
当天大脑短路没改代码
接上了生产环境直接撸
代码循环所有运营商内手机号
发送最新优惠活动
编码 测试 完蛋
写成死循环了
发现问题了之后及时停止程序
还好
只是给数据库中的第一个号码发了一千条短信
继续 编码 测试 成功
收拾东西回家睡觉
第二天 我就失业了
大家猜运营商数据库第一个号码是谁的?
其实我也不知道
只是去结算工资的时候
人力说开除我的人的级别很高
事故二
失业了之后
由于之前有在运营商的经历(咋失业的我没说)
进到了某智能卡卡商公司
开发食堂智能卡
代码测试都很正常
就是并发承载能力一般
不过同时刷个四五笔还是可以的
本着实用主义精神
性能无所谓能用就行的态度
我打电话问食堂平常吃饭人多么
答 做的太难吃基本没有人来
于是信心满满
下发到某高校食堂直接使用
收拾东西回家睡觉
第二天我就失业了
学生发现在食堂吃饭刷了一定笔数之后
吃饭突然不花钱了
然后他们发现由于食堂的小卖铺也是用卡收费的
买零食饮料也不花钱了
于是所有学生都跑到食堂去刷零食
食堂小卖铺直接被学生拿空了
我想那天一定是一个非常开心的日子
学校来找公司要钱
公司说你直接走吧
工资不发了赔给学校
我后来算了算工资应该不够赔的
嗯 大企业果然有担当
我觉得我应该是赚了
事故三
(马上要下班了 写日报之前顺更一下)
失业了之后我就去了另一个卡商上班
听说我去对手公司
我的老领导很开心的在我的离职报告上签了字
并且加上评语
此员工贼牛逼
本集团庙小容不下此大佛云云
新公司业务跟老公司几乎重叠
因为有上一个公司的经验(事故经验)
反而顺分顺水干了不久带了项目组
后来有一次让我去跟一个祖传屎山
这个项目已经被n多程序员和傻逼产品经理轮了2n遍
代码逻辑混乱 各种编码风格迥异
文档几乎没有
bug情况是诡异的进程消失
运行一段时间之后
程序自杀了……
我改了好几个星期终于定位到具体位置
发现原来是tmd内存溢出了
当然为什么溢出 我哪里会知道
那一块代码上面有上上上次的工程师的注释
“//do not touch
//one touch then die ”
想尽办法之后
我在溢出的方向给了3倍的内存空间
并且增加了守护进程
你要自杀 对不起 我不允许
收拾东西回家睡觉
第二天
公司一片混乱
除了我的组以外
其他的项目组的模块都崩溃了
那几个经理都哭了
代码找了问题找了很多遍
怎么找也找不到问题
况且以前好好得
客服一直在给客户道歉
我的组员们都在边上看笑话
然后老总很聪明
让那个没bug的项目经理来
解救众生
由于通宵加班还在睡觉的我
就被电话催到公司来了
得知问题的我淡定一笑
偷偷的把我的程序进程用命令杀掉
然后
都好了……
大抵超级英雄都是这个样子罢
事故四
超级英雄就要有超级英雄的待遇
于是每周的技术分享
我就经常是站在台上哔哔扯扯的那个
其实原本我挺喜欢这个安排的
因为不但周五下午可以不上班
还可以摸鱼
装作很认证听的样子
然后神游太虚
但是我不喜欢在台上
每天绞尽脑汁想给大家讲什么是很痛苦的事儿
最后实在没辙了想想还是讲代码吧
正好可以把现在的项目查一遍
于是拿出了祖传屎山
屎山一出效果无敌
大家都精神了起来
都想看看这传说的代码是个啥子样子
于是我口若悬河尽情的吐槽这个代码的垃圾
一段一段的分析写这段代码时候程序员的精神状态
讲到精彩之处
听众都会开心的向我丢中性笔
有一次
竟然在过程中找到一个bug
这个bug及其的低级
大概就是i++和++i之类的前后赋值问题
这个人上头了就要干傻事儿
和精虫上脑了一样
我突发奇想想看看这个代码是谁写的
打开svn
在各个领导的众目睽睽之下
发现更新日期定个在半个月以前
作者是我自己……
直接社死……
100追更更新
我核酸了六遍
核酸的小护士总是借机会
摸我的嘴……
再写一个事故吧
这个不是我的
是我师弟的
某市尝试机器分校
小升初试点
系统吖做的
正式分校前一天
内部测试预分校
准备先给领导看看
问题领导有很多
年纪都不小了
输入个账号密码
也是费劲儿
于是吖打开鉴权
发布公共访问链接
给领导们看了个
云山雾罩
走马观花
主管领导看完表示
知道了 明天分
吖高兴
关机 下班 睡觉
公共地址没关…
晚上此链接在各个家长手中
以各种方式传播
经过内部人士鉴定
域名没错就是分校结果无疑
第二天正式分校结果出炉
所有家长发现分校结果变了
自家孩子原本是重点的
却后来分到普通校
家长认为
这绝对不是系统问题
也不是自己的问题
定是有贪官作祟
抢了她家娃的名额
拿出去卖了
一时之间六大门派围攻光明顶
机关门口挤满了人
要求
杀尽贪官污吏
内惩国贼
领导说
即便你有委屈有不甘
你看外面的人民群众
需要个交代
...
于是 第二天公司就地解散
后果不只是简单的赔钱丢人
过了好多年我又见到了他
上次遇见还是此间少年
意气风发挥斥方裘
此时觥筹交错之间
已见鬓角斑驳头顶透光
他说
世间的一切经历都是磨砺
磨砺中走出只会变强
儿子要小升初去好学校差钱
他凑了九万
就差我这一万
下月就还
我说
借钱没有老命一条
却借口上厕所偷偷的在微信转过去五千
留言告诉他不用还了
顺手拉黑直接走掉
有空再更
有些故事牵扯太大
我只能
无中生友
师门繁殖
有丝分裂
各位看官
就哈哈哈哈就行
勿详细追究
写的这个bug差点直接坑死我的领导,得匿。
上一家公司是一家集团的子公司,所在的集团体量很大,官僚气息严重,讲原则,讲政治,上下级界限明显,这是背景。
有一天,集团上派发下来一个任务,内容很简单,为一个活动做个H5页面,这边没什么可说的。这个H5里面有一个页面,类似电影电视结束、游戏通关之后的工作人员列表。
这个页面很重要,因为这里会展示集团领导的名字。从根本不知道还有这个项目的集团老板开始,到具体负责这个项目的基层负责人,都在其列。
这个h5体量不大,很快就做完了。期间我的老板过来跟我讲,让我把他的名字也加进那个页面中去,我就照做了。
但是!也许是当时加班太累了,一时疏忽,加上我老板名字的同时,不小心删掉了集团里另一位中层领导的名字。
当晚,我完成了这个h5的开发工作,按流程部署测试环境,并提交测试。当晚,那位集团中层领导不知道为什么,看到了尚未正式发布,还在进行测试的项目,并且敏锐的发现:自己的名字不见了,换上了我公司领导的名字。
后面具体发生了什么事情,细节我就不清楚了,不过回顾一下前文提到的故事背景:
所在的集团体量很大,官僚气息严重,讲原则,讲政治,上下级界限明显。
也很容易猜的出来了,大概就是往抢班夺权这方面发展了吧。
也不知道那位集团领导,会不会相信,这一切,真的只是我加班太多,手滑写的一个文案bug啊!
一个bug让公司多赔300万。。
我在保险公司写代码,
每天都快乐的写代码。
有一天来了个理赔的需求,
看起来好简单哦。。。
三下五除二,搞定!
15年前的保险公司IT很弱的(现在也不强),
开发、测试都是我一个。。。
我写的代码那么棒!!
怎么还需要测试?
直接提交到SVN。。
等着上线吧您嘞~~
上线后第一天稳稳当当 :-D
上线后第一周稳稳当当 :-D
上线后第一个月。。。
理赔的人炸锅了!!!!
为啥有的人多赔了好几笔一样的钱???
300万啊,赶紧找IT那小子!!!
慌了慌了。。。
手心冒汗,脑子空白。。。
老大啥也没说,抄起电话,让分公司的人去要钱!!!
万幸都是知书达理的客户,
两天多赔出去的钱都追回来了!!!
老大只让写了一封检查。。。。
唉。。。
那该死的for循环!!!!
还有那让人死心塌地的老大❤❤❤
当然是上班的代码啦。女娲在捏人时,给我设置了965的工作时间,她以为我每周一到周五上班,结果因为代码一个bug......
哎,说多了都是泪,大家来看看这个bug在哪吧。(提示:C语言)
if(day >= MONDAY && day <= FRIDAY) if(hour >=9 && hour <= 18) wakeup(); goto work;
我是前端,但是我的后端曾经写过一个让整个服务器崩掉的代码。
我没详细看他写的内容,但是功能是判断一个用户是否具有权限,需要调用别人的接口来查找具体用户信息。
本来是一个很正常的功能,可是呢,因为第三方接口限制,每次只能在数据库找一个用户(其实让别人加接口就是了),于是我的后端搭档动起了他的聪明脑袋,在一个for循环中按索引发送请求找人。
内测的时候在公司内网,没发现什么问题,一去测试环境做压力测试,噩梦就来了。服务器直接崩了,查日志发现一个下午产生5G的日志文件。最后我们其他人都去围观他写的代码,才发现他在for里循环发请求,上千个用户,每人请求一次服务器都顶不住。
我听他们讨论都被逗笑了。
在上家公司我写了这么一段代码,正好被老板给看到了。
public Boss { private asshole; }
然后第二天我就失业了。
系统升级。
本来是需要删掉多对多的映射记录,结果大意的搞了个bug,直接把目标记录给删了。
相当于,某微信用户想解除和另外一微信用户的好友关系,结果一旦解除,就会把对方的微信账号给注销了。
大概过了快一个星期,另外一个部门的小头头神秘兮兮的找我说,他感觉公司有内鬼。因为他们部门有个员工发布东西会莫名其妙的没了。
因着职业的敏感性,我好像预感到了什么。连夜又重新过了一遍,在测试环境上测来测去,最后终于找到bug并修复了。
吓了一身冷汗。
DELL笔记本ODM(代工厂),之前因为三星NOTE6 爆炸事故,后来所有空运的电子设备,必须保证充电在电池容量的60%以下,所以就有了喜闻乐见的限制电池电量的操作。开了N多会议,最后决定,这个动作,要加到我们部门的流程里面,而我们的流程就是电脑上包装之前的一个站别。就这样老板说让我测试。黑盒白盒一起上,中间问题无数。。。。最后拿出来的办法是在传Pass给系统的时候,用tool实现限制电量。将我写的脚本加到流程之后,一个GOTO语句的定位失败,后续有两个这个标识,一模一样set time,然后就goto到第一个,然后…………然后这玩意儿导入量产,四万多台机器,都被我弄来没有关闭工厂模式,电池只能充到60%,不能往上充了。。。。。。。一打开电脑,按键盘,电脑不停的响……三天之后,被质检查到,已经出货20000多台,还有20000多台在线上,后续就是,我这辈子没见过的董事长,亲自召见,去公司最高级别的会议上做详细报告,客诉电话堆到爆炸……直接赔给DELL 3000多万。。。。。。最后开会说明,只要是人就会犯错,也没把我开了。最后的最后,公司因为此事,所有代码上线前,必须让最高级别领导同意才可以导入…………
鄙人当年查出过一个惊天大bug,其实bug并不高级,是一个unsigned 32位计数器溢出,每秒1000个ticks,所以系统每49天崩溃一次。电信级设备,500万用户,哈哈,当时那个酸爽啊。由于在极大的压力下找出这个bug,挽回数千万损失的原因,当年被连升两个职级,同时被评为优秀员工。
不是我写的,是我见过的。
登录功能,把用户表的所有用户信息整个传到前端,for循环遍历核对有没有正确的账号密码。。。。。
测试环境就几十个用户数据跑的还挺快。。。。
还好叫我给拦住了,没给上生产。
这写法直接震惊我一百年。
Bug算什么,下面这个我直接人没了。
之前公司来了一个穿短裙的漂亮程序媛,只能说我们公司的男程序员眼睛都亮了,
结果一等到干活了,说是还想等着技术总监给搭矿建呢,当时我就蒙了。
各种环境配置完了之后,总算开工了,过程什么的我就不管了,问别人去吧。
结果收代码的时候给了我个惊喜,长度long_rice,高度high_rice,当时看的时候实在没明白这脑回路到底是个什么套路,跑去问她这是什么意思。
她振振有词地说:他们给我说的呀,命名的时候最好要体现度量单位。
请问rice是个什么单位?这是谁家的大米粒?
1996年6月4日,阿丽亚娜5型运载火箭(Ariane 5)在法国库鲁的欧洲运载火箭发射场发射,37秒后火箭解体并爆炸。火箭的开发费用大约70亿美元,火箭本体及运载的设备价值约5亿美元。
这个bug的学名叫integer Overflow
事故原因来自将火箭的水平速度的64位浮点数转换成16位整数时的溢出。
通俗点说就是原来一个数是由64个空间存放,但是为了节省存储空间,就用了16个空间进行存放,这叫强制转换,在大空间往小空间转换在之前没问题,因为上一代型号Ariane 4速度没有5代快,但这次就出问题了。
贴一个很形象的解释
我们先看下整数最大值如果再+1会怎样?
int i = Integer.MAX_VALUE; System.out.println(i+1);
System.out.println(Integer.MIN_VALUE);
发现结果是:-2147483648,是负数!!而且是整数的最小值!
因此再一直加1是不是又到了0 然后到10,然后又打印一次对吧,然后继续循环.....
小伙伴们运行就会发现,打印了好多次10。
那么为什么会酱紫??
int 类型在 Java 中是“有符号”的,所谓“有符号”就是有正负。
大家知道计算机中用二进制表示所有的信息,java中整数是4个字节(一个字节8位)即32位,其中首位是符号位,如果是1表示负数,0则表示整数。
但是如果正数过大了,例如 2^31,计算机不得不把首位变成 1,并且很快就忘了这是溢出情况,把它按照正常的方式输出了,于是就成了负的。
其实也不能怪它,它没有办法自动处理超过溢出的情况,因为 32 位是固定的,它不能因为溢出而临时扩展到 33 位之类的。
这和钟表很相似,
十二小时表示法的时钟,转到了中午12点,然后会怎样???
盘面就那么大总不能给你变出个13吧?虽然我们知道是下午1点,但是其盘面的效果和凌晨1点没区别。
2^31 - 1 = 0111 1111 1111 1111 1111 1111 1111 1111 = 2147483647
2^31 = 2^31 - 1 + 1 = 1000 0000 0000 0000 0000 0000 0000 0000 = -2147483648
溢出变成 0 的话道理也一样。你想如果一个数大到最后 32 位都是 0 了,那计算机只能把它认作 0。
这种情况有很多,例如 2^32 就是一共 33 位,首位 1,后面 32 位都是 0。
我们从二进制的角度可以清晰的认识到,2^31 - 1 = 0111 1111 1111 1111 1111 1111 1111 1111 = 2147483647 加一后(二进制逢二进一)确实是整数能表示的最小值 2^31 = 2^31 - 1 + 1 = 1000 0000 0000 0000 0000 0000 0000 0000 = -2147483648。
另外为啥整数的最大值是2的31次方-1,而不是32次方??
因为首位是符号位,因此数据位只有31位。31位全为1才是最大值
那么值为 2^30+2^29+...+2^0 = 2^31-1次。
为啥最小值是2^31?
最小值肯定为负数,则首位为1,那么剩下31位最小的话必定都为0。因此值为1*2^31+0+...+0=2^31。
正所谓否极泰来便是如此。
在我刚毕业进入一家刷卡支付公司工作,是个创业公司长期权限管理混乱。
在一个阳光明媚的下午,我日常操作中进行数据库表数据清除,但是这次有点意外平常都是两三秒就执行完毕,这次竟然卡的了十来秒都没执行完,正当我疑惑的时候突然部门老大冲进办公室大喊系统异常了,我心头一紧不安的看了一下数据库连接地址,我了个去是生产环境,我立马用0.01秒的手速停止了运行,然而为时已晚脑袋里一直闪烁出一句话:删库到跑路。 在几十秒的挣扎后我还是鼓起勇气走向了老大,跟他说:老大我知道什么原因了。
老大开心的看着我说:可以啊这么快找出问题了,赶快去解决,会后分析问题原因。
我诺诺的说道:我可能解决不了,我不小心删错库了。
只见老大脸色一镇,不敢置信的看着我,过了几秒后大喊:A(运维工程师)赶快过下。
最后在运维加外请的大佬还有我通过binlog日志恢复数据库连续肝了17小时才解决。
从那天开始所有生产权限全部上收。
因为这事我心身剧累,在那周四请假出去旅游放松心情。
当我周一回来上班后发现公司安静的可怕,我询问了一个跟我关系比较好的同事发生了什么事情。
他跟我说道:你出去旅游的时候线上出重大bug了。
我骄傲的笑道:还有比我删库的事严重。
当我说完这句话看到他一脸平静且不屑的表情时,我感觉到疑惑。
他安静的说道:周六晚上B同事为了赶进度,方便自己测试在代码写死了00成功,忘了删除直接上了生产, 交易跑了一个上午才被发现,公司统计大概亏了上百万了。
我:啊这............
这件事后,项目上线必须代码过审,测试人员同意才行。
我和那同事通过个人能力,为公司的制度规范做出了前所未有的贡献,以致于现在都经常被拿出来当模范表扬。
哇,第一次这么多赞,谢谢各位大佬们,还有大家放心我已经很久没有删库跑路了。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有