JS

  • 说一下toPrimitive和类型转换
  • 说一下变量提升和函数提升的优先级
  • 为什么0.1+0.2不等于0.3,如何解决?
  • 什么是闭包,闭包有哪些应用场景
  • 什么是柯里化,手写一下func(1)(2)(33)…的累加实现
  • 对象深拷贝有哪些方法?手写一下对象深拷贝
  • 说一下new和.的优先级
  • 手写new的执行过程
  • 什么是js函数式编程、纯函数、高阶函数
  • 防抖和节流函数的区别,手写一个防抖
  • bind、call、apply的区别,手写一个bind
  • 什么是面向切面编程
  • instanceof和typeof能准确判断引用类型么,如何准确判断引用类型?
  • 什么是类数组,如何转换成数组
  • 讲一下原型链,为什么Function.prototype === Function.__proto__
  • 讲一下js继承的几种方式的优缺点,手写一个寄生组合继承
  • 讲一下promise原理,实现一个简单的promise
  • 讲一下js事件循环,宏任务、微任务的区别
  • 手写发布订阅模式
  • 箭头函数需要注意哪些问题

CSS

  • 行内和块级元素的区别
  • css盒模型有哪些和区别
  • css选择器优先级
  • CSS中哪些属性不可以从父元素继承
  • 垂直居中有哪些方法
  • 什么是BFC
  • CSS 动画实现一个菊花图
  • 如何设置小于12px的字体,画一条0.5px的线
  • 移动端1px解决方案
  • rem和em和vh的区别
  • CSS 实现一个三角形、正方体
  • 响应式和自适应的区别
  • 如何适配多种设备的屏幕

HTML5

  • 什么是HTML语义化、SEO
  • 手写一个左边固定右边自适应的布局
  • 手写一个圣杯布局、双飞翼布局
  • script标签、style标签、link标签哪些会阻塞渲染
  • 有做过canvas吗

浏览器

  • GET和POST的区别,什么是restfulAPI
  • 什么是事件代理、事件冒泡、事件捕获
  • cookie和localstorage、seeionStorage的区别
  • 讲一下从浏览器输入url到最终页面呈现的过程
  • 如何解决列表渲染过多DOM元素的卡顿问题
  • 如何解决浏览器缓存问题,强缓存、协商缓存的区别
  • 有遇到哪些IE浏览器兼容性问题,如何解决的?

框架(vue)

  • Vue的生命周期都干了些什么
  • Vue组件通信的方式有哪些
  • watch、methods 和 computed 的区别
  • 什么是MVVM
  • 说一下双向绑定原理,手写个简单的双向绑定
  • 你觉得Vue源码中有哪些亮点
  • v-for中为什么要使用key
  • vue的高级用法有哪些及作用
  • vue-Router原理是什么
  • vue-Router钩子函数的作用
  • Vue的nextTick原理是什么
  • 什么是虚拟DOM
  • 简单说一下Vue和React的认识,之间的区别
  • Vue3更新了哪些东西
  • 有了解Vite吗

前端工程化

  • 单页和多页应用的区别
  • 什么是工程化、模块化、组件化
  • 写过通用性组件吗
  • 你知道哪些前端性能优化方法
  • 简单说一下webpack原理
  • 什么是webpack树抖动、scope hoisting
  • 什么是sourcemap
  • 如何实现多页面打包,移动端适配打包
  • 有写过loader或plugin吗
  • 什么是SSR、如何实现SSR
  • 有做过跨端开发吗

网络

  • 什么是TCP/IP
  • 什么是跨域,如何解决
  • 为什么要三次握手四次挥手
  • 你知道哪些http响应状态码,分别表示什么
  • https为什么安全
  • 什么是xss,csrf

其他

  • 平时是怎么学习前端的
  • 最近在关注哪些新技术
  • 有造过哪些轮子
  • 为什么选择前端
  • 有做过后端开发吗

作者 meiyoufan

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注