字节跳动前端面试(实习)答案整理
面了字节日常实习两面了,把问到的问题答案整理了一下
问题原贴:https://www.nowcoder.com/discuss/848785
2.28 一面
1、自我介绍
2、介绍一下实习经历,都做了什么?
就实习经历深入问了一下开发的 内容,提到了localStorage
浏览器都有哪几种缓存?区别是什么
浏览器都有哪几种缓存?区别是什么
cookie 、localStorage 和 sessionStorage
- cookie:其实最开始是服务器端用于记录用户状态的一种方式,由服务器设置,在客户端存储,然后每次发起同源请求时,发送给服务器端。cookie 最多能存储 4 k 数据,它的生存时间由 expires 属性指定,并且 cookie 只能被同源的页面访问共享。
- sessionStorage:html5 提供的一种浏览器本地存储的方法,它借鉴了服务器端 session 的概念,代表的是一次会话中所保存的数据。它一般能够存储 5M 或者更大的数据,它在当前窗口关闭后就失效了,并且 sessionStorage 只能被同一个窗口的同源页面所访问共享。
- localStorage:html5 提供的一种浏览器本地存储的方法,它一般也能够存储 5M 或者更大的数据。它和 sessionStorage 不同的是,除非手动删除它,否则它不会失效,并且 localStorage 也只能被同源页面所访问共享。
3、一个button宽高都设为100px,那它的真实大小是多少?
敲代码试了一下是这样的(左边QQ浏览器,右边Chrome浏览器结果)
说说对盒子模型的理解
盒模型都是由四个部分组成的,分别是margin、border、padding和content
CSS3中的盒模型有两种:标准盒子模型、IE盒子模型
标准盒模型和IE盒模型的区别在于设置width和height时,所对应的范围不同:
- 标准盒模型的width和height属性的范围只包含了content
- IE盒模型的width和height属性的范围包含了border、padding和content
可以通过修改元素的box-sizing属性来改变元素的盒模型:
- box-sizing: content-box表示标准盒模型(默认值)
- box-sizing: border-box表示IE盒模型(怪异盒模型)
4、如果想要隐藏一个元素,有哪几种设置方式?
- display: none:渲染树不会包含该渲染对象,因此该元素不会在页面中占据位置,也不会响应绑定的监听事件。
- visibility: hidden:元素在页面中仍占据空间,但是不会响应绑定的监听事件。
- opacity: 0:将元素的透明度设置为 0,以此来实现元素的隐藏。元素在页面中仍然占据空间,并且能够响应元素绑定的监听事件。
- position: absolute:通过使用绝对定位将元素移除可视区域内,以此来实现元素的隐藏。
- z-index: 负值:来使其他元素遮盖住该元素,以此来实现隐藏。
- clip/clip-path :使用元素裁剪的方法来实现元素的隐藏,这种方法下,元素仍在页面中占据位置,但是不会响应绑定的监听事件。
- transform: scale(0,0):将元素缩放为 0,来实现元素的隐藏。这种方法下,元素仍在页面中占据位置,但是不会响应绑定的监听事件。
5、有哪几种定位类型?说一下你的理解
6、JS数据类型有哪些?
JavaScript共有八种数据类型,分别是 Undefined、Null、Boolean、Number、String、Object、Symbol、BigInt。
怎么来检测数据类型?
- typeof:返回检测的数据类型,数组、对象、null都会被判断为object
- instanceof:返回true/false,只能正确判断引用数据类型,运行机制是判断在其原型链中能都找到该类型的原型
- constructor:返回true/false,可判断所有数据类型
- Object.prototype.toString.call():返回检测的数据类型,可判断所有数据类型
7、说说你对原型的理解
8、js除了原型怎么实现继承?
9、说说你对vue的理解
开源JavaScript框架,渐进式框架,使用MVVM模式,采用双向数据绑定,组件化开发……
10、vue3比vue2增加了什么?
11、computed和watch区别
- computed 计算属性 : 依赖其它属性值,并且 computed 的值有缓存,只有它依赖的属性值发生改变,下一次获取 computed 的值时才会重新计算 computed 的值。
- watch 侦听器 : 更多的是观察的作用,无缓存性,类似于某些数据的监听回调,每当监听的数据变化时都会执行回调进行后续操作。
12、vue的生命周期
vue2:beforeCreate(创建前)、Created(创建后)、beforeMount(挂载前)、mounted(挂载后)、beforeUpdate(更新前)、updated(更新后)、befo
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
2022春zkey找实习 文章被收录于专栏
2022.2-2022.4 春招找实习过程中的面经记录