字节(飞书)暑期实习面试记录

2023-11-12

字节一面(2022-05-07,20:00-21:20)

前导:面试官简单介绍字节和面试注意点
1、自我介绍(问实习能多久)
2、项目介绍部分:
问:实习了多久
介绍项目
项目收获
项目难点
怎样轮询日志的(因为我项目介绍时候有提到)
3、正片开始
网络部分:
七层网络模型
TCP,UDP
三次握手,为什么要发三次而不是两次,如果只是两次握手服务器发送数据会怎么样?
前端缓存的方式有哪些(不是缓存策略强缓存,协商缓存)
Etag和Last-Modified优先级谁高,localstorage存储的长度
css部分:
父子元素宽高未知,要求元素垂直水平居中(要求手写css,不能光说,写了四种)
ES6部分:
一段promise和setTimeout结合的代码说输出并解释为何是这个顺序
宏任务和微任务有哪些
Promise在js中的作用
说说promise.all,promise.any,promise.race的区别使用场景
算法题:
给[‘2020-03’,‘2022-01’]这样的数组,第一个元素是起始年月,第二个元素是终止年月,输出一个数组,数组里是所有在这个时间段的年月,例如[‘2020-03’,‘2020-04’,…,‘2020-12’,…,‘2022-01’]

//一次循环
function getAllYear(startDate, endDate) {
  let startYear = new Date(startDate).getFullYear(), endYear = new Date(endDate).getFullYear()
  let startMonth = new Date(startDate).getMonth() + 1, endMonth = new Date(endDate).getMonth() + 1
  let len = endYear * 12 + endMonth - (startYear * 12 + startMonth) + 1, res = [], tempYear = 0, tempMonth = 0, p = ''
  for (let i = 0; i < len; i++) {
    tempYear = parseInt((startMonth + i) / 12)
    tempMonth = (startMonth + i) % 12
    if (tempMonth < 10) {
      if (tempMonth !== 0) {
        p = startYear + tempYear + '-0' + tempMonth
        res.push(p)
      } else {
        p = startYear + tempYear - 1 + '-12'
        res.push(p)
      }
    } else {
      p = startYear + tempYear + '-' + tempMonth
      res.push(p)

    }
  }
  console.log('res----', res)
}
getAllYear('2020-03', '2022-07')

4、反问
实习生会招多少个
算法在面试中比重大吗
算法题别人的解题思路

字节二面(2022-05-11,15:00-16:00)

1、自我介绍
2、项目难点重点介绍,如果让你优化,你觉得还有什么需要改进的地方
3、正片
3、1说输出,并解释注释部分的问题,说说对变量提升和函数提 升的理解(输出蒙对了,但是我的解释不太对,我说的是堆栈的区别)

function Foo() {
  getName = function () {
    alert(1)
    return this
  }
}
var getName//解释变量提升和函数提升
function getName() {//函数提升和变量提升谁的优先级高
  alert(5)
}
Foo.getName = function () {
  alert(2)
}
Foo.prototype.getName = function () {
  alert(3)
}
getName = function () {
  alert(4)
}
getName()

3、2 说说js的数据类型,手写深拷贝
我的答案:

function getDataType(data) {
  var getType = Object.prototype.toString;
  var myType = getType.call(data);//调用call方法判断类型,结果返回形如[object Function]
  var typeName = myType.slice(8, -1);//[object Function],即取除了“[object ”的字符串。
  var copyData = '';//复制后的数据
  //console.log(data+" is "+myType);
  switch (typeName) {
    case 'Number':
    case 'String':
    case 'Function':
    case 'Null':
    case 'Boolean':
    case 'Undefined': copyData = data
      break;
    case 'Array':
      copyData = [];//先将copyData变为空数组
      for (var i = 0; i < data.length; i++) {
        copyData[i] = getDataType(data[i]);//将data数组数据逐个写入copyData
      }
      break;
    case 'Object':
      copyData = {};//先将copyData变为空对象
      for (var x in data) {
        copyData[x] = getDataType(data[x]);
      }
      break;
    default: copyData = data;
      break;
  }
  return copyData;
}

增加难度,如果拷贝的对象里面有循环呢,比如:

let a={
	b:a
	}

我回答的在拷贝的循环里面增加判断条件是否等于对象本身,如果等于那直接把本身赋值给当前对象

