面灵AI→

字节跳动社招后端三面:链表倒数第 K 个节点与项目深挖

轮次
三面
时间
2026-10
来源
牛客网

《面试题目》

  1. 自我介绍。
  2. 介绍一下你所在部门的业务。
  3. 算法题:返回链表的倒数第 K 个节点。
  4. 针对简历问两个深入的问题。
  5. 介绍一个你最熟悉的项目,并接受追问。
  6. 反问。

《参考解析》

链表倒数第 K 个节点

用快慢指针一次遍历:快指针先走 K 步,然后快慢指针同时前进,快指针走到链表末尾时,慢指针正好指向倒数第 K 个节点。边界要处理 K 大于链表长度、K ≤ 0、空链表。时间复杂度 O(n),空间 O(1)。

ListNode findKthFromEnd(ListNode head, int k) {
    if (head == null || k <= 0) return null;
    ListNode fast = head, slow = head;
    for (int i = 0; i < k; i++) {
        if (fast == null) return null; // k 超过链表长度
        fast = fast.next;
    }
    while (fast != null) {
        fast = fast.next;
        slow = slow.next;
    }
    return slow;
}

项目深挖怎么准备

面试官通常会沿一条主线往下追:你负责哪部分 → 为什么这么设计 → 有没有别的方案 → 指标怎么来的 → 出了问题怎么排查。提前为每个项目准备四样东西:业务背景和用户价值、你个人的具体动作、可验证的结果指标、一次失败或取舍的复盘。数字要能解释口径,不能只写「提升 30%」却说不清基线。

介绍部门业务

用「服务谁、解决什么问题、核心链路是什么、你所在团队负责哪一段」四句话讲清,避免背组织架构。如果对部门了解不深,就讲自己从面试沟通和公开资料里确认的部分,不编内部信息。

反问

优先问能帮助判断岗位质量的问题:团队当前最重要的目标是什么、这个岗位进来后前三个月要解决什么问题、技术栈和协作方式、绩效如何评估。少问官网能查到的信息。