Skip to content

一面

一个声音软软的小姐姐,面试体验很棒

  1. 自我介绍

  2. ==和===的区别

  3. JS实现继承的几种方式和好处

面试官逐渐引导,原型链继承与类继承的区别,为什么js要采用原型链继承

  1. settimeout和setinteval的区别以及轮询时怎么优化

逐渐引导到了event loop,然后逐步聊到宏任务与微任务

  1. 聊一下箭头函数

说完以后又逐渐聊到其他的es6的api

  1. 聊一下this

聊到了执行上下文,以及AO与GO的建立过程,变量提升等,后面也简单说到了bind与call,apply等

  1. 给一个无序数组分成两个数组,让两个数组的和最接近

先提了个暴力的思路,后面采用贪心的思路改良成了O(nlogn), 也不是很好的一个思路,估计有些特殊的用例也过不了, 但是小姐姐声音太软了脑子转不过来了

  1. 说一下满二叉树,以及使用数组实现满二叉树

简单聊了二叉树的结构,以及搜索二叉树,平衡二叉树等特殊的结构

  1. 求两个字符串的最长公共前缀

直接暴力怼了

  1. 求字符串的最长回文子串

就把马拉车算法的思路简单说了下

  1. 聊聊z~index与opcity

就逐渐聊到盒模型以及主流的布局方式

  1. v-if和v-show的使用场景

延申到vue的一些常见的性能优化,以及父子组件之间的生命周期的问题, 通过montend钩子又聊到了vue的SSR

  1. 聊聊为什么v-for时需要加key

在vue对虚拟dom进行比较的层次简单回答了下

  1. 聊聊vue的单向数据流与v-model

从vue的响应式以及发布者订阅者模式角度简单说了下

15.谈谈常见的网络请求状态码

延申至常见的网络问题处理以及优化

二面

  1. 自我介绍

  2. 说说bfc以及bfc的实现方式

然后就详细的说了说css布局里常见的坑,比如margin塌陷,清除浮动等, 在面试官的引导下说了说对盒模型的理解,inline-block与block真正的区别在那里

  1. 说说垂直居中的方式

  2. 公司会前端概率a,会后端概率b,既会前端也会后端概率c,求啥都不会的概率

说了下思路然后又问了问在校时高数以及概率论的一些情况

  1. 给你一个只有a b两个字符的数组,求最长连续a的长度

常见的算法题,在面试官的提示下对一些边界条件进行了一些优化

  1. 说说你影响最深的项目或者文章

就详细聊了聊最近仿ele组件库里form组件的经历,
说了下自己开发的细节以及设计思路,
在面试官的追问下, 又说了对组件设计时的健壮性以及代码的低侵入性的考虑,
说了下这个组件的优化空间,以及现在让我去重新设计这个组件会怎么做

  1. 平时有写博客嘛?什么内容?怎么写的

hr面

  1. 自我介绍
  2. 实习经历
  3. 实习收获
  4. 校内活动
  5. 自我评价
  6. 别人对你的评价

总之就是围绕着能加班,稳定性好,喜欢专研技术谈就行了