两周前来的初创公司,当时来面试的时候说之前的 代码是外包写的,我已经有心理准备了.
但是却没想到,居然这么渣.
这只是冰山一脚,for 循环用的出神入化,sql 拼的清新脱俗,
没有用户登陆认证的说法,只需要传 userId 来识别用户身份,
没有任何安全意识,用户列表直接返回了用户的所有信息,包括手机号 密码(明文).
没有订单概念,微信支付只负责生成订单 id,不保存,支付宝由客户端自己生成订单(私钥当然也在 app 啦~)支付成功后由客户端直接提交 userid,money 直接存放数据库..
数据库有一个查询要 14 秒 ,居然还不建索引,不优化.不过想想 之前的 sql,也就明白了
这仍然只是冰山一角.
负责人不懂技术,现在技术只剩下两个 ios 和我了(说是目前不打算做 android)
现在年底了.工作不太好找.不造该咋办了.
工作正好2年半,不过学历是大专
1
Miy4mori 2016-12-19 15:25:04 +08:00 via Android
大兄弟,赶紧另谋出路吧!
|
4
zhuangzhuang1988 2016-12-19 15:32:36 +08:00
我草, 网站 /api 在哪里, 可以测试注入了
|
5
775229836 2016-12-19 15:37:17 +08:00
我就看看不说话,你加油吧
|
6
ipconfiger 2016-12-19 15:38:07 +08:00
外包的不就这样子了么
|
7
helloccav 2016-12-19 15:40:22 +08:00
如果老板能认识到之前的代码多么烂并肯定你的能力与工作,那还是可以待下去的,否则就走人吧
|
8
dapeng 2016-12-19 15:40:42 +08:00
我也要尝试下注入玩玩
|
9
murmur 2016-12-19 15:41:33 +08:00
绝佳的新人练手网站
|
10
lusyoe 2016-12-19 15:41:42 +08:00 via iPhone
我这也差不多啊,刚入职发现项目连 MVC 都没划分,业务逻辑加数据库查询全部写在 Struts 的 Action(Controller)中。。
|
11
qinxi OP @zhuangzhuang1988 根本就不需要人刻意注入, 上周他们说报错了.我一看.他们的参数有个 King's College London .我摊手,他这个 hibernate 封装是那个外包公司自己的.没有源码,只有 jar.
数据库密码 root root,刚入职时候跟我说数据库天天崩,要重启...后来我查到是被黑了,告诉他们,他们说 以前数据被清空过....那居然还没人管... |
12
chocotan 2016-12-19 15:46:28 +08:00
面试的时候得了解清楚
我待的第一家公司也不比楼主现在的好到哪里去...... |
13
sorcerer 2016-12-19 15:47:02 +08:00 via iPhone
@lusyoe 我这边自己写内部小系统没仔细划分 service 层和 dao 层。貌似你们更绝...
|
14
sagaxu 2016-12-19 15:48:50 +08:00
永远不要接盘外包代码,一帮月薪 10k 左右的人能写的出能用的代码吗?
|
15
lijsh 2016-12-19 15:50:18 +08:00 11
我比你惨,几个月前 CTO 拉了个前端架构师写了个项目后来让我接手,好家伙,完全不搞模块化,变量、函数挂在 windows 上,明明引入了 Vue.js 还是大量 jQuery 操作 DOM ,异步状态也混乱,用 setTimeout 解决异步变量依赖……
有两次我实在引不住了,直接拉他过来吐槽,然后这个项目完了后我被炒了。 呵呵。 |
16
fwrq41251 2016-12-19 15:50:37 +08:00
你们的数据库似乎还有三种命名风格,驼峰,下划线,全小写。。
先在公司划一划,等明年换工作吧。 |
17
qfdk 2016-12-19 15:52:16 +08:00 via Android
告诉我 哪个公司 我绝对不会去注册 免得出现在 xxlove2017 数据库中
|
19
xrlin 2016-12-19 15:59:28 +08:00 via iPhone
666, 绝佳网络攻击练手网站(⁎⁍̴̛ᴗ⁍̴̛⁎)
|
20
VaneHay 2016-12-19 16:00:02 +08:00
等签完字,马上离职.也是外包公司,干了半年,真心累了.不过不在帝都,魔都
|
24
scys 2016-12-19 16:07:21 +08:00
楼主你去的是技术公司?
还是去销售公司? |
26
ilanyu 2016-12-19 16:14:23 +08:00 via Android
厉害了我的玺
|
27
Bown 2016-12-19 16:17:01 +08:00
start size returnType 这是 IDEA 的什么插件吗
|
28
robinshi2010 2016-12-19 16:19:52 +08:00
求问给多少钱才把你骗去的。
|
29
Heinz 2016-12-19 16:20:26 +08:00 via iPhone
心疼
|
31
qinxi OP @robinshi2010 15 ...是不是很没出息
|
33
wupher 2016-12-19 16:29:49 +08:00
能说说是哪家初创公司么?帮它做个安全测试。
|
35
TIGERB 2016-12-19 16:38:31 +08:00
开辟一片属于你的天地吧~
|
36
SunnyCoffee 2016-12-19 16:46:11 +08:00
这是练习重构的好机会
|
37
AltairT 2016-12-19 16:50:08 +08:00 via iPhone
只加功能少多事,你们头也不懂,你做好事也不一定领情的,以后出了问题都是你的锅😂
|
38
annielong 2016-12-19 16:50:38 +08:00
for 用的真是出神入化,
|
40
irainsoft 2016-12-19 16:55:05 +08:00
哈哈哈哈千万别把网址漏出来否则肯定一堆人想下手
for 循环用的出神入化,sql 拼的清新脱俗 这句好顺口 2333333 |
41
Rice 2016-12-19 16:56:41 +08:00
去年我做的公司就是这样,连我个前端都看出他数据库和后台有问题了,赶紧找了个借口跑了。
|
42
coderluan 2016-12-19 17:08:30 +08:00
从市场需求角度来说,很正常,先和公司反映一下,把主要问题和风险指明了,保留邮件,防止背锅,剩下的看公司决定。
|
44
Mogugugugu 2016-12-19 17:15:54 +08:00
外包都是这种代码....开发速度至上,老板等不及,客户也等不及。这很正常的,很多都是代码生成器直接生成的。。。
|
45
Email 2016-12-19 17:16:23 +08:00 2
```
for (int i = 0; i < 1000; i++) { save(); //存一千次 保证存成功 } ``` 我又想起了这一段代码. for 循环用的出神入化 |
46
chuanqirenwu 2016-12-19 17:22:54 +08:00
以前做过一个小外包,原则是只保证程序正常情况下不出问题,至于异常处理,安全性处理什么的不在考虑范围内。
|
47
KentY 2016-12-19 17:27:45 +08:00 17
不知道是不是我老了, 观念跟不上年轻人了, 我对这个贴有个别的看法.
1, 外包的不一定差, digg 也是外包做的. 不要觉得是外包做的 就"有思想准备" 2. 某种角度说, 解决问题的能力是自己价值的体现的一种方式. 这可以是漂亮地实现一个复杂功能, 也可能是把烂摊子规整好. 3. 就问题本身, 当你在某领域的知识比别人深厚了, 看别人的工作, 就会发现非常多的问题, 首先一个锻炼自己的事就是, 不抱怨,不笑话别人. 要么指导别人, 要么改正 /进别人的工作. 这个说来容易, 其实很难做到, 包括我自己. 你可以注意观察下, 公司里的高深人士, 很少抱怨, 笑话别人的工作, 反而都是那些还不错 ,或者半瓶醋的水平人, 才做这样的事. 你接了一些不好的代码, 这的确头疼, 你可以大概归纳一下, 代码里你能发现的问题, 问题可能导致的后果以及你能想到的改进方案, 并且做个评估, 时间啊, 精力等. 然后跟你的领导谈一下, 说明如果投入这个会对将来有什么好处, 让领导决定是否要改进. 自己态度上是一个积极态度, 这并不是说要让领导看到你积极, 而是自己真要积极. 不要怕担责任, 你想, 你心里各行各业的牛人, 没有怕担责任的, 都是勇于担当. 主要审视自己能不能做好, 尽力去做到最好. 当然, 如果对现在公司, 职位实在不满意, 可以考虑换工作. my 2 cents. |
48
wemore 2016-12-19 17:29:15 +08:00 via iPhone
话说网站安全处理一般要干啥,用户输入的非法字符转码还有啥别的吗
|
49
unknownservice 2016-12-19 17:29:53 +08:00
给跪了,赶紧走,要不你要被毁了。。。
|
50
tabris17 2016-12-19 17:30:57 +08:00
传说中的 1 分钱下订单吗?
|
52
uxstone 2016-12-19 17:39:53 +08:00
已经不错了,还好是 Java 写的,
要是 PHP 写的就。。。。。 |
54
flyingfz 2016-12-19 17:50:41 +08:00
必须要和 老板讲清楚现在的系统的风险,以及你的意见。
这是对你后面的工作负责(不论 是否 继续做下去), 同时也是对老板给你的工资负责。 如果老板不重视你的意见,那只能说: 赶紧弃坑,否则最后会不欢而散。这样对谁都不好。 |
55
sorra 2016-12-19 17:59:02 +08:00
@qinxi 一看代码就是做 SNS 的。
如果工资满意,可以向老板说明现状,让他支持和认可你接下来的工作。虽然既有的代码不好,但毕竟后端架构归你管了,是个练手机会。一切都做好了还有你什么事呢? 如果你费力不讨好,那就不值得。 |
56
amery2010 2016-12-19 18:00:19 +08:00
年末其实工作并没有想象的那样难找,你如果真心不想留在这公司的话,可以试着先更新网上的简历,边上班边找工作。
|
58
guyskk 2016-12-19 18:03:43 +08:00 via Android
如果公司业务上确实有前景, boss 也愿意听你的建议,这就是你提高的机会,代码烂不烂都是次要的。
否则,现在就开始找下家。 |
60
heeexy 2016-12-19 18:28:20 +08:00
讲真 要从外包公司离职. 这半年写的代码都是楼主讲得这种#24 怎么办...
|
61
nimdanoob 2016-12-19 18:50:09 +08:00
如果公司确实还不错的话,看下工程量大不,可以跟领导商量选择重写
|
62
fantastM 2016-12-19 18:59:28 +08:00
我这情况差不多。项目工程里存在一个反编译代码的包。包里类名、变量名清一色 abcd......老大说这是零几年写的,因为丢失了源码,所以只能反编译。
|
64
lain0 2016-12-19 19:09:53 +08:00
网站是什么,我去注入~
|
65
ttop5 2016-12-19 19:13:07 +08:00 via Android
赶紧跑路别回头😂😂
|
66
q397064399 2016-12-19 19:16:15 +08:00
这个时候不正是 展示你 24 种设计模式 以及 重构大法的能力么?
|
67
wohenyingyu02 2016-12-19 19:17:24 +08:00 via iPhone
@sagaxu 没到 10K 的路过……
|
68
q397064399 2016-12-19 19:18:21 +08:00
做业务的公司,代码肯定是会根据需求变动的,找外包写,必然是怎么快怎么来,有的时候 复制粘贴 能搞定就搞定了,写的人倒是爽了, 3 个月之后,自己反正基本上就别人填坑了,,一般自己写的代码 3 个月内,配合注释还是能看懂的,超过 3 个月,基本上是要出事的,就等着重构吧
|
69
cxbig 2016-12-19 19:19:00 +08:00
烂摊子多少都会有,解决这个问题也是个人价值的体现。只要公司认可你的工作,不会把责任无脑的归于你就行。
我现在的公司就是第一个 release 外包的,这 3 年来我们逐步把烂代码都干掉。头 2 年我们天天骂外包公司,近一年我们很少再提及这事了。 |
70
q397064399 2016-12-19 19:21:10 +08:00
另外 外包本来就是一次性的玩意,外包一个人月,基本上是怎么快,就怎么来,谁管那么多,只要上线能运行就 ok
你真要外包一个人年,人家肯定是要好好写的,提前做好设计 为未来做准备,毕竟是自己挖的坑,还得自己来填 |
71
q397064399 2016-12-19 19:22:27 +08:00
@cxbig 骂外包,没必要吧,毕竟钱摆在那里,你要真外包一个人年,人家也会好好写
|
72
tedzhou1221 2016-12-19 19:34:38 +08:00 via iPhone
谁告诉你年底不好找工作的?
我两天面试了 3 家就找到了 |
73
so898 2016-12-19 19:34:41 +08:00
上面一排人在说 SQL 注入啥的,我突然想起来之前和朋友一起研究的解决 SQL 注入的好方法——
把所有标点符号都改成全角字符 让你丫的再注入 |
74
q397064399 2016-12-19 19:44:47 +08:00
@so898 现有的防注入的方案一大堆,没必要
|
75
raincious 2016-12-19 20:04:58 +08:00
|
78
jy01264313 2016-12-19 20:58:08 +08:00
其实你换一个工作看起来也是差不多的
|
79
unicorn1390 2016-12-19 21:05:14 +08:00
和我大一时候写的一毛一样。。
|
80
xssing 2016-12-19 22:30:03 +08:00
从安全🐶的角度看有
1. 越权操作漏洞 2.SQL 注入漏洞 3.支付漏洞 。。。。。。。。。。。。。。 |
81
anthozoan77 2016-12-20 00:02:15 +08:00
看了大家的评论,默默地面壁...
|
82
everettjf 2016-12-20 00:05:17 +08:00
看老板是否重视你,你是否有权利决定重构,你是否有魄力重构,重构后老板是否认可。传说滴滴最初不也是外包的么,代码也很烂~
|
83
airyland 2016-12-20 00:07:39 +08:00
代码烂还可以稍微理解,这是严重的安全问题啊
|
84
bearzk 2016-12-20 00:20:35 +08:00
14 秒太严重了 换地方吧 这坑不好填啊
|
86
yangqi 2016-12-20 01:12:03 +08:00
这不正好是你的机会么,如果人家什么都写的很规范很标准了,还要你干嘛?
|
88
glogo 2016-12-20 01:27:34 +08:00
大兄弟赶紧另谋出路吧
|
89
practicer 2016-12-20 07:23:14 +08:00 via Android
先把网站搞挂掉,再自己修好,引起领导重视?
|
90
Felldeadbird 2016-12-20 09:08:03 +08:00
这种代码你是改不了的了。除非重构,否则是不给你换的。
|
91
dong3580 2016-12-20 09:21:29 +08:00
@Felldeadbird
当年我都是一个方法一个方法的改,真的,可以改的,比如新增功能,你可以把那块的某些方法注释一下,稳定运行几周再切换到自己的方法并及时测试. @qinxi 这绝对是一个好的练手机会, 依靠那些代码,学到了很多东西,有些方法我根本没用过,这样一来,我能用的更好. 专业填坑户,现在基本不怕大多数坑. 拼接 sql 真是算是好了,要是代码生成器生成的,你连 sql 都找不到,拼出来的方法都能让你头晕. |
92
wupher 2016-12-20 09:46:04 +08:00
@qinxi 求教,原文中 “参数有个 King's College London ” 。 "King's College London" 是什么梗? 应该不是指国王学院吧。
|
93
robinshi2010 2016-12-20 09:54:18 +08:00
@qinxi 并不会。
建议跟头沟通好这个事儿吧。先把问题说清楚确保他认识到问题的严重性。然后再共同定制修改计划。别闷头干出力还不被理解就好。 |
94
raiz 2016-12-20 09:59:54 +08:00
这代码好面熟,好像是我写的 : p
|
95
zlawliet 2016-12-20 10:08:23 +08:00
见怪不怪·...
|