前言

前端面试题解析次要内容包含HTML、CSS、JS、ES6、Vue、生命周期相干、Vue-router、Vuex、React、React Native、微信小程序、IOS/Andriod浏览器适配问题整顿、Pc端兼容性问题、webpack的原理、我的项目类问题等等。(本文材料适宜 0-2年)

解析百度、阿里、腾讯大厂面试被问到的题目,也涵盖了初中级前端技术点。文章所列出来的是次要纲要局部,具体内容能够自行获取!

HTML

  • Doctype的作用?
  • 规范模式和怪异模式的区别:
  • 行内元素/块级元素/空元素有哪些?
  • 介绍一下你对浏览器内核的了解?
  • 罕用浏览器的内核有哪些?
  • 浏览器是怎么对HTML5的离线贮存资源进行治理和加载的?
  • .形容一下cookies/sessionStorage和localStorage的区别?
  • HTML5新个性有哪些?如何解决HTML5新标签的兼容性问题?如何辨别HTML和HTML5?
  • 简述一下你对HTML语义化的了解?
  • HTML5离线缓存怎么应用,工作原理能不能解释一下?
  • 页面导入款式时,应用link和@import有什么区别?
  • Iframe有哪些毛病?
  • Label的作用是什么?怎么用?
  • HTML5的form如何敞开主动实现性能?
  • 如何实现浏览器内多个标签之间的通信?
  • 页面可见性有哪些用处?(visibility API)

