Skip to main content

字节跳动-国际电商一面8.20

·151 words·1 min
WFUing
Author
WFUing
A graduate who loves coding.

首先是自我介绍,我按照原来的简历做了介绍,但是面试官一直在强调想听模型,不想听业务流程,其实一直没有搞懂他口中的流程和模型的区别,说了用领域开发的那一套介绍的,先介绍领域里面的核心概念,再介绍流程,后面改了风格,面试官夸说现在对了。

拷打项目-提报系统

  1. 面试官问这些模型里面哪个你最了解?我说了卡控因子。
  2. 问:为什么要设置展位,展位跟投放单有什么区别?
  3. 问:为什么这个卡控不全让算法来做?你们还要做一次卡控?

八股

  1. 问:java反射的原理?本来想扩展Spring里面的发射,被强制会主线
  2. 问:mysql中的分页offset和limit,这个sql怎么操作的?面试官强调要具体到每一步的存储(在内存还是磁盘)

  1. 问:你知道CAP吗?一时间没反应过来

算法题

5min 秒了

import java.util.Arrays;
import java.util.HashSet;

public class PokerHandEvaluator {

    public static void main(String[] args) {
        int[] hand1 = {2, 5, 4, 6, 7, 8, 10}; // 示例手牌
        System.out.println(judge(hand1)); // 应该输出 true

        int[] hand2 = {0, 4, 6, 8, 9, 11, 3};
        System.out.println(judge(hand2)); // 应该输出 false
    }

    public static boolean judge(int[] input) {
        // 由于牌的表示从 0 到 51,我们使用 HashSet 来去除重复的牌
        HashSet<Integer> de = new HashSet<>();
        for (int i = 0; i < input.length; i++) {
            // 由于题目要求用 0-51 表示牌,这里直接添加牌的值
            input[i] = input[i] % 13;
            de.add(input[i]);
        }

        Integer[] ans = de.toArray(new Integer[0]);

        // 对牌进行排序
        Arrays.sort(ans);

        // 检查是否存在连续的 5 张牌
        for (int i = 0; i <= ans.length - 5; i++) {
            if (ans[i + 4] - ans[i] == 4) {
                // 找到了连续的 5 张牌
                return true;
            }
        }

        // 没有找到连续的 5 张牌
        return false;
    }
}

面试官继续问,如果不用 Arrays.sort(ans); 你怎么办?

反问:

  1. 字节跳动国际电商营销的开发内容(跟美团的基本一样)
  2. 工作的时间