粥里有勺糖

vuePress-theme-reco 粥里有勺糖    2018 - 2023
粥里有勺糖 粥里有勺糖

Choose mode

  • dark
  • auto
  • light
关于我
备战春秋
  • 心得总结
  • 校招考点汇总
  • 面经汇总
  • 复习自查
技术笔记
  • 技术教程
  • 模板工程
  • 源码学习
  • 技术概念
  • 个人作品
  • 学习笔记
计算机基础
  • 算法与数据结构
  • 操作系统
  • 计算机网络
  • 设计模式
  • 剑指offer
大前端
  • javascript
  • vue
  • html
  • css
  • 🌏浏览器专题
  • Web性能优化
  • regexp
  • node
面试
  • 问解
  • javascript
  • css
  • 手撕代码
  • 性能优化
  • 综合问题
  • 面经汇总
  • 小程序
手撕代码
  • 数据结构与算法
  • javascript
  • css
个人站点
  • GitHub (opens new window)
  • 博客园 (opens new window)
  • 掘金 (opens new window)
线上作品
  • 轻取(文件收集) (opens new window)
  • 个人图床 (opens new window)
  • 考勤小程序 (opens new window)
  • 时光恋人 (opens new window)
  • 在线简历生成 (opens new window)
留言板
Github (opens new window)
author-avatar

粥里有勺糖

285

文章

40

标签

关于我
备战春秋
  • 心得总结
  • 校招考点汇总
  • 面经汇总
  • 复习自查
技术笔记
  • 技术教程
  • 模板工程
  • 源码学习
  • 技术概念
  • 个人作品
  • 学习笔记
计算机基础
  • 算法与数据结构
  • 操作系统
  • 计算机网络
  • 设计模式
  • 剑指offer
大前端
  • javascript
  • vue
  • html
  • css
  • 🌏浏览器专题
  • Web性能优化
  • regexp
  • node
面试
  • 问解
  • javascript
  • css
  • 手撕代码
  • 性能优化
  • 综合问题
  • 面经汇总
  • 小程序
手撕代码
  • 数据结构与算法
  • javascript
  • css
个人站点
  • GitHub (opens new window)
  • 博客园 (opens new window)
  • 掘金 (opens new window)
线上作品
  • 轻取(文件收集) (opens new window)
  • 个人图床 (opens new window)
  • 考勤小程序 (opens new window)
  • 时光恋人 (opens new window)
  • 在线简历生成 (opens new window)
留言板
Github (opens new window)
  • 校招面经汇总

    • 校招面经汇总
    • 20年秋招
      • B站-主站技术中心
      • 字节跳动-商业变现-广告
      • 网易-云音乐
      • 快手-最大的前端团队
      • 牛客网-大前端团队
      • shopee-供应链
      • 腾讯-腾讯云
      • 作业帮-前端团队
    • 20年春招
      • 百度-百度文库
      • 字节跳动-飞书
      • 快手-Acfun
      • 美团-到店事业群
      • 蘑菇街-小程序BU
      • 腾讯-腾讯看点
      • 腾讯-腾讯视频
      • thoughtWorks-思特沃克
      • 网易互娱
      • 网易-云音乐
    • 21年春招
      • 字节跳动-抖音架构
    • 22年春招
      • 字节
      • 成都某公司
      • 滴滴国际化
      • 滴滴-效能平台
      • 字节飞书
      • 搜狐焦点
      • 微多多
      • 网易传媒

字节跳动-商业变现-广告

vuePress-theme-reco 粥里有勺糖    2018 - 2023

字节跳动-商业变现-广告

粥里有勺糖 2020-10-23 备战春秋2020秋招

# 字节跳动-商业变现-广告

# 一面

# 代码题

  1. 链表的插入,删除,长度计算
  2. 求解最长公共子串
let list = ['acccs', 'acaaa', 'ac']
// ac
1
2
  1. 实现一个promise.All
// 要求:必须等全部都resolved或这reject才返回
// 有一个reject就走catch
// 返回数组:(包括每一个resolved/reject的内容)
function waitAll(promises){

}
1
2
3
4
5
6
  1. 实现bind
  2. 深拷贝的有哪些实现方式,递归实现一个深拷贝
  3. 下面代码哪些if是真
if([])
if({})
if([]==false)
if({}==false)
1
2
3
4
  1. 实现一个单例模式
  2. 使用ES5实现一个继承

# 计网

  1. TCP、UDP的区别
  2. OSI七层模型
  3. 物理层传输的单位是什么
  4. http1与http2的区别
  5. https与http的区别
  6. ajax与http的关系
  7. 在浏览器中输入url发出的请求与ajax的区别
  8. http包是如何到达服务器的
  9. TLS工作原理
  10. 客户端如何知道服务端下发的CA证书是没有被劫持篡改过的
  11. 客户端如何验证CA证书是合法的
  12. 我没有去主动安装这些证书,浏览器是怎么验证的
  13. GET与POST区别
  14. URL长度限制是多长
  15. 常用请求方法
  16. GET是否可以在body中放内容
  17. http请求body是否有大小限制
  18. 什么情况下请求方法是options

