字节面试怼了面试官,会被封杀吗?

字节

日常逛社区,发现一篇很"另类"的求助帖:

alt

贴主在字节二面的时候,觉得面试官全程不耐烦,中途实在没忍住,直言道"要是不愿意面可以不面",但转头就后悔了,跑来社区求助,担心自己的会在"字节"被封杀。

这真的很难评 🤣🤣🤣

首先,这种行为不该发生,能在面试过程中直接说出这样的话,一定程度候选人自己也是属于"不耐烦"的那一类。

其次,这种行为发生了也没必要后悔,因为一般的公司面试,一面都是入职后的平级同事,二面都是入职后的 +1 领导,楼主在二面遇到的那个"不合眼缘"的面试官,绝大概率是将来的 +1 领导。

众所周知,打工人的职场体验,几乎取决于直属领导的为人,在面试阶段都合不来,将来合作只会摩擦不断,现在被刷其实可以看作是一种止损。

本次面试肯定是没救了,至于说会不会被字节拉黑,将来面其他部门也都被刷?

我认为是不会,前面说到了,二面面试官其实只是入职后的 +1 领导,除非候选人面的岗位职级很高(从帖子描述中的言语,候选人更像是毕业不久的童鞋),否则其实面试官也就是一个小 leader(网友俗称的大头兵),很现实的说,是没有多少实权的。

根本不存在帖子担心的情况,就算招聘系统有这个功能,应该也会在是"系统"或"HR 总监"级别的人才有权限。也就是说除非笔试作弊(会被系统标记拉黑)或者某个 HR 总监进行手动标记(正常要先有 HR 面试记录,以及填写拉黑原因),正常面试根本不会出现拉黑的情况。

...

回归主题。

来一道和「字节跳动」相关的算法题。

题目描述

平台:LeetCode

题号:1764

给你一个长度为 n 的二维整数数组 groups ,同时给你一个整数数组 nums 。

你是否可以从 nums 中选出 n 个 不相交 的子数组,使得第 i 个子数组与 groups[i](下标从 0 开始)完全相同,且如果 i > 0 ,那么第 (i-1) 个子数组在 nums 中出现的位置在第 i 个子数组前面。(也就是说,这些子数组在 nums 中出现的顺序需要与 groups 顺序相同)

如果你可以找出这样的 n 个子数组,请你返回 true ,否则返回 false

如果不存在下标为 k 的元素 nums[k] 属于不止一个子数组,就称这些子数组是 不相交 的。子数组指的是原数组中连续元素组成的一个序列。

示例 1:

输入:groups = [[1,-1,-1],[3,-2,0]], nums = [1,-1,0,1,-1,-1,3,-2,0]

输出:true

解释:你可以分别在 nums 中选出第 0 个子数组 [1,-1,0,1,-1,-1,3,-2,0] 和第 1 个子数组 [1,-1,0,1,-1,-1,3,-2,0] 。
这两个子数组是不相交的,因为它们没有任何共同的元素。

示例 2:

输入:groups = [[10,-2],[1,2,3,4]], nums = [1,2,3,4,10,-2]

输出:false

解释:选择子数组 [1,2,3,4,10,-2] 和 [1,2,3,4,10,-2] 是不正确的,因为它们出现的顺序与 groups 中顺序不同。
[10,-2] 必须出现在 [1,2,3,4] 之前。

示例 3:

输入:groups = [[1,2,3],[3,4]], nums = [7,7,1,2,3,4,7,7]

输出:false

解释:选择子数组 [7,7,1,2,3,4,7,7] 和 [7,7,1,2,3,4,7,7] 是不正确的,因为它们不是不相交子数组。
它们有一个共同的元素 nums[4] (下标从 0 开始)。

提示:

双指针

为了方便,将 groups 记为 gs

从前往后处理每个 ,使用 idx 记录当前使用到 nums 中的哪一位(即 已经用于匹配

每次尝试从 idx 出发匹配 gs[i],若能匹配成功,则整段更新 ;否则将 idx 后移一位,继续尝试匹配 gs[i]

Java 代码:

class Solution {
    public boolean canChoose(int[][] gs, int[] nums) {
        int m = nums.length, idx = 0;
        out:for (int[] info : gs) {
            for (int j = idx; j + info.length <= m; j++) {
                boolean ok = true;
                for (int k = 0; k < info.length && ok; k++) {
                    if (nums[j + k] != info[k]) ok = false;
                }
                if (ok) {
                    idx = j + info.length;
                    continue out;
                }
            }
            return false;
        }
        return true;
    }
}

C++ 代码(用 ct 模拟 continue tag 效果):

class Solution {
public:
    bool canChoose(vector<vector<int>>& gs, vector<int>& nums) {
        int m = nums.size(), idx = 0;
        out:for (auto& info : gs) {
            bool ct = false;
            for (int j = idx; j + info.size() <= m; j++) {
                bool ok = true;
                for (int k = 0; k < info.size() && ok; k++) {
                    if (nums[j + k] != info[k]) ok = false;
                }
                if (ok) {
                    idx = j + info.size();
                    ct = true;
                    break;
                }
            }
            if (!ct) return false;
        }
        return true;
    }
};

Python 代码:

class Solution:
    def canChoose(self, gs: List[List[int]], nums: List[int]) -> bool:
        m, idx = len(nums), 0
        for info in gs:
            for j in range(idx, len(nums) - len(info) + 1):
                if all(nums[j + k] == info[k] for k in range(len(info))):
                    idx = j + len(info)
                    break
            else:
                return False
        return True

TypeScript 代码:

function canChoose(gs: number[][], nums: number[]): boolean {
    let m = nums.length, idx = 0;
    for (const info of gs) {
        let ct = false;
        for (let j = idx; j + info.length <= m; j++) {
            let ok = true;
            for (let k = 0; k < info.length && ok; k++) {
                if (nums[j + k] !== info[k]) ok = false;
            }
            if (ok) {
                idx = j + info.length;
                ct = true;
                break;
            }
        }
        if (!ct) return false;
    }
    return true;
};
  • 时间复杂度:
  • 空间复杂度:

最后

巨划算的 LeetCode 会员优惠通道目前仍可用 ~

使用福利优惠通道 leetcode.cn/premium/?promoChannel=acoier,年度会员 有效期额外增加两个月,季度会员 有效期额外增加两周,更有超大额专属 🧧 和实物 🎁 福利每月发放。

我是宫水三叶,每天都会分享算法知识,并和大家聊聊近期的所见所闻

欢迎关注,明天见。

更多更全更热门的「笔试/面试」相关资料可访问排版精美的 合集新基地 🎉🎉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值