红星美凯龙前端面试内容总结

2019.10.22红星美凯龙面试前端

10.16号电话接到面试通知,我给面试排到了10.22号十点钟。而后那边可能时间冲突,次日特意短信通知,给我安排到了10.22的10:30。vue

面试那天十点十分到达。等待期间和另外一位面试产品的小姐姐聊了回天,聊了很开心,她说她填完表格以后,已经等了半小时,她很着急,由于下午她还要回公司处理事情。而后小姐姐被叫走了,个人面试官恰好来,给我几张表和一套面试题,大概到了十一点钟,个人面试官把我叫走,开始了正式的面试。ios

首先就是自我介绍,自我介绍的内容面试以前准备了一下,因此自我介绍的时候很轻松,也没有紧张,很天然的聊天。es6

个人自我介绍内容大体就是基本信息的介绍(姓名,学校,专业,家乡)、前公司的主要负责内容、业余时间的安排、近期职业规划,以及性格爱好,差很少这么多。面试

前面巴拉巴拉不少,只是想让你们熟悉一下流程,下面重点来了,拿好小本本记录下吧。axios

 

1.你来讲下前端路由的原理吧,不使用别人框架提供的路由数组

  我:”两个模式 hash 和 history,hash就是url里面显示的#号promise

    history是用pushState和replaceState来操做。“框架

  面试官:“嗯,还有吗?”dom

  我:“差很少这些吧,具体我忘记了,我回去再了解了解”

  面试官:“嗯,那你用原生实现一下吧,不用框架提供的方法”

  我:(心里:我刚刚不都说了吗,那两个方法,都是具体不知道了,还问啊啊)“嗯,hash的话是当hash改变的话就会触发一个回调吧,来实现跳转,history的话就是刚刚提到的pushState和replaceState”

  面试官:“你能写出来吗”

  我:“我不太会,哈哈哈”

  面试官:“哈哈哈”

  ...

  so 这道题算我没打出来,第一道题就不顺利。

  这篇文章写的不错你们能够看下 https://www.jb51.net/article/143009.htm

2.如何保持浮层水平垂直居中

  这道题我是用flex布局写的

  我:“display:flex;just-content:center;align-items:center;just-content水平对齐方式,aligin-items垂直对齐方式。”

    我想着这道题应该没什么问题了吧,通常我都是用flex布局,我很熟悉的!

    觉得这样就结束了,想得美 emmm 我真的太年轻了

  面试官:“通常均分,三块的话怎么作”

  我:''都给个flex:1;“

  面试官:“我想给个固定的值200px呢”

  我:"??? 那直接width:200px 不就行了吗" 多是咱们get到面试官的问题

  面试官:“flex有几个参数你知道吗”

  我:“我有点记不清了,没这样写过”

  面试官准备过了这一道题,而后我直接反问的说,你帮我解释解释那个呗,

  面试官:”嗯好的,flex的默认值是三个,(他在纸上写了flex:1 1 200px;)"

  其实我仍是没太懂,由于我也没这样用过,描述不清楚也请你们见谅。

  so 这道题我也算凉了!!!

3.请说出函数节流和函数防抖的区别,并写方法实现它

  这道题我以前看过,口述了一下方法,差很少过了,面试官这道题没有深问。

4.box-sizing的做用

  这道题也没什么,很常见 

5.

const OBJ = {"a":1,"b":2};
OBJ.a =3;
consloe.log(obj.a);

  这道题我写的3

  面试官:“你解释一下你的答案”

  我:“这个不是直接给实例属性a直接赋值了吗,直接修改了属性值”

  面试官:“这道题你懵的吧”

  我:“没有啊”

  面试官:”那你解释一下 var let const的区别“

  我:“哦哦 const,哇这个常理不能修改,我居然没有注意到,可是呢对象是引用类型,指针不发生改变就ok了”

  官方一点咱们能够这么讲:由于对象是引用类型的,OBJ 中保存的仅是对象的指针,这就意味着,const仅保证指针不发生改变,修改对象的属性不会改变对象的指针,因此是被容许的。

  因此这道题我也没过,是面试官提醒的

 6.script标签的defer、async的区别

  有 async,加载和渲染后续文档元素的过程将和 script.js 的加载与执行并行进行(异步)。

  有 defer,加载后续文档元素的过程将和 script.js 的加载并行进行(异步),可是 script.js 的执行要在全部元素解析完成以后,DOMContentLoaded 事件触发以前完成。

7.写出两个数组去重的方法

  我用的es6  [...new Set(arr)]  和 直接遍历对比配合splice

8.判断两个对象是否相等

  这道题我直接写了getOwnPropertyNames()方法,面试官没有继续问,后来查下资料涉及深拷贝什么的,小伙伴们本身总结一下。

9.用vue写项目的时候遇到什么问题

  我:“dom不渲染的时候用到next tick解决过”

  面试官:“你说一下next TIck

  我:“在下次dom更新循环结束以后执行延迟回调,在修改数据以后当即调用这个方法,获取更新后的dom“

  面试官:“你说下这个实现原理”

  我:“我没去看,只知道能够这样用”

  面试官:“嗯”

  因此这道题我也没有说好

10.你知道$set吗

  我:”添加的新属性不能触发,能够加上$set就能够了“

  面试官:“实现原理是什么”

  我:“emmm,我如今只知道怎么用”

  因此这道题我仍是没回答出来,我真的没有去看vue源码,本身真的差太远了,什么也不会!!!

11.你用promise封装过axios吗

  我:“封装过”

  面试官:“为何要用promise封装axios”

  我:“处理异步呢”

  面试官:“axios自己就返回一个promise 你为何还要封装呢”

  我:...

12.说一下promise

  说一下promise实现原理

  promise说了一下,让我实现一个promise 我不会。

13.说一下event Loop

  这个以前了解过,算说出来吧

14.说一下你的优势吧

  说到这的时候我已经我感受我凉了,面试官还在旁边笑,以致于我说优势的时候开始笑了,,面试官说你看你说本身都笑了...

 

总结:整个氛围很nice,面试官也很nice,我不会的反问他时,他还会给我讲,一直嘻嘻哈哈的聊完,可是人家终究要找技术人员,并且刚刚我表现并不怎么好,因此接下来也没有收到通知。

虽然每道题大体说出了一二,但实则差很远,大厂不缺干活的人,缺的是有想法有能力又能解决问题的人。若是一个211 和 我一个普通本科都面试不不怎么样,非要在其中选一个的话那确定是2十一、985 。因此咱们只能提到本身的能力,要否则有什么优点来让别人选择咱们呢!!!

ps:必定要理解原生js,多看一下源码,让本身变得有思路,而不是机器。

 

 

相关文章
相关标签/搜索