hr筛选简历约面试,其实粗暴到只看年龄、学历、期望薪资、、跳槽频次等~
刚看到个帖子,说有些HR筛简历就看五个条件:年龄、学历、期望薪资、同行经历、跳槽频次,三秒就能判生死。
作为程序员,我真不惊讶😅。因为招聘就像写算法,输入几个关键参数,快速匹配,性能优先,至于业务逻辑外的“潜在价值”,那是高阶优化,没时间算。
网友有人骂粗暴,我倒觉得这反映了现实——HR像用O(1)时间复杂度处理海量数据,错过了潜力股是必然风险。从开发角度看,如果你简历的关键字段没命中条件,就像SQL查询没索引命中,直接被丢掉。
所以,与其抱怨筛选粗糙,不如优化简历“索引”,先保证能被系统选中,后面才有机会跑业务逻辑。职场嘛,先过第一关,再谈代码优雅【备注:文末可领最新资料】
面试题:最优账单平衡
昨天晚上十一点多,在公司楼下吹风等外卖,群里有人丢了个“最优账单平衡”的题,我嘴里还叼着串串就开始比划…就是那个,大家AA之后转来转去怎么才能“最少笔数”把钱结清,对吧。
场景很日常:一堆转账记录,每条是A给B转了x。最后我们只关心每个人净盈亏:有人该收钱,有人该付钱。问题就变成——把这些盈亏两两抵消,求最少转账次数搞定。不是最少金额哈,是最少交易笔数。
别被一堆人绕晕了,先把每个人的净额算出来,正数是要收,负数是要付,零的直接忽略。然后用回溯DFS:从第一个非零的人开始,找后面一个净额符号相反的,撮合一下,金额小的那一方清零,继续递归。每撮合一次,交易数+1,找全局最小。听着像暴力,但有几个剪枝,效果就很稳。
我刚咬到第三口的时候…有人问复杂度,我说别急: 1)同额去重:同一层里如果你已经试过和x金额的人撮合了,下一个也等额的就跳过,避免重复排列。 2)提前终止:如果某次撮合把当前人直接清到0了,那继续找别的对象没有意义,break。 3)跳过零:递归时把净额为0的人往后挪,减少分支。 这些剪枝能把指数级的树砍到可做的范围,实际几十个人也能跑。
from collections import defaultdict
from functools import lru_cache
defmin_transfers(transactions):
# 1. 统计净额
bal = defaultdict(int)
for frm, to, amt in transactions:
bal[frm] -= amt
bal[to] += amt
debts = [v for v in bal.values() if v != 0]
ifnot debts:
return0
# 2. 跳过前缀的0
defskip_zero(i, arr):
while i < len(arr) and arr[i] == 0:
i += 1
return i
# 3. 回溯 + 剪枝
@lru_cache(None)
defdfs(state):
arr = list(state)
i = skip_zero(0, arr)
if i == len(arr):
return0
res = float('inf')
seen = set() # 同层等额去重
for j in range(i + 1, len(arr)):
if arr[i] * arr[j] >= 0:
continue
if arr[j] in seen:
continue
seen.add(arr[j])
# 尝试撮合 i 和 j
a, b = arr[i], arr[j]
take = min(abs(a), abs(b))
arr[i] = a + take if a < 0else a - take
arr[j] = b + take if b < 0else b - take
res = min(res, 1 + dfs(tuple(arr)))
# 回滚
arr[i], arr[j] = a, b
# 若直接清零了当前i,没必要再换对象
if (a < 0and a + take == 0) or (a > 0and a - take == 0):
break
return res
# 小优化:把正负分开再拼,有利于碰撞
pos = [x for x in debts if x > 0]
neg = [x for x in debts if x < 0]
start = tuple(neg + pos)
return dfs(start)
为啥这是最少笔数?直觉是,每次撮合都会把至少一个人清零,一共k个非零人,理论下界是k-1笔;上面这套回溯+剪枝,尽量让每次都“干掉”一个人,所以很逼近下界。哦对了,输入规模特别大时,可以先合并同人净额、把小额对小额贪心配一下再进DFS,速度会更舒服。
-END-
我为大家打造了一份RPA教程,完全免费:songshuhezi.com/rpa.html
虎哥作为一名老码农,整理了全网最全《python高级架构师资料合集》,总量高达650GB,点击下方公众号回复关键字 python 全部免费领