字节跳动Android实习生视频面试(二面)

本文分享了作者作为Android实习生在字节跳动二面的经历,预期面试会涉及Android知识,但实际上主要考察了算法,包括链表反转和寻找重复元素最左边下标的二分查找问题。虽然感觉可能未通过,但作者认为这是一个学习和成长的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

过程

一面过了一天就是二面,本来还想着二面会进一步考一些Android知识,就把Android绘制流程什么的都看了一遍,没想到二面聊会天之后纯考的算法orz,实在不擅长算法,虽然现在还没通知,但应该是凉了。

面试题目

首先是聊了聊简历上写的项目,差不多十几分钟吧,然后是算法题,全是手撕代码。如果我写得快的话,应该会问三道,但是我写太慢了,两道以后直接结束了。

  1. 链表反转
public static void main (String[] args) {
    Node head = new Node("a");  //一个具有三个节点的链表
    Node n1 = new Node("b");
    Node n2 = new Node("c");

    head.setNext(n1);  //设置节点指向情况
    n1.setNext(n2);
    n2.setNext(null);

    Node current = reverse(head);  //反转后的头结点
    while (current != null) {
        System.out.println(current.getContent());
        current = current.getNext();
    }
}

private static Node reverse(Node head) {
    if (head == null || head.getNext() == null)
        return head;
    Node pre = head;
    Node curr = head.getNext();
    Node next;
    pre.setNext(null);  //断开第二个节点指向头结点的链
    while (curr.getNext() != null) {
        next = curr.getNext();  //先得到next节点,不然断链以后无法获取
        c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值