前端小白的面试问题集

5,732 阅读3分钟

刚开始实习面试(已面阿里、蚂蚁金服、腾讯、美团、百度、网易、蘑菇街、微保、滴滴、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
  • 实现模板编译