1. HTML & CSS
- 对
H5
有了解吗? 语义化标签
的理解?- 了解哪些
css3 的特性
?transition
和animation
的区别?前端页面中动画都有哪些实现方式(别忘了还有js动画
)? - 谈一下对
websocket
的理解?webworks
的作用? - 用 css 实现 table 表格
隔行变色
,隔三行变色
。 - css 怎么实现元素
居中
?盒子居中?如何水平居中,垂直居中? flex
布局 ?calc 函数
用过吗?什么时候用的?- css
选择器
和优先级? Position
有哪些定位方式?(relative,absolute,fixed
)各自都是什么效果?BFC
?生成,特性,主要用途清除浮动
?不添加新元素清除浮动?伪类
和伪元素
?::after和:after
的区别?- 让元素
消失
? - css 技巧,浏览器
右侧白条
?兼容
问题?图片间隙
?行内块间距
? - 等高布局(圣杯,双飞翼,三种等高布局)
单/行
多行文末省略号
?- Img 标签
title
和alt
属性的作用? - 涉及
margin-top
的问题(穿透,重叠,带着下移),解决方法? - 盒模型(标准盒模型
box-sizing: content-box
和 IE 怪异盒模型box-sizing: border-box
) 其他浏览器和 ie 浏览器的盒模型有哪些区别? - 浏览器的
同源策略
(端口,域名,协议) cookie
,sessionstorage
,localStorage
区别?用过哪些,cookie 不设置过期时间什么时候失效?cookie 和session
的区别?离线存储
有什么优势?- 用过 css 的
预编译器
没有,less,stylus 是什么样的,你平时都怎么用的? Canvas
和svg
的区别?gif
,jpg
,png
...?
2. js
- 什么是 JS
严格模式
?怎么进入严格模式?严格模式下有哪些限制? - js 的
模块化技术
都有哪些?(CommonJS
,AMD
...) - js 有哪些
数据类型
,哪些是存在堆
内存,哪些是存在栈
内存中? null
和undefined
区别?隐式转换
。。。- 怎么
反转字符串
?(split,reverse,join) 数组
有哪些方法,你都用过哪些,分别返回什么值?哪些情况下使用(join,splice,push,slice,indexof,sort,concat,reverse,map,reduce,some,every,filter,foreach,find,findindex)- 涉及
字符串
(split,indexof,substr,substring,replace,trim,toUppercase,startsWith) 数字
:tofixed。Math
(floor,ceil,round,random,abs,sqrt,pow,max,sin)引用类型
和值类型
的区别?- 如何
验证变量的数据类型
?( typeof,instance of,constructor
) - DOM
节点操作
方法?创建,增加,插入,删除,克隆,替换 - 对
事件流传播机制
的理解?事件委托
的原理及优点? - 如何
阻止
form 表单提交?浏览器中事件传播的流程是什么?怎样阻止事件的传播?怎样阻止事件的默认行为
?(e.stopPropergation, e.preventDefault) 深拷贝
,和浅拷贝
你了解过吗,解释一下,怎么实现深拷贝,有哪些方法?JS 如何实现对数组(对象)的深拷贝?- 你了解
闭包
吗,讲讲,工作中有用过闭包吗? - 你怎么理解
原型
,原型链
,原型分别是什么,原型的顶端是什么? Var
,let
,const
区别,const 定义一个数组,然后我往数组里面 push 一项,可不可以?用 const 定义常量的时候能不能只定义不赋值如 const a;?数组去重
的方法?用尽可能多的方法?- 定义函数的方法?(
函数声明
,函数表达式
,构造函数
。。。箭头函数) === 和 ==
?0.1+0.2!=0.3
怎么处理?- Js 函数中的 this 究竟指向谁?怎样
改变函数中this的指向
?什么情况下会导致其方法中的 this 指向错误? Es6
有了解过吗,你了解的有哪些?箭头函数
有哪些特点?他和普通函数有什么区别?Call、apply、bind
方法的区别?Promiss
你怎么理解的,有哪些状态?怎样解决 js 中回调函数多层嵌套
问题 和多异步任务并发执行
问题?- 数据请求时,如果我要进行多次请求,下一次的请求的参数是上一次请求的结果,你怎么做的?我进行多次数据请求,第三次数据请求需要用到前两次数据请求的结果作为参数,你怎么做的?(
async...await
等) ES6
的async
函数怎么使用?BOM
对象模型,操作的主要对象还是啥 是什么你知道吗?(windows),DOM
对象模型是啥(document)Ajax
实现流程?Ajax 中get
和post
两种请求方式的区别?如何解决get 请求缓存
问题?跨域
的解决方式,为什么会形成跨域?Jsonp
实现流程?- Json 对象与 json 字符串
互转
的方法? - 如何
获取非行内 css 样式
? - 简述
图片懒加载
实现原理 Jquery对象和DOM对象互转
- 谈一下对
函数节流
和防抖
的理解 - 正则表达式中
贪婪模式
和懒惰模式
的区别? - js 实现继承(
原型链继承,组合继承,构造继承
)
3. 框架
- Vue
渐进式
?他的生命周期
函数?每一步都干了啥?vue 的源码
看过吗?他的底层原理
是什么?(react 底层原理) 定义 Vue 组件需要注意哪些地方?
(data 必须是一个函数 ,return 一个对象,template 必须有唯一顶层元素)- Vue 的
组件传值
,父子怎么传?子父,兄弟,有没有用过 provide,inject?有没有自己封装过组件? - 在父组件中怎么使用子组件的方法?
$router
是什么,都有哪些东西(router-link
,router-view
)$router 和$route
的区别?- 你在 vue 中还用了哪些
插件
? - Vue 中你用了哪些里面什么?在项目的哪些模块用的?有什么注意事项(类似
methods
,watch
,computed
他们的不同之处?) - vue 的
组件配置对象
中都有哪些常用字段?分别是什么作用?(Data,props,computed,components,methods,watch,filters,mounted 等生命周期函数) - Vue 的数据
双向绑定
怎么实现的,v-model
的本质是什么?(v-bind:value
加v-on:input
) - 什么是
MVC
和MVVM
?vue
,react
和angular
对应是? vue
和react
,angular
有什么不同?给你一个用 ××× 做的项目要转另一个,都哪些地方需要变动,说说你的思路?- 用过 vue 的哪些
指令
,说出 10 个,v-if
,v-show
区别,你在开发中怎么用的?react 中指令有哪些?
- Vue 中遍历加
key
的作用?react 中 keys 的作用?小程序中有什么不一样? - Vue 怎么
快速操作 dom 结构
(ref)?react 呢?他们有什么不同? 编程式导航
有哪些方式?区别?具体什么时候用?- 在 a 页面存了一个 sessionStorage,然后我又打开了一次 a 页面,然后我把原来的 a 页面关闭,新的 a 页面有没有你存的值?(
有
) - Vue 中
$nextTick
的作用 - Vue 中如何
防止组件重复渲染
?react 呢? Vuex
? 在什么情况下使用 Vuex?如何更改 Vuex 中的状态?react 呢,他的状态管理是什么?- vue-router 有哪几种
导航钩子
- 为什么
虚拟 dom
会提高性能? - React 框架中
高阶
的作用是什么?哪些情况下使用? - 你都用过哪些
vue(react)的组件库
?(Vant,elementUI,ivew,antd)怎么修改 elementUI 样式
?有没有之间进行过二次封装
? - 怎么解决页面加载时的
闪烁
问题? scoped
属性作用,scoped样式穿透
- vue 路由有几种模式?(
hash模式,history模式
)
4.综合
- 前端页面中的
图形绘制
使怎么做?(canvas,svg
) - 做过支付宝/微信支付吗?
支付是怎么实现的
? - 你这个页面中的
上拉加载更多
/全页滚动
/懒加载
/联动滚动
是怎么实现的? - 你是否会使用混合
(hybrid)APP
开发技术进行手机 APP 开发? babel
的作用是什么?- 常用的浏览器有哪些?他们分别是什么
内核
? - 简述
前端性能优化
方式?如何优化网页打开的速度? - 谈一下对
token 验证机制
的理解 - 如何优化单页面应用
首屏加载速度
? - 如何解决 ajax
跨域
问题?localstorage 能否实现跨域访问
? 移动端1px
?移动端1rem
?Nodejs
中有哪些内置模块?分别是什么作用?Express
中常用的中间件
都有哪些?(static,bodyparser,session,multer)- Css 文件中
@import
,@font-face
,@keyframes
,@media
这 4 个关键字的作用是什么? - HTTP 协议的
状态码
都有哪些?分别是什么意思? - 什么叫
优雅降级
和渐进增强
? - 什么是
XSS 攻击
?怎么防范?什么是CSRF 攻击
?怎么防范? 78.HTTP
和HTTPS
的区别是什么?关于Http 2.0
你知道多少? 栈和队列的区别
是什么?js 中怎样实现栈结构?webpack工具的功能是什么?
- Webpack 怎么打包图片到 js 中,原理是什么?
- 打包到 js 中的
图片
怎么显示到页面上? - Vue 项目中放在哪些位置的图片会被打包?如何避免大图被打包?
- Webpack 怎么打包 css?原理是什么?
- 打包到 js 中的 css 怎么加载到页面上?
- Webpack 能否打包字体文件?能否打包字体图标?
- Webpack 如何生成多个 HTML 页面?
- Webpack 怎么实现将某个模块(在项目的 node_modules 中)中的文件复制到编译输出文件夹中?
- Webpack 的核心概念有哪些,你能画一副图表示编译过程码?
axios 拦截器
怎么配git
的分支?指令?遇到的问题,解决?重绘和重排
的区别?
5. 小程序
- 简述微信小程序
原理
?分析下微信小程序的优劣势
? 微信小程序与 H5 的区别
?如何提高微信小程序的应用速度
?- 微信小程序组件的
生命周期
? - 简单描述下微信小程序的
相关文件类型
?初始化小程序目录的文件作用是什么 - 小程序的 wxss 和 css,wxml 和 html 等有哪些不一样的地方?
- 小程序获取
场景值
的方法? - 小程序
onPageScroll
方法的使用注意什么? - 小程序视图渲染结束
回调
? - 小程序
同步 API
和异步 API
使用时注意事项? app.json
是对当前小程序的全局配置,讲述三个配置各个项的含义?- 小程序简单介绍下三种事件对象的属性列表?(
基础事件 BaseEvent
,自定义事件 CustomEvent
,触摸事件 TouchEvent
) - 列举
10 个常用组件
并说明含义( button +switch +slider+icon +audio +map +video +swiper 轮播图+input(bindblur)+progress 进度条) - 小程序对
wx:if
和hidden
使用的理解?通过wx:for
如何实现九九乘法口诀表 bindtap/catchtap/capture-bind:tap/capture-catch:tap
区别和联系- 小程序的
双向绑定
和 vue 的异同? - 小程序有哪些
参数传值
的方法?小程序页面间有哪些传递数据的方法? - 如何实现
下拉刷新
- app.json 中如何设置 4 个 tabBar
- app.json 中
window 有什么作用
- 微信小程序中如何
获取 data 内的数据,并且从新赋值
,用代码说明 - 列举常用的路由 API 并说明含义
- 如何
定义模板和使用模板
- 阐述一下 app.json 文件中 pages 属性和注意事项
- 微信开发过程中,涉及到的
版本类型
有哪些? - 阐述微信公众平台中各公众账号的特点
- 小程序中如何实现
列表渲染
,需要注意哪些事项 - 如何
绑定 mustache 数据
,请至少说出五种。 - 怎么
封装
微信小程序的数据请求的?怎么解决小程序的异步请求
问题?