Web前端最全这么优秀的实习生估计都得抢- 一个大三前端的四轮字节面经,2024年最新字节跳动面试攻略

读者福利

========

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

由于篇幅过长,就不展示所有面试题了,想要完整面试题目的朋友(另有小编自己整理的2024大厂高频面试题及答案附赠)


  1. 简述https原理,以及与http的区别

  2. 操作系统中进程和线程怎么通信

  3. node中cluster是怎样开启多进程的,并且一个端口可以被多个进程监听吗

  4. 实现原生ajax

  5. vue-router源码

  6. vue原理(手写代码,实现数据劫持)

  7. 算法:树的遍历有几种方式,实现下层次遍历

  8. 算法:判断对称二叉树

第一次面试,当时比较紧张,面试官很和蔼,面试中问到操作系统的进程,当时不记得操作系统, 就提到了node多进程,然后面试官就问了cluster是怎样开启多进程的,并且一个端口可以被多个 进程监听吗?

答完后面试官就问了后面写完vue数据劫持的时候

面试官又问了Object.defineProperty除了 set get外还有什么属性,我回答了configurable enumerable。vue-router主要提到了hashchange 事件等,顺便跟面试官聊了一下h5的historyAPI。

时间总共是50分钟左右,一面完了后面试官让

我等五分钟,接下来二面就开始了

二面

  1. 介绍一下项目中的难点

  2. let var const 有什么区别

  3. 你知道哪些http头部

  4. 怎么与服务端保持连接

  5. http请求跨域问题,你都知道哪些解决跨域的方法

  6. webpack怎么优化

  7. 你了解哪些请求方法,分别有哪些作用和不同

  8. 你觉得typescript和javascript有什么区别

  9. typescript你都用过哪些类型

  10. typescript中type和interface的区别

  11. react怎么优化

  12. 算法题:合并乱序区间

笔者在回答http头部的时候,顺带跟面试官聊到了浏览器缓存,回答跨域的时候,面试官又 让我用jsonp实现一下跨域,回答webpack的时候提到了happypack和treeshaking,面试官就 顺带问了一下他们的作用

算法题我当时没有写出来(主要是因为菜),二面大概40多分钟结 束,面试完后面试官说稍后hr会联系我,让我注意保持通信,还没过一小时,hr打电话约我 第三次面试时间,不得不说,字节的效率真的高

三面

  1. 你了解node多进程吗

  2. node进程中怎么通信

  3. node可以开启多线程吗

  4. 算法题:老师分饼干,每个孩子只能得到一块饼干,但每个孩子想要的饼干大小不尽相同。

  5. 目标是尽量让更多的孩子满意。如孩子的要求是 1, 3, 5, 4, 2,饼干是1, 1,

  6. 最多能让1个孩子满足。如孩子的要求是 10, 9, 8, 7, 6,饼干是7, 6, 5,最多能

  7. 让2个孩子满足。

  8. 算法题:给定一个正整数数列a, 对于其每个区间, 我们都可以计算一个X值;

  9. X值的定义如下: 对于任意区间, 其X值等于区间内最小的那个数乘上区间内所有数和;

  10. 现在需要你找出数列a的所有区间中, X值最大的那个区间;

  11. 如数列a为: 3 1 6 4 5 2; 则X值最大的区间为6, 4, 5, X = 4 * (6+4+5) = 60;

三面大概是1小时,面试官比较冷漠,就问你知道不知道,算法思路,然后实现这个算法, 面试完感觉凉凉,但是第二天就收到hr到来的电话,约下一轮的面试时间。

四面

  1. 算法题:两个有序链表和并成一个有序链表

  2. https与http有什么区别(一面刚好也被问到)

  3. cookie有哪些属性

  4. cookie,session,localstorage,sessionstorage有什么区别

JavaScript

  • js的基本类型有哪些?引用类型有哪些?null和undefined的区别。

  • 如何判断一个变量是Array类型?如何判断一个变量是Number类型?(都不止一种)

  • Object是引用类型嘛?引用类型和基本类型有什么区别?哪个是存在堆哪一个是存在栈上面的?

  • JS常见的dom操作api

  • 解释一下事件冒泡和事件捕获

  • 事件委托(手写例子),事件冒泡和捕获,如何阻止冒泡?如何组织默认事件?

  • 对闭包的理解?什么时候构成闭包?闭包的实现方法?闭包的优缺点?

  • this有哪些使用场景?跟C,Java中的this有什么区别?如何改变this的值?

  • call,apply,bind

  • 显示原型和隐式原型,手绘原型链,原型链是什么?为什么要有原型链

  • 创建对象的多种方式

  • 实现继承的多种方式和优缺点

  • new 一个对象具体做了什么

  • 手写Ajax,XMLHttpRequest

  • 变量提升

  • 举例说明一个匿名函数的典型用例

  • 指出JS的宿主对象和原生对象的区别,为什么扩展JS内置对象不是好的做法?有哪些内置对象和内置函数?

  • attribute和property的区别

  • document load和document DOMContentLoaded两个事件的区别

  • JS代码调试

  • 开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

  • 22
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值