某大厂员工:QA开发出来一堆东西,让研发来测试,AI工具越来越完善,写代码变成了挂机,验证代码成了主要工作了
刚看到个贴子,说某大厂员工吐槽:现在 QA 开发一堆自动化东西,也不好好测,最后都丢给研发自测;加上 AI 写代码越来越方便,写码像挂机,结果大家天天在那儿验证代码。
网友们的回帖我大概看了下,有的骂 QA 摆烂,有的说研发也该多负责质量,还有的感叹:AI 没让工作轻松,只是换种方式累。
我觉得这事吧,表面看是“甩锅”,本质还是分工和考核没想明白:只看需求上线速度,不看质量闭环,谁闲谁背锅,这是必然。
AI 只是把“写代码”这块变便宜了,“懂业务、会设计、能负责结果”这块反而更值钱。
换个角度想,研发被推去做测试,也是提醒大家:别再把自己当螺丝钉,只会敲代码很危险,多学一点测试思维、产品视角,才不怕工具迭代。
面试题:计算税后工资
昨天晚上十一点多,我在公司楼下啃着一个已经凉透的肉夹馍,手机一震,我们组那个小李在群里问我: “东哥,我手上有一堆工资数据,要算税后工资,能不能用一段 Python 写死一个算发啊?我脑子都乱了。”
我一看这问题,其实挺常见的,发工资的时候大家不是关心“税前多少”,而是盯着那个“到卡里到底有几块钱”,对吧。
所以就按我们日常上班那套场景说,说人话版本,不整那些很吓人的公式。
我先帮小李捋了一下工资结构,简单粗暴一点,先不考虑特别花哨的那种,只看常用的几块:
税前工资:公司给你开多少,比如 20000。 五险一金:养老、医疗、公积金那些,从你工资里先扣一部分。 起征点:现在普遍按 5000 算(每个月)。 专项附加扣除:比如子女教育、房贷利息啥的,有的话再减一点。
所以你每个月真正要交个税的那一块,公式其实就一行:
应纳税所得 = 税前工资 - 五险一金 - 起征点 - 专项附加扣除
小李当时在语音里说:“东哥你别念公式,你给我写成代码我就懂了。”行,那就直接上 Python。
先写一个很土但好懂的版本,把中国个税的那几档写进去就行了,我懒得搞什么配置文件,小脚本直接跑:
# -*- coding: utf-8 -*-
defcalc_tax(taxable):
"""
传入已经算好的【应纳税所得额】,返回当月个税金额
"""
if taxable <= 0:
return0.0
elif taxable <= 3000:
rate = 0.03
quick = 0
elif taxable <= 12000:
rate = 0.10
quick = 210
elif taxable <= 25000:
rate = 0.20
quick = 1410
elif taxable <= 35000:
rate = 0.25
quick = 2660
elif taxable <= 55000:
rate = 0.30
quick = 4410
elif taxable <= 80000:
rate = 0.35
quick = 7160
else:
rate = 0.45
quick = 15160
return taxable * rate - quick
defcalc_after_tax_salary(
gross_salary,
social_insurance,
special_deduction=0
):
"""
计算税后到手工资
:param gross_salary: 税前工资
:param social_insurance: 五险一金个人部分
:param special_deduction: 专项附加扣除(有就填,没有就填0)
"""
# 1. 先算应纳税所得额
threshold = 5000# 起征点
taxable = gross_salary - social_insurance - threshold - special_deduction
# 2. 算个税
tax = calc_tax(taxable)
# 3. 到手工资 = 税前 - 五险一金 - 个税
net_salary = gross_salary - social_insurance - tax
return {
"taxable_income": max(taxable, 0),
"tax": max(tax, 0),
"net_salary": net_salary
}
if __name__ == "__main__":
# 随便举个例子:税前 20000,五险一金 3000,专项附加 1000
result = calc_after_tax_salary(20000, 3000, 1000)
print("应纳税所得额:", result["taxable_income"])
print("个人所得税:", result["tax"])
print("税后到手:", result["net_salary"])
这个代码逻辑其实就是我们刚才唠的那几步翻译成 Python 而已:
工资先减掉五险一金,再减 5000 起征点,再减掉各种专项附加,得到“应纳税所得额”; 然后按个税分档表算出“本月该交多少税”; 最后税前工资减掉五险一金、再减掉个税,就得到到手的钱。
小李看完之后说:“东哥,这个能不能再顺一点,我以后要算一批人,能不能直接循环一遍就完事?”
那也简单,拿个列表随便撸一下,比如从 Excel 里读出来以后塞成字典列表,伪造一下数据:
employees = [
{"name": "小李", "salary": 20000, "social": 3000, "special": 1000},
{"name": "小王", "salary": 15000, "social": 2500, "special": 0},
{"name": "小张", "salary": 8000, "social": 1500, "special": 500},
]
for emp in employees:
res = calc_after_tax_salary(
emp["salary"],
emp["social"],
emp["special"]
)
print(
emp["name"],
"税后:", res["net_salary"],
"个税:", res["tax"]
)
这样一跑,整组人的税后工资就出来了,后面你要写进 Excel、入库、发报告,都可以接着往后接。
-END-
我为大家打造了一份RPA教程,完全免费:songshuhezi.com/rpa.html
虎哥作为一名老码农,整理了全网最全《python高级架构师资料合集》,总量高达650GB