3、3 说说promise.all,promise.race,promise.allSettled的区别,并手写promise.all
3、4 算法:两字符串求和( 415. 字符串相加
3、5 说说什么是BFC,怎么开启,解决什么问题
3、6 说说flex布局,有哪些常用的属性
4、反问
部门业务
学习方法
面试官有事,所以准备问的一着急忘记了
在这里插入图片描述

字节三面 (2022-05-13 15:00-16:15)

1、一分钟自我介绍
2、项目(问了很久:包括收获,挑战,优化,详细问了具体实现的功能,遇到问题是怎么解决的)
3、react的hooks有哪些
4、react的diff算法
5、react的setstate是异步还是同步,说说使用场景
6、说说对umi的了解
7、说说什么是dva
8、算法题1,返回所给嵌套数组的最深层数
9、算法题2,返回字符串最长的相同前缀并讲思路
反问:
用react还是用vue
还有没有四面

等三面结果中。。。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

字节(飞书)暑期实习面试记录 的相关文章

随机推荐

  • 高德导航红绿灯为啥能读秒?

    来源 JavaEdge 1 内部员工吐露 2 真正的内幕 免责声明 任何文章不要过度深思 万事万物都经不起审视 因为世上没有同样的成长环境 也没有同样的认知水平 更 没有适用于所有人的解决方案 不要急着评判文章列出的观点 只需代入其中 适度
  • 外汇高概率一分钟交易系统

    交易系统前置 建议资金 10000美金 交易品种 黄金 交易周期 1分钟 使用指标 Ichimoku Kinko Hyo 注 只留上下Kumo 其他线隐藏 MACD MA15 MA55 交易仓位 建议每次交易 0 05手 交易入场条件 MA
  • MATLAB深度学习LSTM 标签分类classificationLayer层,YTrain的设置出错

    问题 使用matlab深度学习工具箱进行标签分类 设置XTrain为输入是n 1的元胞数组 每个元胞数据有6个特征值 YTrain输出是n 1的元胞数组 内容为标签 0 或 1 LSTM层和options设置如下 layers sequen
  • Java-进制转换

    常用的进制转换 十进制转二进制 二进制转十进制 十进制转八进制 八进制转十进制 十进制转十六进制 十六进制转十进制 如果二 八 十六之间想转换可以通过十进制做中间者 import java util Scanner import java
  • 10本编程书籍推荐!带你从入门到精通

    在看书 阅读前 一定先选择一门适合自己的编程语言 对0基础的同学 选择程序设计语言时先了解自己的学习能力 太难的语言 没有一定的基础 以及没有老师讲解 指引 太容易产生挫败感从而放弃 其次 如果自己有一点点明确的目的或需求 那么选一门对自己
  • C++ Windows上键盘拦截

    键盘捕获代码 include
  • Java8 之Optional 的使用

    作为java8的新特性之一 可选在没有接触之前没有感受到过他的魅力 当真正的去用它才感觉到魅力之所在 可选 JAVA新增的工具类 主要是用来解决我们之前 NullPointException的问题 我先贴一段之前的代码 部分截取 真实业务场
  • 利用python开启简单http服务用户文件下载

    当文件传输没有工具时 利用python可以开启http服务 方便文件传输下载 python2 python m SimpleHTTPServer 2222 Serving HTTP on 0 0 0 0 port 2222 已经启动了端口为
  • ChatGPT专业应用:修改SQL为MySQL

    正文共 875 字 阅读大约需要 4 分钟 程序员等必备技巧 您将在4分钟后获得以下超能力 修改SQL为MySQL Beezy评级 A级 经过寻找和一段时间的学习 一部分人能掌握 主要提升效率并增强自身技能 推荐人 Kim 编辑者 Yola
  • STM32-按键输入

    1 硬件连接 1 1 mini 1 2 战舰 1 3 探索者 KEY0 gt PE4 上拉输入 KEY1 gt PE3 上拉输入 KEY2 gt PE2 上拉输入 WK UP gt PA0 下拉输入 按键输入最关键的是对按键的初始化和输入判
  • 数据结构小白之浅析二叉排序树(bst)

    1 什么是二叉排序树 二叉排序树 binary sort tree 简称为bst 是一种无论是查询还是添加都相对较快速的数据结构 相比于数组而言 未排序的数组 可以直接在数组的尾部进行添加数据 但是查找的速度慢 排序的数组 可以使用二分查找
  • Unity常见问题合集

    目录 前言 1 StopCoroutine并不能停止协程 2 GetComponentsInChildren如何获取隐藏物体 3 导入的模型无法编辑材质球属性 4 MeshRender更换材质球方法 5 两个模型动画不同步 播完后有延迟 前
  • HX711称重模块的使用

    HX711称重模块的使用 先贴一段文字 见多了可以跳过直接看下面 满量程输出电压 激励电压 灵敏度1 0mv v 例如 供电电压是5v 乘以灵敏度1 0mv v 满量程5mv 相当于有5Kg 重力产生时候产生5mV 的电压 2 概述 711
  • C++_tuple, tie, std::get<>

    catalog std get lt gt tuple源码 tie 用处 简化比较 std get lt gt 要么返回的是 引用 要么返回的是 const 常量引用 即 std get lt 0 gt t 他返回的 一定是 t这个tupl
  • Linux新手入门教程

    下面给你讲解新手第一次接触Linux操作系统 一 学习Linux 1 Linux系统 Linux命令 ssh websever apache MySQL 缓存 PHP Python java 必备服务 2 Linux能做什么 企业服务器 嵌
  • 开发者营地

    本文聚焦于Glide的源码 基于Glide4 11 0 一 简介 Glide的GitHub Glide是一个快速高效的Android图片加载库 注重于平滑的滚动 Glide提供了易用的API 高性能 可扩展的图片解码管道 decode pi
  • WebSocket学习

    从搜索引擎搜索资料 https www runoob com html html5 websocket html WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议 WebSocket 使得客户端和
  • ISO/OSI七层模型

    想要让两台PC进行通信 必须使用相同的信息交换规则 我们把计算机网络中用于规定信息的格式 以及如何发送和接受信息的一套规则称谓网络协议或者通信协议 我们为了减少网络设计的复杂 人们按功能将计算机网络划分为多个不同功能的层 网络体系结构就是网
  • 游戏的基础—三消-1

    三消 简单的理解就是3个在一起就消喽 这里我们就最简单的操作的三消为例 就是你触屏按下去 然后以当前的位置像周围4个方向寻找是否有相同类型的游戏实体 如果有的话 把它存进一个list的里面 这里要强调一下c 里面数组一般用list因为lis
  • 字节(飞书)暑期实习面试记录

    字节一面 2022 05 07 20 00 21 20 前导 面试官简单介绍字节和面试注意点 1 自我介绍 问实习能多久 2 项目介绍部分 问 实习了多久 介绍项目 项目收获 项目难点 怎样轮询日志的 因为我项目介绍时候有提到 3 正片开始