2021秋招面试题目收集--字节客户端(1, 2, 3(凉))

一面

1.1 面试体验

  • 时间:2020-08-23 15:00~16:00
  • 面试官💖💖💖💖

1.2 手撕代码

Input:

  • 一个正整数数组,一个目标数字

Output:

  • 如果数组中存在两个数字的和与目标数字相等,则打印出来这两个数字及对应下标位置;
  • 如果不存在则打印null。
    Example:
  • 输入数组为[3,10,2, 15, 7, 11, 9, 54], 目标数字为9,则输出为 index2=2, index4=
    要求:
  • 输出所有满足条件的情况

1.3 问题

  1. HTTPs和HTTP

  2. HTTP应用

  3. HTTP状态码解释

  4. 如何实现一个断点续传

    断点续传发生在大文件切片上传场景
    大文件上传
    (1)前端上传大文件时将文件切片,并发上传多个切片,最后发送一个合并的请求通知服务端合并切片
    (2)服务端接收切片并存储,收到合并请求后使用流将切片合并到最终文件
    (3)原生 XMLHttpRequest 的upload.onprogress 对切片上传进度的监听
    (4)使用 Vue 计算属性根据每个切片的进度算出整个文件的上传进度

    断点续传
    (1)使用 md5 根据文件内容算出文件 hash, 通过 hash 可以判断服务端是否已经上传该文件,从而直接提示用户上传成功(秒传)
    (2)通过 XMLHttpRequest 的 abort 方法暂停切片的上传
    (3)上传前服务端返回已经上传的切片名,前端跳过这些切片的上传

  5. 设计模式(单例、工厂、抽象工厂、迭代器、包装器)

  6. 抽象工厂和普通工厂模式的区别

  7. 手写单例模式(枚举、懒汉、饿汉、双重校验锁、匿名内部类)

  8. 类的加载过程

  9. 双亲委派

  10. 内存泄露是怎么回事,Java的内存泄漏

  11. 如何实现一个线程池

二面

2.1 面试体验

  • 时间:2020-08-25 15:00~16:20
  • 面试官💖💖💖💖

2.2 手撕代码

  1. 十进制转三进制
  2. leetcode 253:会议室问题

2.3 问题

  1. 局部性原理
  • 时间局部性: 如果程序中的某条指令一旦执行,不久以后该指令很可能再次执行;如果某数据被访问过,不久以后该数据很可能再次被访问。产生时间局部性的典型原因,是由于在程序中存在着大量的循环操作。
  • 空间局部性: 一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址,可能集中在一定的范围之内,这是因为指令通常是顺序存放、顺序执行的,数据也一般是以向量、数组、表等形式簇聚存储的。空间局部性通常是使用较大的高速缓存,并将预取机制集成到高速缓存控制逻辑中实现。虚拟内存技术实际上就是建立了 “内存-外存” 的两级存储器的结构,利用局部性原理实现髙速缓存。
  1. 操作系统作业调度方法
  2. FCFS调度有什么优缺点
  3. 时间片调度的优缺点
  4. HTTPs通信过程详解
  5. 设计模式的设计原则
  6. 解释抽象工厂和工厂方法设计模式的区别,举例说明(复盘一面)

三面(已凉)

3.1 面试体验

  • 时间:2020-08-31 15:00~16:10
  • 面试官💖💖💖💖

3.2 手撕代码

输出所有合法括号
最小字串覆盖

3.3 问题

  1. 网络分层
  2. 实习
  3. DNS域名解析
  4. DNS劫持,如何防止
  5. Java内存模型
  6. 什么是字节对齐
  7. Java的对象占多少内存
  8. 不做安全,为什么做客户端
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值