前端面试题

  • 页面导入样式时,使用 link 和 @import有什么区别?
  • typeof来判断类型准确么?为什么?
  • 分析比较 opacity: 0、visibility: hidden、 display: none 优劣和适用场景?
  • flex-shink,flex-grow默认值,flex 1代表什么?flex: none代表什么?flex:auto代表什么?
  • 浏览器的渲染原理?
  • 如何实现浏览器内多个标签页之间的通信?
  • 简述前端性能优化常用的几种方式?
  • 什么是 webp? 浏览器如何判断是否支持 webp 格式图片?
  • 介绍下 BFC 及其应用?创建 BFC 的方式?
  • 介绍下重绘和回流(Repaint & Reflow), 以及如何进行优化?
  • 简述 Rem 及其转换原理?
  • 写 React / Vue 项目时为什么要在列表组 件中写 key,其作用是什么?
  • 什么是防抖和节流?有什么区别? 如何实现?
  • JS 异步解决 方案的发展历程以及优缺点?
  • 简述浏览器缓存读取规则?
  • 如何实现一个 sleep 函数?
  • 为什么通常在发送数据埋点请求的时候使 用的是 1x1 像素的透明 gif 图片?
  • ES6 代码转成 ES5 代码的实现思路是什么?
  • 简单说说 js 中有哪几种内存泄露的情况?
  • 讲讲instanceof 的实现原理?
  • 什么是 CSRF 攻击?如何防范 CSRF 攻击?
  • 什么是 XSS 攻击?如何防范 XSS 攻击?
  • 移动端 300 ms 点击(click 事件)延迟原因?如何解决?
  • 移动端1px的产生原因?如何解决?
  • webpack 中 loader 和 plugin 的区别是什么?
  • 简述 HTTP2.0 与 HTTP1.1 相较于之前 版本的改进?
  • 请介绍一下 require 的模块加载机制?
  • 在 Node 中两个模块互相引用会发生什么?原因?
  • 前端如何做权限校验?思路是?
  • 0.1 + 0.2等于多少?原因是?
  • 如何避免回流和重绘?
  • 编译语法树的原理?
  • es6转es5的原理?关键步骤?
  • babel原理?
  • 数组扁平化
  • 数组去重
  • 类数组转化为数组
  • 防抖节流
  • 函数柯里化
  • 模拟new操作
  • 模拟instanceof
  • 模拟继承
  • 实现深拷贝
  • Promise.all实现
  • Promise.race
  • Promise并行限制
  • 手写call,bind,apply
  1. ES6以后, 比较高阶的新特性讲一下?
  2. 箭头函数和普通函数的区别?
  3. this的指向讲一下?
  4. Reflect用过没?
  5. Proxy 与 Object.defineProperty 区别?
  6. 讲一下原型链?
  7. js实现继承的思路讲一下?
  8. 异步的几种形式,分别的优缺点?
  9. 讲一下event loop?
  10. 函数柯里化讲一下?
  11. 前端页面性能优化讲几点?
  12. 图片懒加载的思路?
  13. 为什么script标签要写到body最下方?
  14. 浏览器输入url到显示的过程阐述?
  15. 浏览器为什么是单线程的,如果是多线程有什么问题?
  16. 事件代理是什么?好处是?
  17. 说几个页面水平垂直居中的方法?
  18. 如何用css创建一个三角形?
  19. 使用css3动画代替js的动画有什么好处?
  20. 如何解决在移动端1px的问题?
  21. 如何处理跨域问题?
  22. 使用js如何改变url,并且页面不刷新?
  23. Hybrid如何通信的?
  24. XSS和CSRF都是什么,怎么防御?
  25. loader和plugin的区别?
  26. 业务题:小程序,微信公众号(采用授权登录),app采用账号密码及微信登录,如何实现用户数据打通?
  27. 防抖节流都是什么?说下思路?
  28. 为什么react,vue这些框架的列表都需要一个key?
  29. 你在公司的权限系统如何做的,权限如何细化到按钮身上?
 
 

 

posted @ 2020-12-04 10:23  Esther_Cheung  阅读(92)  评论(0编辑  收藏  举报