zoukankan      html  css  js  c++  java
  • 红星美凯龙前端面试内容总结

    2019.10.22红星美凯龙面试

    10.16号电话接到面试通知,我给面试排到了10.22号十点钟。然后那边可能时间冲突,第二天特地短信通知,给我安排到了10.22的10:30。

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

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

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

    前面巴拉巴拉很多,只是想让大家熟悉一下流程,下面重点来了,拿好小本本记录下吧。

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

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

        history是用pushState和replaceState来操作。“

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

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

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

      我:(内心:我刚刚不都说了吗,那两个方法,都是具体不知道了,还问啊啊)“嗯,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呢”

      我:"??? 那直接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 和 我一个普通本科都面试不不怎么样,非要在其中选一个的话那肯定是211、985 。所以我们只能提到自己的能力,要不然有什么优势来让别人选择我们呢!!!

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

     

     

     

     

  • 相关阅读:
    django之认证权限和接口
    序列化组件
    django中cbv源码和restful规范
    AjaxControlToolKit--TabContainer控件的介绍收藏[摘录]
    sublime text 3 激活
    sublime 2激活和解决中文乱码
    sublime text2 保存文件时候名字后缀.dump问题解决
    选项卡 刷新回原来页面的处理方法:
    关于C#自定义控件【摘录】
    比较好的GridView固定问题(链接)
  • 原文地址:https://www.cnblogs.com/imMeya/p/11732297.html
Copyright © 2011-2022 走看看