难评,大专学历造假 211 拿到了字节offer。。。

文摘   2024-11-13 10:46   山西  

最近看到一个有点刺激的帖子,讲的是一个大专学历的小伙伴,凭着“某省211”学历造假顺利拿到了字节跳动(抖音)的Offer。为了提高通过率,他没有填自己的真实学历,而是写了个211的学历,还把在外包公司的经历包装成了甲方工作经验。

面试顺利通过,甚至还没碰到背调环节,感觉自己捡到了一个大便宜。然而,等到后续收到背调通知时,才意识到问题来了——自己写的学历和工作经历可能会被查出来,他该怎么办呢?

最后他决定直接拒绝背调,拿着字节的Offer找到了另一家中型公司,虽然薪资稍微低一点,但至少没有那么大的工作压力。

从这件事来看,虽然学历和背景对很多人来说非常重要,但对一些公司来说,实际能力才是关键。可是,造假这种事,还是有风险的,尤其在今天的求职市场,很多公司都开始严格审查求职者的背景和资历,背调环节也越来越常见。

这让我想到,作为一名开发工程师,最重要的其实是技术实力和项目经验。比如,在我们这个行业,很多公司更看重的是你解决问题的能力,而非单纯的学历和工作经历。

你是否能通过代码解决实际问题,是否能在技术面试中展示出自己的能力,才是最终决定你是否能拿到Offer的关键。 

今日算法题


说到这,接下来我们不妨聊聊面试中经常出现的一个算法题:字母异位词分组。在编程中,有时我们需要将一组字符串按照字母异位词分组。

字母异位词是指两个字符串包含相同的字母,只是这些字母的顺序可能不同。例如,"eat" 和 "tea" 就是字母异位词,因为它们包含的字母完全相同,只是顺序不同。

为了将一组字符串分组为字母异位词,我们可以使用排序的方法。具体来说,对于每一个字符串,我们对其字母进行排序,得到一个标准化的表示形式。对于所有的字母异位词,排序后的结果将会是相同的,因此,我们可以利用这个特性来将它们归为同一组。

我们可以使用一个对象(在 JavaScript 中是一个字典或哈希表)来存储这些分组。每个分组的键是排序后的字符串,值则是一个包含所有字母异位词的数组。

当我们遍历所有的字符串时,只需要对每个字符串进行排序,并将其加入到对应键的值中,最后输出所有分组即可。

在 JavaScript 中,我们可以这样实现:

function groupAnagrams(strs{
    const anagrams = {};  // 用于存储字母异位词分组的对象

    // 遍历输入的每个字符串
    for (let str of strs) {
        // 将字符串的字母排序,得到一个标准化的键
        const sortedStr = str.split('').sort().join('');
        
        // 如果对象中没有这个排序后的键,则初始化一个空数组
        if (!anagrams[sortedStr]) {
            anagrams[sortedStr] = [];
        }
        
        // 将当前字符串加入到对应的字母异位词组中
        anagrams[sortedStr].push(str);
    }

    // 返回所有的字母异位词组
    return Object.values(anagrams);
}

// 测试
const strs = ["eat""tea""tan""ate""nat""bat"];
const result = groupAnagrams(strs);
console.log(result);

在这段代码中,首先我们创建了一个空对象anagrams来存储字母异位词的分组。

接着,我们遍历输入的每个字符串,对于每个字符串,我们通过split('')方法将它拆分成字符数组,然后用sort()方法对数组进行排序,最后用join('')方法将字符数组重新拼接成一个字符串。这个排序后的字符串就是字母异位词的标准化表示形式。

接着,我们检查对象中是否已经存在这个排序后的字符串作为键。如果不存在,就初始化一个空数组。如果已存在,则直接将当前字符串添加到对应的数组中。

最后,使用Object.values(anagrams)返回字典中的所有字母异位词分组。

这段代码的时间复杂度是 O(N * K log K),其中 N 是字符串的数量,K 是每个字符串的长度。对于每个字符串,我们都需要对它进行排序,排序的时间复杂度是 O(K log K),因此整体的时间复杂度是 O(N * K log K)。

这段代码能够有效地将一组字符串分组为字母异位词,并且易于理解。可以应用于许多实际场景中,例如在处理单词游戏时,或者在进行数据去重时,都是非常实用的技术。

目前,对编程、职场感兴趣的同学,大家可以联系我微信:golang404,拉你进入“程序员交流群”。

虎哥私藏精品 热门推荐

虎哥作为一名老码农,整理了全网最前端资料合集

资料包含了《前端面试题PDF合集》、《前端学习视频》、《前端项目及源码》,总量高达108GB。

全部免费领取全面满足各个阶段程序员的学习需求!

web前端专栏
回复 javascript,获取前端面试题。分享前端教程,AI编程,AI工具,Tailwind CSS,Tailwind组件,javascript教程,webstorm教程,html教程,css教程,nodejs教程,vue教程。
 最新文章