程序员老鬼

昨天面试了一个女的,30岁未婚未孕,面试到最后HR问她的婚育打算,她说自己做过手术丧失生育能力

最近刷到一个帖子,属实有点炸裂,忍不住想跟大家聊聊。

有网友说,昨天去面试了个女的,30岁,未婚未育,HR最后问她婚育打算,结果人家直接说:“我做过手术,丧失生育能力,公司不用担心我请产假,家庭也没牵挂,加班随时安排!”。不仅说了,还当场递上手术记录📄,让公司放心。这操作,真是让我一个社畜看得目瞪口呆。

Image

更离谱的是,部门老大似乎还点了点头有点认可,HR却担心她 “性格偏激”,最后把人家挂了。这年头面试,居然卷到这份上?直接把生育能力都成了简历附录?我程序员干了这么多年,天天听说行业卷,卷技术、卷学历、卷项目,没想到现在还要卷生育能力,整得像是面试战斗机飞行员,必须无牵无挂、随时待命。

我觉得吧,这种操作其实挺让人心酸的。不是说她想这样,是环境把人逼成这样。婚育歧视+加班文化,这是“双杀”,你不卷,就被淘汰,你卷过头了,又说你“性格偏激”。打工人是真的难。想想我自己,面试最多就是被问“单身吗”,好像怕我有对象后离职跑了,但人家女生得把身体都卷进去,属实有点心疼。【备注:文末可领最新资料】

算法题:自由之路

自由之路这道题,第一次看到名字,我还以为是《肖申克的救赎》同款,心里咯噔一下,怕遇到什么玄学题,结果一看,嗯?是个图论问题,立马就踏实了,毕竟干咱这行的,图论没吃透,怎么敢自称写代码的?(当然不敢)

题目大概意思是,给你一堆钥匙和锁,钥匙是环形排列的,每次可以顺时针或者逆时针转,手上有一串锁要打开,每开一把锁需要转到对应的钥匙字符,然后解锁。问最少要转多少步才能解锁完所有的锁。这不妥妥的一个动态规划+记忆化搜索的题嘛。简单说,得在一堆可能的路径里找出最短的那条。

我记得当年第一次刷这种题,跟同事吹牛说我五分钟能搞定,结果干了俩小时,最后靠debug一步步扒拉出来,尴尬得很。这种题,第一步要做的事其实很明确:预处理。得把所有字符在环上的位置存一遍,方便随时跳转。不然每次都从头扫,程序员的尊严往哪放?

举个简单的Java实现吧,兄弟们伙计们一块看:

publicint findRotateSteps(String ring, String key) {
    Map<Character, List<Integer>> charToIndices = new HashMap<>();
for (int i=0; i < ring.length(); i++) {
char c= ring.charAt(i);
        charToIndices.computeIfAbsent(c, k -> new ArrayList<>()).add(i);
    }

int[][] memo = new int[ring.length()][key.length()];
for (int[] row : memo) Arrays.fill(row, -1);

return dfs(ring, key, 0, 0, charToIndices, memo);
}

privateint dfs(String ring, String key, int ringPos, int keyPos, 
                Map<Character, List<Integer>> map, int[][] memo)
 {
if (keyPos == key.length()) return 0;
if (memo[ringPos][keyPos] != -1) return memo[ringPos][keyPos];
int res= Integer.MAX_VALUE;
char targetChar= key.charAt(keyPos);
for (int idx : map.get(targetChar)) {
int delta= Math.abs(ringPos - idx);
int step= Math.min(delta, ring.length() - delta);
        res = Math.min(res, step + 1 + dfs(ring, key, idx, keyPos + 1, map, memo));
    }
return memo[ringPos][keyPos] = res;
}

这段代码啥意思呢?大白话翻译一下:我在环上的每个字符位置存好了,接着每一步用深度优先搜索去试所有可能的位置。重点在于记忆化搜索,没这玩意儿,兄弟们能跑到超时怀疑人生。你想啊,没存过的结果每次都重新算,递归个五层直接原地爆炸。

还有个小trick,算距离的时候,得考虑环形特性,别死算直线距离。顺时针走和逆时针走,哪个近走哪个,这才是程序员的智慧,懂不?

我刷完这题最大的感悟就是,写代码不怕复杂,怕的是写着写着自己绕进去了。这种题,先别急着开干,理清楚思路,分清状态,再动手,少走不少弯路。我有次赶项目,心急写了一大堆,发现状态转移错了,回头重构,老板在旁边冷冷看着,感觉天都塌了……

所以兄弟们刷题别飘,算法题再玄乎,背后也就是套路,动态规划、图论、搜索,别一上来就想拼智商,咱拼的是耐心和手速,稳住别浪。

你们谁刷这题卡住的,咱评论区交流交流,别像我当年硬抗两小时,不划算啊。

最后,我为大家打造了一份deepseek的入门到精通教程,完全免费:https://www.songshuhezi.com/deepseek

也可以看我写的这篇文章《DeepSeek满血复活,直接起飞!》来进行本地搭建。

-END-

ok,今天先说到这,老规矩,给大家分享一份不错的副业资料,感兴趣的同学可以联系我,微信:hls404 找我领取。

以上,就是今天的分享了,看完文章记得右下角点赞,也欢迎在评论区写下你的留言。