程序员老鬼

现在大厂全部都在卡学历。。

刚看到个贴子,说现在大厂面试都卡学历,有网友阿里出来做了两年高级架构师,结果因为第一学历大专,面试都收不到…收到的还都明确要求211、985,真的是有点无语。

Image

我觉得这事吧,挺现实但也挺扎心。以一个程序员的角度看,现在技术能力明明很重要,尤其做架构师这种岗,靠的都是实际项目经验和动手能力,可偏偏大厂还是拿学历当门槛。这就像写代码,你能写出高效的算法,但简历里没有“对的注释”,连编译都不给你过,真的挺讽刺。

网友们的回复有同情也有无奈,有人说“学历是硬性条件,改变不了”,也有人建议去外企、中小厂,别死磕大厂。我觉得换个思路,既然大厂卡学历,那就去那些看重能力的公司,毕竟技术人的底气还是要靠作品说话。对了,行业会变,别让学历定义了你自己,咱们的价值不止一纸文凭。

【备注:文末可领最新资料】

算法题:岛屿数量

最近天气太热了,家里空调不制冷,搞得我都想搬公司睡觉。昨晚我就靠着公司楼下那破自动贩卖机买的冰可乐撑着,脑子还在回忆小李那题。其实你们刷题刷多了会发现,所有这种“找团块”的题,都是一个套路——标记法,DFS一顿乱递归,BFS也能写,反正就是把你见到的陆地全给它一锅端,别留漏网之鱼。

有朋友非让我写Java,说C都没感觉,行吧,哥们给你来一份最家常的Java写法。你要记住,这题面试官就爱看你代码简洁不啰嗦,但变量名别太抽象,别给人看晕。

publicclassSolution{
// 这玩意儿就那几个方向,懒得写成数组
publicintnumIslands(char[][] grid){
if (grid == null || grid.length == 0) return0;
int m = grid.length, n = grid[0].length;
int count = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (grid[i][j] == '1') { // 看到陆地,走起
                    dfs(grid, i, j);
                    count++;
                }
            }
        }
return count;
    }

privatevoiddfs(char[][] grid, int i, int j){
int m = grid.length, n = grid[0].length;
if (i < 0 || j < 0 || i >= m || j >= n || grid[i][j] != '1') return;
        grid[i][j] = '2'; // 走过的都标记下,别回头再踩
        dfs(grid, i - 1, j);
        dfs(grid, i + 1, j);
        dfs(grid, i, j - 1);
        dfs(grid, i, j + 1);
    }
}

其实你们刷题别老想着算法多难,像这种岛屿问题,生活里我还真碰过,有次带娃去儿童乐园,海洋球那一堆一堆的,有些小朋友就像陆地一样孤零零地蹲在一起,剩下那一大片没人去的,活脱脱一个个孤岛。你要是现场用DFS去数小孩...啊不对,数岛屿,家长还以为你精神不正常。

这里你注意哈,BFS其实也行,就是你得用个队列排队。我一般图省事就DFS了,递归写着舒服。但你要小心栈溢出,有时候数据量大的时候递归多了直接给你来个StackOverflow。反正面试一般不会给你那种超大测试用例,出事也是让你聊一嘴怎么优化的事。

有次在咖啡店,旁边俩学计算机的大学生还在争论用并查集行不行,其实也能写,不过真没必要,面试官要是听你胡扯一通并查集反而觉得你装X,稳妥点直接DFS/BFS,别整幺蛾子。

总之你记住,这题思路清晰,代码别啰嗦,问你能不能优化就顺嘴提一句并查集和非递归BFS,别死抠细节,写完早点下班回家,养好精神才有力气继续敲代码。

-END-

我为大家打造了一份RPA教程,完全免费:songshuhezi.com/rpa.html

最后给大家分享一份不错的副业资料,点击下方公众号,回复关键字: 副业 领取,也可以链接我领取,微信:hls404