2020前端面试总结(中小型企业面试经历)

691 阅读2分钟

和往年的金三银四不同,今年的面试在悄悄然中已经快走完一大半了;笔者能力一般,面试的大都是中小型企业(已收到3份offer),总结了最近参加的面试经历,将其中频率高,问及次数2次以上的问题归纳出来,希望对同行有所帮助。过程中也发现很多规律,大部分企业对面试者基础能力比较看重,框架型的问题占比相对略少,能否在基础问题上答的迅速、漂亮,很关键哦~

一、css相关
  1. 对以下选择优先级进行排序: 内联、important、类、id、伪类、标签

  2. css相对单位有哪些?它们之间有什么区别

  3. 使用css画出一根0.5px高度的线。

  4. 不定宽高div块,水平垂直居中(尽可能多方案)

  5. 简单介绍下css几种布局。

  6. 介绍下css盒子模型。

二、js相关
  1. 介绍下闭包,以及闭包使用场景?如何解决闭包内存泄漏

  2. 写一个方法,实现从1打印到100,每隔1s打印一次。

  3. 说说ES6新特性有哪些?

  4. 箭头表达式(=>)和function的区别?

  5. 事件冒泡和事件捕获的执行顺序?

  6. 聊聊promise,它解决了什么问题,reject和catch有什么区别?

  7. 简单介绍下事件循环(Event Loop)

  8. instanceof的实现原理?

  9. typeof (+'1') 输出?

  10. 写一个寄生组合继承

  11. Object.assign是浅拷贝还是深拷贝?

  12. 写一个方法判断a数组是否是b数组的子集

  13. typeof (+'1') 输出?

三、浏览器相关
  1. 简述在浏览器输入URL回车后发生过程?(三次握手、四次挥手;为什么分别是三次、四次等等)

  2. 简述下强缓存和协商缓存?

  3. 以下状态码分别是什么意思? 500、400、403、301、302、304

四、框架相关
  1. vue响应系统原理?

  2. computed实现原理?

  3. nextTick实现原理?

  4. 简述作用域插槽?

  5. 组件之间的通信方式有哪些?

  6. v-model实现原理?

  7. vue.extend做了些什么操作

五、其他
  1. package.json中^和~分别代表什么意思?

  2. 关于框架选型,怎样去选择一个框架?

  3. 编写组件时,基于哪些方面去考虑?

  4. 说说你近期遇到的一个问题,是如何去解决的?(频率极高,答的好与坏直接影响到是否收到offer)

  5. 谈谈自己的学习规划。