字节跳动前端实习面试,再附送网易华为面经

Posted 不爱码字的程序员-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字节跳动前端实习面试,再附送网易华为面经相关的知识,希望对你有一定的参考价值。

前言

 先分享一波字节的福利待遇!

  • 技术岗日薪400,房补杭州800/北京1500;
  • 全员 Mac + 4K 显示器,上班 10 点以后,下班7点,但是根据自己的工作进度(另外10 点以后打车报销);
  • 包三餐(有健身餐)和下午茶,菜品非常多,自己打菜想吃多少打多少,零食、咖啡不限量;
  • 公司附近有免费的健身房,设备非常给力噢;
  • 扁平化管理,无需过多考虑上下级的关系,同事都很年轻nice;

 

准备了一个月的面试,先是面了网易(一面挂)、华为云(等待leader综合面)、字节(等offer),在CSDN学习了那么久,在这里小编也回馈一下大伙,分享出来我的面试经历

 

进入正题

字节

一面

 

1.css的display:none,visibility:hidden,opacity: 0三者具体区别,屏幕中能不能看见空白等等

2.display flex 实现一个三栏布局,要求左边宽度固定,中间与右边宽度相等

3.下面代码输出的结果是什么?

var length = 10; function fn() {  return this.length+1; } var obj = {  length: 5,  test1: function() {  return fn();  } }; obj.test2=fn; //下面代码输出是什么  console.log(obj.test1()) console.log(fn()===obj.test2())

4.js如何定义一个类并实现继承要求不能使用es6的语法(手写了一个寄生组合式继承)

5.看代码说输出

console.log('begin') setTimeout(() => {  console.log('setTimeout 1')  Promise.resolve().then(() => {  console.log('promise 1')  setTimeout(() => {  console.log('setTimeout2 between promise1&2')  })  }).then(() => {  console.log('promise 2')  }) }, 0) console.log('end')

6.浏览器的事件模型?(DOM0,DOM2级,IE事件模型)

7.在当前的事件模型中,哪些事件可以冒泡,哪些不会冒泡,为什么?不会冒泡的怎么实现事件委托(addEventListener第三个参数可以在捕获阶段添加事件监听)

9.常见的HTTP Method有哪些?GET/POST区别?Header中常见的key/value对有哪些?Header中能存放二进制数据么?你认为Header中,最重要的那个Key/Value对是什么?

10.如何理解虚拟DOM?

11.手写promise.all

12.用 vue 实现一个树形目录数组件,支持目录树的展示和点击展开收起操作(不会)

13.比较两个版本号 version1 和 version2。

14.如何快速判断一个ip地址是否属于国内?已知db中有几十万个国内ip地址段(转为一串数字然后二分查找,写一个二分查找)

15.能实习多久,什么时候能来

16.反问:

面试表现怎么样:基础比较好,可能就缺少一些经验、代码写得比较少

能过吗:我这边没问题

 

二面

一面结束10分钟,开始二面

1.水平和垂直居中(写了五种,详细问了margin:auto ,上右下左都为0这种方法的原理)

2.请写出一个可以生成整型随机数数组(内部元素不重复)的函数,并可以根据参数设置随机数生成的范围和数量。例如:函数

makeRandomList(a,b,c),可以生成 [a,b)范围内,长度为c的随机数数组

3.手写eventbus(发布者订阅者模式)

emit、on、off、once

4.项目难点

5.问了前端学习方法

6.能实习多久,什么时候能来

7.反问

面试表现怎么样:能看得出,3个月时间把前端基础学得比较扎实,经验差一点

能过吗:我们比较注重学习能力,经验可以在工作中弥补

没录音,还有些忘了。。

 

三面

1.前端学习方法

2.项目各种细节。

3.data中的数据什么时候不能实现响应,怎么解决?(Vue.set,this.set)为什么这两种方式就能实现响应式,与直接this.data的区别(感觉是在问this.set)为什么这两种方式就能实现响应式,与直接this.data的区别(感觉是在问this.set)为什么这两种方式就能实现响应式,与直接this.data的区别(感觉是在问this.set的原理)

4.Vue的响应式原理,以及这种原理的缺点

5.前端安全方面你知道哪些:https的具体过程、xss、csrf、dns劫持以及各自的解决方法

6.做一个类似百度搜索的组件,输入框输入数据,发送到后端,后端接收数据并返回推荐的搜索列表。(简单写了个框架,里面用到了防抖,暴露了实战经验不足。。。)

7.能实习多久,什么时候能来

8.反问:

面试表现如何:这个我不能和你说,后续我们会有hr通知你

hr面试

1.个人学习方法

2.为什么研究生选择跨专业

3.为什么选择前端

4.准备了多长时间、怎么准备的

5.有其他offer吗、发offer会来吗

6.谈了谈字节的待遇

( hr说尽快这周把offer发下来, 开心,作为一个前端小菜鸡,我要好好学前端!!!)

 

网易

一面

1.清除浮动

2.垂直水平居中(同时满足)有哪些方式

3.JS变量提升和函数提升的定义、区别

3.有没有做过上传过图片这个功能

4.有没有做过移动端

5.有没有做过动画

6.有没有配置过webpack(4连没有,歇逼)

7.new一个vue实例,在data里面初始化一个变量,修改这个变量,在这之后,Vue做了些什么(答了双向数据绑定、diff算法、vdom)

8.谈谈promise,promise.all知道吗

9.vue怎么实现对数组的监听,vue数组变异方法有哪些,是怎么实现的,以push为例,说说算法

10.es6有哪些新特性

11.有两个同级的vue组件,有哪些方法可以实现组件的数据交互(答了vuex,新建了一个中间组件作为两个组件的父组件,子传父、父传子,面试官问还有没有,摇了我吧)

12.事件循环机制->宏任务微任务

(好家伙,准备了一个星期就敢去面试,疯狂被打击)

 

华为

一面

  1. positon
  2. CSS动画,transition和animation区别
  3. 浮动有什么问题(脱离文档流、塌陷,清除浮动)
  4. 谈谈flex布局
  5. ES6新特性
  6. promise的应用场景
  7. 箭头函数与普通函数的区别(this和new)
  8. event loop、宏任务微任务
  9. try catch能不能捕获到异步抛出的错误
  10. let和var区别
  11. webpack能不能自己写一个loader,自己实现一个loader
  12. vue全家桶各自的原理
  13. 组件间通讯->eventbus对比vuex有哪些缺点
  14. http状态码
  15. http缓存机制(强制缓存,协商缓存,详细问了各个字段的含义,etag、cache-control、max-age......)
  16. 反问

二面

二面结束对方就打电话约了二面,10分钟后开始二面,二面就写了一个数组扁平化的函数,约了28号的综合面

最后

博主整理了一些前端CSS面试题文档,javascript面试题文档,Vue面试题文档,大厂面试题文档,由于篇幅问题,需要的小伙伴可以戳这里或者手动加交流群1021825891免费领取!

还有一件事!如果觉得博主写的不错,记得三连哦

 

以上是关于字节跳动前端实习面试,再附送网易华为面经的主要内容,如果未能解决你的问题,请参考以下文章

2022字节跳动数仓实习面经(23面hr面)

字节跳动实习后端日常实习的三次面试+hr面 面经

字节跳动实习后端日常实习的三次面试+hr面 面经

字节跳动实习后端日常实习的三次面试+hr面 面经

字节跳动实习后端日常实习的三次面试+hr面 面经

字节跳动实习面经(已拿offer附攻略)