现在的HR不直接说 35岁不要,但筛选逻辑变了,35岁+普通公司+薪资20k>几乎收不到面试邀请。

12333社保查询网www.sz12333.net.cn 2026-02-10来源:人力资源和社会保障局

  刚看到个贴子,说现在HR不明说“35岁不要”,但筛选逻辑变了: 35岁+大厂背景+要30k,简历初筛直接过; 35岁+普通公司+要20k,几乎收不到面试邀请。

  我觉得这事吧,先承认一个残酷现实: 公司买的是“确定性” 。大厂履历代表“踩过大项目、扛过压”,HR觉得风险小,给高薪也敢赌;普通公司出来的,能力可能不差,但证明成本高,大家就本能保守,这是市场选择,不是道德评价。

  但话说回来,也不能就躺平认命。 如果你是35+、普通背景,又想要20k,简历上至少得给出两点: 要么有 能直接带来钱的成果 (提升业绩、降本增效); 要么有 别人没的稀缺经验 (某细分行业、某系统从0到1)。

  与其纠结“年龄红线”,不如更早给自己做规划: 别只盯着公司名气,多想想自己真正的可替代性有多低 。

  给你一个字符串,比如 "PAYPALISHIRING" ,再给你一个行数 numRows ,让你把这个字符串按 “Z” 字形一行一行地摆好,然后按行读出来,最后拼成一个新的字符串。

  最经典的例子是: 字符串: PAYPALISHIRING 行数: 3

  写成 Z 字形差不多是这样(脑补一下排版):

  第 0 行:P A H N 第 1 行:A P L S I I G 第 2 行:Y I R

  按行读出来就是: "PAHNAPLSIIGYIR" ,这就是答案。

  很多人一开始上来就想数学公式,结果想晕了。其实这题最简单的办法,就是 老老实实在脑子里模拟写字 :

  想象有几行纸条: 从上往下写,写到最底下一行了,再斜着往上写,写到最上面,再往下写……就这样来回折腾。

  那对程序员来说,就是:

  当前在第 row

  有一个变量 direction ,要么往下(+1),要么往上(-1)

  每拿到一个字符,就扔到当前行对应的“桶”里,然后根据方向去下一行

  特别无脑,但非常不容易错

  稍微注意两个小细节:

      行数是 1 的时候,其实不用变,直接返回原串就行

      行数大于等于字符串长度的时候,其实也不用变,因为根本排不出 “Z”,最多竖着排一列

  我们可以给每一行准备一个 StringBuilder ,遍历字符串,按照当前行往里面 append,最后把所有行拼在一起就行了。

  下面是完整代码,直接能跑的那种:

  publicclassZConvert{public String convert(String s, int numRows){// 特殊情况,根本排不出 Z,直接返回if (numRows <= 1 || s == || s.length <= numRows) {return s;}// 每一行一个 StringBuilderStringBuilder rows = new StringBuilder[numRows];for (int i = 0; i < numRows; i++) {rows[i] = new StringBuilder;}int row = 0; // 当前在第几行int step = 1; // 方向:1 往下,-1 往上for (int i = 0; i < s.length; i++) {char ch = s.charAt(i);// 把当前字符丢到对应行里rows[row].append(ch);// 到顶部了,接下来要往下走if (row == 0) {step = 1;// 到底部了,接下来要往上走} elseif (row == numRows - 1) {step = -1;}// 往下一行(或者上一行)挪一格row += step;}// 把每一行拼成最终结果StringBuilder result = new StringBuilder;for (StringBuilder sb : rows) {result.append(sb);}return result.toString;}// 简单测试一下publicstaticvoidmain(String[] args){ZConvert z = new ZConvert;System.out.println(z.convert("PAYPALISHIRING", 3)); // PAHNAPLSIIGYIRSystem.out.println(z.convert("ABCD", 2)); // ACBD}}

  这个写法的好处就是:跟你在纸上写的过程一模一样,几乎不用靠记忆复杂公式。

  这个题的数据量一般都不大,但我们还是习惯性算一下复杂度:

  时间复杂度:遍历一遍字符串,每个字符处理一次, O(n)

  空间复杂度:额外开了 numRows StringBuilder ,总共也就和原字符串长度同量级, O(n)

  在面试的时候,你说出这两句,面试官一般就会点点头,不会继续追这块了。

  有同学可能在题解里看到过那种“按周期跳索引”的写法,什么 cycleLen = 2 * numRows - 2 ,然后每行按公式跳来跳去。

  那个确实更“数学”一点,也更省一点点常数空间,但对于日常刷题、实战来说,其实上面这种按行模拟走来走去的写法已经够用了,也更不容易写错。

  真到工作里,大家更关心的是: 别写成 bug,别别人一看就看不懂 。

  行,Z 字形差不多就这样,哪天你们再被哪个面试官拿这题来考,就当在纸上慢慢往下往上写一遍,脑袋别一下子飘到公式里去就行了。

本文标题:现在的HR不直接说 35岁不要,但筛选逻辑变了,35岁+普通公司+薪资20k>几乎收不到面试邀请。本文网址:https://www.sz12333.net.cn/zhzx/zczx/52036.html 编辑:12333社保查询网

本站是社保查询公益性网站链接,数据来自各地人力资源和社会保障局,具体内容以官网为准。
定期更新查询链接数据 苏ICP备17010502号-11