字节跳动 java后台面经

1、自我介绍+项目介绍

2、java语言基础

  • 面向对象三大特性
  • 重写、重载的区别
  • GC机制和方法
  • GC一定会产生垃圾碎片吗

3、操作系统

  • 线程和进程的区别
  • 内核态和用户态
  • 死锁问题产生的四个条件

4、数据结构

  • 链表(顺序存储、链式存储)
  • 队列(具体使用场景)
  • 栈(具体使用场景)

5、排序算法

  • 冒泡排序(时间复杂度及稳定性)
  • 选择排序(时间复杂度及稳定性)
  • 插入排序(时间复杂度及稳定性)
  • 快排(时间复杂度及稳定性)
  • 堆排序(时间复杂度及稳定性)

算法题

手写代码设计实现通过权重获取服务器:

import java.util.ArrayList;

public class Server {
    double weight;
    String ip;
    public Server(){}
    public Server(double weight,String ip){
        this.weight = weight;
        this.ip = ip;
    }
    //实现通过权重获取服务器(不同服务器权重有可能相同)
    public Server getServerByweight(ArrayList list){
        //自定义方法

        return null;
    }
}

 

你可能感兴趣的:(面经)