# 操作系统

  1. 进程与线程的区别
  2. 进程怎么并行

# 浏览器

  1. 如何设置浏览器缓存
  2. 什么是强缓存/协商缓存
  3. XSS是什么?如何预防?

# js/css

  1. 原始值类型有哪些
  2. 如何判断变量类型
  3. 如何判断数组
  4. null是对象吗,为什么
  5. forof与forin区别
  6. forof 与 forin在遍历顺序上是否有区别
  7. call,bind,apply区别
  8. 伪类与伪元素的区别,举例用过的伪类与伪元素,以及它们的使用场景
  9. css选择器用过哪些,都有什么作用
  10. 如何获取一个dom对象,这几种方式哪个效率最高,为什么
  11. 什么是事件委托?优点是什么?
  12. 如何获取指定dom的指定属性
  13. 如何获取指定dom的指定样式
  14. 如何获取指定dom的生效样式
  15. 简述一下CSS盒模型,可以手动去改变吗

# vue

  1. slot的常见用法有哪些
  2. 什么是slot,他有什么作用
  3. 为什么会有slot这个玩意儿

# 其它

  1. TS将属相分为哪两大类
  2. 你认为TS有什么优点
  3. 如何在项目中引入TS,成本大吗
  4. js项目迁移TS成本大吗

# 二面

# 代码

  1. 实现一个深拷贝考虑对象原有的特性
let a = {age:18}
let old = {p1:a,p2:a,p3:{p:a}}
function deepclone(){}
let b = deepclone(old)
// 这里原有的特性指拷贝出来的b
// 他的p1,p2,p3.p指向的是同一个对象
// 即效果
b.p1.age=10
console.log(b.p2.age) // 10
1
2
3
4
5
6
7
8
9
  1. 代码阅读
function a(){
    this.b = 3
}
var b = 5
var c = new a()
a.prototype.b = 4
console.log(c.b) // ?
1
2
3
4
5
6
7
  1. 代码阅读
for(var i = 0;i<2;i++){
    setTimeout(()=>{
        for(var j = 0;j<3;j++){
            setTimeout(()=>{
                console.log(i*j)
            },0)
        }        
    },0)
}
// 输出结果是多少?为什么
// var 变为 let 结果又是多少?为什么
1
2
3
4
5
6
7
8
9
10
11
  1. 实现一个onclik事件,每点击一次造成一次内存泄露

# js/css

  1. 什么是闭包?它的使用场景有哪些?举个例子(代码)
  2. 内存泄漏指什么?为什么会出现?举个内存泄漏的例子(代码)
  3. js的垃圾回收机制是什么?如何工作的
  4. node中的js与浏览器中的js区别
  5. 用node.js写服务端与用js写web 你觉得有哪些差异
  6. 什么是媒体查询?使用场景
  7. 混合开发APP与H5样式层面遇到过哪些差异之处说说看

# 其它

  1. webpack的loader与plugin的区别是什么?为什么会有plugin,只用loader不行吗
  2. 根据自己的理解,描述一下webpack是什么,(向一个不知道什么是webpack的人陈述)

# 三面

# cookie

背景:页面在a.com/index.html下,加载了一个b.com/js/demo.js脚本

  1. 获取脚本的请求会附带a.com下的cookie吗
  2. 这个脚本如果执行document.cookie获取到的cookie是哪个域名下
  3. 如果在脚本中向b.com发送ajax请求会携带a.com下的cookie吗,为什么
  4. 将a.com下的cookie发送到b.com下有哪些方案
  5. 如何防止外部脚本嵌入
  6. 如果需要在页面中嵌入外部的脚本,如何防止其获取到cookie
  7. 说一下samesite属性的作用,他有哪些值
  8. HttpOnly的作用
  9. 让跨域请求携带当前域下的cookie有哪几种方式
  10. 解决跨域的手段有哪些
  11. 说一下jsonp的原理,如何配置
  12. CROS如何配置,客户端还是服务端做配置

# http

  1. http1与http2的区别
  2. http2有哪些新特性
  3. 多路复用如何工作的
  4. 知道帧id吗?他有什么作用
  5. 如果一个请求服务器要处理很久才能响应,有哪些办法在服务端处理完后,客户端能第一时间接收到
  6. 知道pwa吗
  7. 请求超时时间可以设置为24h吗

# 文件上传

  1. 如何实现分片上传
  2. 如何实现断点续传
  3. 如何计算文件的md5(md5的算法)
  4. 服务端如何处理上传完的分片

# 场景题

实现:一个select下拉框选择不同的选项,在其下方展示不同的内容(单个组件,组件嵌套组件等)

  1. 可能有很多选项,每个选项对应的渲染内容又不一致
  2. 选项与展示内容的关联关系,很可能发生变动,如何避免硬编码
Edit this page (opens new window)
Last Updated: 2022/5/15 12:46:34