2021 前端面试题

2021 前端面试


H5

  1. DTD的作用是什么?什么是怪异模式?什么是标准模式?二者有什么差别(举例)?产生的历史原因是什么?使用时需要注意什么?

  2. HTML5是什么?有哪些新特性?新增了哪些语义化标签?新增了哪些表单元素?和h5有啥关系?

  3. 你是如何理解 HTML 语义化的?

  4. meta viewport 是做什么用的,怎么写?

  5. HTML 和 XHTML 有什么区别?

  6. 使用 data-* 属性有什么用?

  7. <script>、<script async> 和 <script defer>的区别。

  8. 白屏和FOUC是什么?为什么通常推荐将 CSS <link> 放置在 </head> 之间,而将 JS <script> 放置在 </body> 之前?有没有例外的情况?

  9. 浏览器渲染机制?什么是回流(reflow)、重绘(repaint)?

CSS

  1. 两种盒模型分别说一下。
  2. 如何垂直居中?
  3. Flex 怎么用,常用属性有哪些?
  4. Grid布局用过吗?
  5. 必考:BFC 是什么?背 BFC 触发条件,MDN 写了。但是不用全部背下来,面试官只知道其中几个:
  6. CSS 选择器优先级
  7. CSS 中 class 和 ID 的区别
  8. CSS reset 和 CSS normalize是什么?
  9. 浮动 (Floats)元素有哪些特性?
  10. 清除浮动说一下
  11. z-index和叠加上下文是如何形成的?在同一个层叠上下文中才能比较z-index的大小。
  12. CSS sprites是什么
  13. 字体图标和svg图标用过吗
  14. 你日常工作是如何处理浏览器兼容的?
  15. 如何为有功能限制的浏览器提供网页?
  16. 渐进增强,优雅降级是什么?(提到兼容面试官没问也要把这两个词说出来)。
  17. 有哪些的隐藏内容的方法?
  18. 栅格系统是什么
  19. 你用过媒体查询吗?
  20. 如何优化网页的打印样式?如果设计中使用了非标准的字体,你该如何去实现?
  21. 浏览器是如何判断元素是否匹配某个 CSS 选择器?
  22. 伪元素 (pseudo-elements) 有什么用?
  23. 列出你所知道的 display 属性的全部值
  24. inline 和 inline-block 的区别
  25. relative、fixed、absolute 和 static 元素的区别?
  26. 响应式设计 (responsive design) 和自适应设计 (adaptive design) 不同?
  27. 为什么提倡使用 translate() 而非 不是 absolute?
  28. 如果实现一个高性能的CSS动画效果?
  29. 圣杯布局,双飞翼布局了解吗

HTTP

  1. 讲一讲TCP协议的三次握手和四次挥手流程
  2. 为什么TCP建立连接协议是三次握手,而关闭连接却是四次握手呢?为什么不能用两次握手进行连接?
  3. OSI有哪七层模型?TCP/IP是哪四层模型
  4. 传输层有哪些协议
  5. 应用层有哪些协议,常用端口
  6. 常见Http方法有哪些?使用场景分别是什么?
  7. GET与POST有什么区别?
  8. 在HTML的form 标签里,method支持哪些类型?
  9. 状态码 200、301、302、304、403、404、500、503分别代表什么?
  10. Web安全中有哪些常见的攻击方式?
  11. 一次完整的Http请求所经历哪些步骤?
  12. URI和URL的区别?
  13. HTTP请求报文与响应报文的格式?Http首部包含哪些字段?举例说明
  14. Websockt是什么?和HTTP有什么区别?
  15. 常见的鉴权方式有哪些
  16. 谈谈Session/Cookie机制,如何实现会话跟踪
  17. 谈谈JWT鉴权原理
  18. 谈谈Auth2鉴权原理
  19. 浏览器是如何控制缓存的
  20. 什么是非持久连接,什么是持久连接?
  21. 服务端推送有哪些技术
  22. 谈谈Comet(长轮询)的原理
  23. HTTPS的原理是什么?
  24. Keep-Alive: timeout=5, max=100是什么意思?
  25. HTTP1.0,HTTP1.1,HTTP2.0,HTTP3区别(HTTP1.1版本新特性?HTTP2快在哪里?HTTP3变了什么?)

打包

  1. 除了Webpack外你还用过哪些构建工具?
  2. Webpack与Grunt、Gulp有什么区别?
  3. Webpack的构建流程是什么
  4. 有哪些常见的Loader?他们是解决什么问题的?
  5. 有哪些常见的Plugin?他们是解决什么问题的?
  6. Loader 和 Plugin 有什么差别
  7. 有没有写过Loader
  8. 有没有写过Plugin
  9. compiler与complilation有什么区别?
  10. 有哪些代码分离的方法
  11. 什么是 Tree Shaking
  12. 如何利用Webpack来优化前端性能
  13. 如何提高Webpack的构建速度
  14. 打包文件大怎么解决

Vue

  1. watch、computed、methods区别是什么
  2. v-show与v-if区别是什么
  3. 列表遍历时key作用?
  4. Vue有哪些生命周期钩子函数?有什么用?
  5. Vue父子组件生命周期调用顺序
  6. Vue如何实现组件通信
  7. data为什么是函数
  8. Vue数据响应式原理
  9. nextTick怎么用?原理是什么
  10. 组件data为什么是函数
  11. diff算法和时间复杂度
  12. Vue中的keep-alive有什么用
  13. Vuex怎么用
  14. VueRouter怎么用
  15. VueRouter中hash和history模式的原理
  16. VueRouter如何做登录跳转
  17. Vuex的原理,有哪些概念
  18. Vue3有哪些变化

React

  1. 什么是虚拟DOM
  2. setState更新的原理
  3. 什么是 React Context
  4. React Class 组件的生命周期
  5. 函数组件如何体现生命周期
  6. React Diff 原理
  7. React 项目引入CSS有什么方法
  8. Diff算法时间复杂度
  9. React Fiber是什么
  10. React Hooks 原理与使用
  11. Mobx/Redux/RxJS里涉及的概念
  12. React和Vue比较
  13. 有没有自己实现过React
  14. 有没有自己实现过Hooks
  15. 项目中有没有使用过TypeScript

移动端

  1. px、em、rem、vw、百分比的区别
  2. 物理像素、逻辑像素、CSS像素、PPI、设备像素比是什么
  3. 移动端页面为什么要加
  4. 图片高清怎么做
  5. 如何实现0.5px边框/细边框
  6. 移动端如何做适配有哪些方案
  7. 聊聊viewport缩放方案
  8. 聊聊动态REM方案
  9. 聊聊vw适配方案
  10. 300ms延时的原因和解决
  11. fastclick是什么原理

性能

  1. 前端性能优化经验
  2. 如何做首屏渲染优化
  3. 白屏优化
  4. 长列表优化方案

非技术问题

  1. 做个自我介绍
  2. 介绍最难的项目
  3. 项目如何做优化
  4. 如何做技术选型
  5. 读过源码吗
  6. 有没有造过轮子
  7. 你是怎么学前端的
  8. 你的职业规划
  9. 你有什么要问的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值