CSS

  • 浏览器盒模型?
  • 革除浮动的形式
  • CSS选择器有哪些?哪些属性能够继承?
  • ::after/:after与::before/:before的区别?
  • CSS款式优先级计算法:
  • CSS3新个性和伪类有哪些?
  • less的一些劣势。
  • 如何居中div?
  • Display有哪些哪些值?阐明他们的作用
  • Position的值?
  • flex布局以及罕用属性
  • 请解释一下CSS3的flexbox(弹性盒布局模型),以及实用场景?
  • CSS打造三角形?
  • 满屏品字布局?
  • li与li之间有看不见的空白间隙是什么起因引起来的?
  • 为什么要初始化css款式?
  • CSS中的visibility属性的collapse[k'læps]属性是干嘛的?
  • 外边距合并是指的什么意思?
  • 挪动端的布局用过媒体查问吗?
  • 响应式页面?

JS

  • JS是一种什么样的语言?
  • JS数据类型有哪些?
  • 介绍JS有哪些内置对象?
  • 栈与堆的区别?
  • js中的作用域与变量申明晋升
  • 如何转化类型?
  • 什么是面向对象编程及面向过程编程,他们的异同和优缺点
  • 面向对象编程思维
  • 如何解释this在js中起的作用?
  • js中this的用法(经典):
  • ☆说说JS原型和原型链
  • 如何精确判断一个变量是数组类型?
  • call和apply的区别和作用?
  • 继承的办法有哪些?
  • 什么是闭包?闭包有什么作用?
  • 事件代理(事件委托):
  • 事件的各个阶段
  • new操作符在创立实例的时候经验了哪几个阶段
  • 异步编程的实现形式
  • 对原生JS理解水平
  • js提早加载的办法有哪些?

ES6

  • 列举罕用的ES6个性:
  • 箭头函数须要留神哪些地方?
  • let、const、var
  • 拓展:var形式定义的变量有什么样的bug?
  • Set数据结构
  • 拓展:数组去重的办法
  • 箭头函数this的指向。
  • 手写ES6 class继承。
  • generator生成器函数:
  • 什么是async/await及其如何工作?
  • async函数的根本用法:
  • async与generator的区别?
  • 简略实现async/await中的async函数
  • 有用过promise吗?请写出下列代码的执行后果,并写出你的了解思路:
  • Object.is()与原来的比拟操作符===,==的区别?
  • 介绍一下Set、Map、WeakSet和WeakMap的区别?

Vue

  • 什么是MVVM?
  • mvvm和mvc的区别?它和其余框架(JQuery)的区别是什么?哪些场景适宜?
  • Vue的长处是什么?
  • Vue.js的两个外围是什么?
  • Vue组件之间的传值
  • Vue-cli中怎么应用自定义组件,又遇到过哪些问题吗?
  • Vue如何实现按需加载配合webpack设置
  • v-show和v-if指令的共同点和不同点
  • 如何让CSS只在以后组件中起作用
  • <keep-alive></keep-alive>的作用是什么?
  • 聊聊Keep-alive的实现原理和缓存策略
  • Vue中引入组件的步骤
  • Vue罕用的修饰符?
    14.什么是Vue的计算属性?
  • Vue等单页面利用及其优缺点?
  • 指令v-el的作用是什么?
  • 在Vue中应用插件的步骤
  • active-class是哪个组件的属性?
  • 说出至多4中vue当中的指令和它的用法?

生命周期

  • 什么是vue生命周期?
  • vue生命周期的作用是什么?
  • vue生命周期总共有几个阶段?
  • 请列举出3个Vue罕用的申明周期钩子函数
  • DOM渲染在那个周期中已实现?

React

  • react的劣势以及特点
  • React中的props和state的用法
  • react组件之间如何通信?
  • 为什么虚构DOM会进步性能?
  • react生命周期函数:
  • react性能优化是哪个周期函数?
  • 在生命周期中的哪一步你应该发动AJAX申请?
  • 概述一下REact中的事件处理逻辑
  • 如何通知React它应该编译生产环境版本?
  • 调用setState之后产生了什么?
  • react的setState的原理及用法
  • setState为什么是异步的?
  • 传入setState函数的第二个参数的作用是什么?
  • shouldComponentUpdate的作用是啥以及为何它这么重要?
  • createElement与cloneElement的区别是什么?

微信小程序

  • 简略形容一下微信小程序的相干文件类型?
  • 你是怎么封装微信小程序的数据申请?
  • 有哪些参数传值的办法?
  • 你应用过哪些办法,来进步微信小程序的利用速度?
  • 小程序和原生App哪个好?
  • 简述微信小程序原理?
  • 剖析微信小程序的优劣势
  • 微信小程序与H5的区别?
  • 怎么解决小程序的异步申请问题?
  • 小程序的双向绑定和vue哪里不一样
  • 小程序的wxss和css有哪些不一样的中央?
  • 小程序关联微信公众号如何确定用户的唯一性?

IOS/Andriod浏览器适配问题整顿

  • 渐进加强和优雅降级:
  • IOS挪动端click事件300ms的提早响应
  • 一些状况下,对非可点击元素(如label,span)监听click事件,IOS不会触发
  • 三星手机遮罩层下的input、select、a等元素能够被点击和focus(点击穿透)
  • 安卓浏览器看背景图时,有些设施会含糊
  • 当输入框在最底部,点击软键盘后输入框内被遮挡
  • 打消reansition闪屏
  • CSS3动画页面闪白,动画卡顿
  • 阻止旋转屏幕时主动调整字体大小
  • Input的placeholder会呈现文本地位偏上的状况
  • 往返缓存问题:
  • calc的兼容性解决
  • 加上一个CSS3的属性后,让所关联的元素事件监听生效
  • 避免手机中网页放大和放大
  • 高低拉动滚动条时卡顿,慢
  • 对于图片加载
  • 对于Zepto点透
  • html5调用安卓或者IOS的拨号性能

口试编程题:

  • JS数组的程序排序,随机排序篇
  • 编写一个九九乘法表
  • 实现一个函数,判断输出是不是回文字符串。
  • 你对重绘、重排的了解?
  • 实现成果,点击容器内的图标,图标边框变成border 1px solid red,点击空白处重置
  • 简略实现双向数据绑定mvvm
  • 为string扩大一个trim办法,取掉字符串中的所有空格
  • JS中如何检测一个变量是string类型?请写出函数实现
  • 解释一下上面代码的输入
  • 说说以下代码运行会输入什么?
  • 14.{}=={}、[]==[]的执行后果
  • [‘1’, ‘2’, ‘3’]. map( parseInt )的答案以及为什么?


因为篇幅限度,展现了局部内容截图,须要残缺文档资料的小伙伴请点击这里间接支付哦

倡议

  • 面试的时候不要体现出本人想守业。敲黑板。
  • 素来没有看过源码的话,倡议从jQuery,zepto这之类的源码动手,前期能够理解Vue,React常见的性能的源码思路和实现。
  • 我的项目教训形容的时候不必太太太具体,拣重点的讲。