字节跳动前端面经
- http协议(1.0 1.1 2.0 3.0)与https的区别
- https的常用版本?https是对称还是非对称加密,这两种加密方式的区别?非对称加密加密的是什么(会话秘钥)
- 深拷贝与浅拷贝是什么
- TCP握手的具体过程(每一次握手携带了什么字段也要说清楚)
- JWT介绍 具体构成 加密使用了什么算法,秘钥是怎么传输的
- TCP五层协议模型,每层有哪些协议?TCP协议报文格式
- URL从输入到页面显示的过程
- 排序算法有哪些,时间复杂度都是多少
- symbol和bigint是干啥的
- web安全 xss,csrf,http劫持,dns劫持,ddos
- 跨域的解决方法,父子域名location.domain再设置端口号,代理服务器,websocket,cors,jsonp,cors问了怎么携带cookie
- 手写一个深拷贝
- js的类型检测的方法,typeof instanceof constructor Object.prototype.toString().call()(用Objcet原型上的是因为别的toSrring经常被重写)
- js动态类型优缺点,声明时类型不固定编码灵活但容易出错,js数组的内存分配问题
- 看代码写输出(事件循环、作用域)
- new的原理,过程(手写)
- js代码在V8中怎么执行的
- 事件传播先捕获再冒泡,addEventLisener的第三个参数是干什么的(决定事件在哪个阶段执行,true是捕获,false冒泡),这个属性有没有改变事件传播的顺序(只是决定事件在哪执行,没有改变事件传播的顺序)
- 浏览器存储和调用它们的api,localStorage,SessionStorage,Cookie
- webpack解决了什么问题,less sass转css,babel转es5,热更新,混淆压缩,less-loader,css-loader和style-loader分别的作用?
- js的模块化了解多少,用过commonjs的require和es6的import
- flex:1效果是什么
- 盒模型
- 并发和并行的区别,线程和进程的联系和区别
- 线程间通信的方式(消息队列,共享内存,信号量),一个进程的内存空间里会存些什么(运行时的状态,信号量)
- V8垃圾回收机制,新旧GC的区别,谁执行的更频繁
- 你用到了协程,讲讲你对于协程的认识,协程分为有栈和无栈的区别,Kotlin 的协程是无栈的那这些信息是怎么保存的
- 怎么学习前端的,项目有什么难点
- 前端路由有哪几种原理
- 简单请求和复杂请求
- 浏览器解析HTML的过程
- 原型链代码、js事件循环写输出
- 介绍项目,看项目后端中某个具体功能的具体代码
- 浏览器不同标签页面通信?同源、跨域情况下?
- css实现三角形
- css position属性有哪些?区别是什么?详细说说fixed的定位方式?
- 算法:查找json中的children路径
- 项目整体设计思路与逻辑、架构
- promise原理与实现,事件队列保存在哪?执行栈呢?
- CSS实现中间自适应,两边固定300px
- 如何给图片设置一个兜底图
- utf-8 编码 -> 常见的汉字字符占几个字节
- 有哪些 HTTP 头,谈谈 HTTP缓存
- CDN的作用,和DNS之间的关系 ,CDN为什么快
- 如何判断 ip 地址是哪类
- 0.1 + 0.2 不等于 0.3 的原因,小数如何转二进制
23届前端秋招面经 文章被收录于专栏
经验分享给大家,暖气过渡给每一个人,欢迎大家评论点赞!