前言
前端面试题解析次要内容包含 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 常见的性能的源码思路和实现。
- 我的项目教训形容的时候不必太太太具体,拣重点的讲。