Quiet
  • 主页
  • 归档
  • 分类
  • 标签
  • 链接
  • 关于我

bajiu

  • 主页
  • 归档
  • 分类
  • 标签
  • 链接
  • 关于我
Quiet主题
  • 软技能

面试题收集01

bajiu
前端

2021-04-26 18:09:27

望山望水望清晨

HTML相关

  • DTD的作用是什么?什么是怪异模式?什么是标准模式?二者有什么差别(举例)?产生的历史原因是什么?使用时需要注意什么?
  • HTML5是什么?有哪些新特性?新增了哪些语义化标签?新增了哪些表单元素?和h5有啥关系?
  • 你是如何理解 HTML 语义化的?
  • meta viewport 是做什么用的,怎么写?HTML 和 XHTML 有什么区别?
    使用 data-* 属性有什么用?<script>、<script async> 和 <script defer> 的区别。
  • 白屏和FOUC是什么?
  • 为什么通常推荐将 CSS <link> 放置在 <head></head> 之间,而将 JS <script> 放置在 </body> 之前?有没有例外的情况?
  • 浏览器渲染机制?什么是回流(reflow)、重绘(repaint)?
  • 什么属性能让浏览器直接使用ES6 Module

CSS

  • 两种盒模型分别说一下。
  • 如何垂直居中?
  • Flex 怎么用,常用属性有哪些?
  • Grid布局用过吗?
  • 必考:BFC 是什么?
  • CSS 选择器优先级
  • CSS 中 class 和 ID 的区别
  • CSS reset 和 CSS normalize是什么?
  • 浮动 (Floats)元素有哪些特性?
  • 清除浮动说一下
  • z-index和叠加上下文是如何形成的?在同一个层叠上下文中才能比较z-index的大小。
  • CSS sprites是什么
  • 字体图标和svg图标用过吗
  • 你日常工作是如何处理浏览器兼容的?
  • 如何为有功能限制的浏览器提供网页?
  • 渐进增强,优雅降级是什么?
  • 有哪些的隐藏内容的方法?
  • 栅格系统是什么你用过媒体查询吗?
  • 如何优化网页的打印样式?如果设计中使用了非标准的字体,你该如何去实现?
  • 浏览器是如何判断元素是否匹配某个 CSS 选择器?
  • 伪元素 (pseudo-elements) 有什么用?
  • 列出你所知道的 display 属性的全部值inline 和 inline-block 的区别
  • relative、fixed、absolute 和 static 元素的区别?
  • 响应式设计 (responsive design) 和自适应设计 (adaptive design) 不同?
  • 为什么提倡使用 translate() 而非 不是 absolute?
  • 如果实现一个高性能的CSS动画效果?
  • 圣杯布局,双飞翼布局了解吗

JavaScript

  • JS有哪几种数据类型
  • 变量声明提升?let、var、const的区别?
  • ES 6 语法你平常能用到哪些?
  • undefined和null有什么区别?
  • Promise、Promise.all、Promise.race 分别怎么用
  • 这段代码里的 this 是什么?
  • 箭头函数和普通函数有什么区别?如果把箭头函数转换为不用箭头函数的形式,如何转换
  • 闭包是什么?
  • 什么是跨域?有哪些方法?
  • 图片懒加载的原理
  • 动画有几种实现方式,性能对比
  • 聊一聊DOM事件流、冒泡、捕获
  • 事件委托是什么
  • EventLoop是什么
  • 宏任务微任务是什么

手写代码

  • 手写一个Promise
  • 手写函数防抖和函数节流
  • 手写AJAX
  • 如何实现深拷贝?
  • 封装一个jsonp?
  • 如何用正则实现 trim()?
  • 不用 class 如何实现继承?用 class 又如何实现?
  • 如何实现数组去重?
  • 手写函数柯里化
  • 实现一个new
  • 实现bind、call、apply
  • 数组拍平
  • 手写发布订阅
  • 手写Promise
  • 斐波那契实现与优化

HTTP

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

打包工具

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

Vue

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

React

  • 什么是虚拟DOM
  • setState 更新的原理
  • 什么是 React Context
  • React Class 组件的生命周期
  • 函数组件如何体现生命周期
  • React Diff 原理
  • React 项目引入CSS有什么方法
  • Diff算法时间复杂度
  • React Fiber是什么
  • React Hooks 原理与使用
  • Mobx/Redux/RxJS 里涉及的概念
  • React 和 Vue 比较
  • 有没有自己实现过 React
  • 有没有自己实现过 Hooks
  • 项目中有没有使用过 TypeScript

移动端

  • px、em、rem、vw、百分比的区别
  • 物理像素、逻辑像素、CSS像素、PPI、设备像素比是什么
  • 移动端页面为什么要加<meta name="viewport" content="width=device-width">
  • 图片高清怎么做
  • 如何实现0.5px边框/细边框
  • 移动端如何做适配有哪些方案
  • 聊聊viewport缩放方案
  • 聊聊动态REM方案
  • 聊聊vw适配方案
  • 300ms延时的原因和解决
  • fastclick是什么原理

性能优化

  • 前端性能优化经验
  • 如何做首屏渲染优化
  • 白屏优化
  • 长列表优化方案

非技术问题

  • 做个自我介绍
  • 介绍最难的项目
  • 项目如何做优化
  • 如何做技术选型
  • 读过源码吗
  • 有没有造过轮子
  • 你是怎么学前端的
  • 你的职业规划
  • 你有什么要问的
上一篇

NodeJs 搭建属于自己的命令行界面(cli)工具

下一篇

WeakMap数据类型

©2024 By bajiu.