刚开始实习面试(已面阿里、蚂蚁金服、腾讯、美团、百度、网易、蘑菇街、微保、滴滴、OPPO、美的、兴业数金),感觉自己菜的不行,先慢慢记录一下面试的问题吧,标题点进去可以查看问题答案详解。
HTML(点击看答案)
- HTML5的新标签有哪些?
- 如何理解标签语义化
- html有哪些块级元素和行内元素
CSS(点击看答案)
- CSS有哪些布局方法
- 如何实现垂直居中?
- 说一说flex布局
- 做过哪些移动端适配?
- IE的盒模型是什么,标准的盒模型是什么,如何转换?
- rem,em,px的区别是什么
- CSS样式的优先级
- 如何实现三列布局
- CSS3有哪些新特性?
- CSS3动画有哪些属性?
- 如何实现一个loading动画?
- display:inline和block的区别?display有哪些值?
- display:none和visibility:hidden的区别
- flexbox中align-self是做什么用的?
JavaScript(点击看答案)
- Promise平常怎么用?
- 如何实现Promise?
- Promise如何实现等待多个请求
- 说一说JS动画吧
- 说一说箭头函数的特点
- 如何原生JS实现节点前插入元素和节点后插入元素?
- 如何原生JS进行HTTP请求?
- JS是如何实现继承的
- JS数据类型有哪些
- 事件捕获与冒泡的过程,默认是事件捕获还是事件冒泡?
- 异步加载有哪些方法
- 类名冲突如何解决
- 说一说ES6的模块化
- 如何实现统计Dom树的每个节点下有多少个节点?
- 静态作用域与动态作用域的区别
- 数组去重方法
- 如何动态设置this
- 如何绑定事件
- Js严格模式是什么
- 实现一个Promise执行队列
- js垃圾回收机制
- 生成器和promise的对比
- async和await的实现机理
- bind,apply,call的区别?
- 如何实现bind,apply,call?
- 为什么会出现箭头函数?解决的问题是什么?
- 实现一个闭包
- 实现节流和防抖
- json对象如何转为字符串?如果里面有方法呢?
- 如何实现深拷贝?
- proimse连续调用两个then()第一个then时间很长,最终的调用顺序是怎么样的?
- 隐式类型转换
Vue.js(点击看答案)
- 虚拟Dom是什么,为什么会有这项技术?
- 说一说Diff算法
- Vuex有哪些重要概念
- Vuex的底层原理
- Vue的双向绑定原理
- 如何实现redo和undo操作
- 父子组件的数据传递
- 如果要你写一个组件,需要注意什么?
- Vue的生命周期
- MVC/MVP/MVVM的区别?
Webpack(点击看答案)
- 描述一下Webpack的过程
- loader和plugin的区别
- Webpack4.0的新特性
- Webpack的优缺点有哪些
- webpack如何实现部分更新
数据可视化(点击看答案)
- 在使用D3时遇到的困难?
- 用Canvas和Svg画个饼图
- D3的Update和enter的关系是什么
- 对比一下canvas和svg的性能
- 可视化设计原则
计算机网络(点击看答案)
- 跨域问题是怎么产生的,如何解决?
- Ajax有哪些传输方法?
- Post和Get方法有哪些区别?
- 如何实现按需加载?
- nigix怎么配置路由?
- 浏览器有哪些缓存方式?CDN是怎么缓存的?
- web攻击有哪些方式?怎么解决?
- 浏览器本地缓存方案
- 输入URL浏览器发生了什么
- 常用的状态码
- 浏览器的渲染机制
- 渲染时有哪些属性不是在文档流中渲染的
- 前端存储方式有哪些?localStorage怎么清理?
算法(点击看答案)
- 全排列
- 大整数(不同进制)加法
- 二分查找
- 各种排序
项目(点击看答案)
- 项目中的优化?
- 团队有没有出现配合困难?怎么解决的
- git的基本操作
- 图片加载有哪些优化方法?
纯前端手写题(点击查看答案)
- 最大并发请求队列
- 实现一个eventBus
- 实现模板编译