当前位置: 网站首页 > 欢迎访问

记今日的面试

2019-07-02来源:澳门凯旋门官方网站

今天的上午下午各一场面试,虽然自己有精心准备,但是面试的效果还是不是很好,网上搜罗的面试题,算法题等等,都有消化吸收,也不能说完全没有用吧,至少在笔试题还是用上了的,功夫也算是没有白费,废话不多说了,总结下今日面试不好的地方,砥砺前行!

上午面试

 1.promise的处理分为then,与catch,then的返回值被下一个promise对象所接收,这个then return的值是否有限制:

  刚听到这个题目的时候我是懵逼的,promise的then一般接收resolve函数,promise的catch一般接收错误的函数,then的返回值会被下一个promise接收,但是对于返回值的约定,这点不是很清楚,面试结束过后就去百度了一下,也没找到结果,暂时作为一个疑点

 2.vue-router的配置

  vue-router有base与mode配置项,vue-router有使用过,但是没有配置过,再次去翻看vue文档,找到了结果

  

1 mode: 2 3 类型: string 4 5 默认值: "hash" (浏览器环境) | "abstract" (Node.js 环境) 6 7 可选值: "hash" | "history" | "abstract" 8 9 配置路由模式:10 11 hash: 使用 URL hash 值来作路由。支持所有浏览器,包括不支持 HTML5 History Api 的浏览器。12 13 history: 依赖 HTML5 History API 和服务器配置。查看 HTML5 History 模式。14 15 abstract: 支持所有 JavaScript 运行环境,如 Node.js 服务器端。如果发现没有浏览器的 API,路由会自动强制进入这个模式。16 17 #

  

1 base:2 3 类型: string4 5 默认值: "/"6 7 应用的基路径。例如,如果整个单页应用服务在 /app/ 下,然后 base 就应该设为 "/app/"。

 3.vue的生命周期

  vue生命周期的介绍网上有很多,今天面试的时候,我回答了8个周期的钩子,回答的不是很全面,所以查阅了资料进行了补充

  (1)beforecreate created 

      beforecreate:组件实例刚刚被创建,  组件属性计算之前,如data属性

      created:  组件实例创建完成,属性绑定,但是dom未生成

  (2)beforemount beforemounted

      beforemount:模版编译挂载之前

      mounted:模版编译挂载之后

  (3)beforeupdate updated

      beforeupdate:更新之前

      updated:更新之后

    (4)  beforedestory destoryed

      beforedestory:组件销毁之前调用

        在下午的面试中,面试官问我,什么时候调用这个钩子,我没有用过,没有回答,百度==》beforeDestroy: 你确认删除XX吗? destroyed :当前组件已被删除,清空相关内容

      destoryed:销毁之后

  下午:

    1.原生js实现一个居中弹窗:

      关于弹窗实现我回答出来了,就是点击弹窗按钮生成一个div,append到body里面去,在回答居中的问题上,有点问题,除了display:flex,面试官问我是否有别的办法,我说了给定位,然后left:50%,再margin-left:自身宽度的一半,他继续问,如果未知宽度呢,当时除了display没想到别的办法,有点紧张,后来面完了在路上想到了,还是定位,视口宽度的一半减去元素自身宽度的一半,未知宽度可以用clientwidth来获取,视口宽度:document.documentelement.clientwidth来获取,即使是没定定宽的元素,这样也是可以获取的。

    2.原生轮播图:

      之前写过很多次的原生轮播图,但是面试的时候竟然没回答出来,回来赶紧看了一遍,父容器相对定位,超出隐藏,里面放一个ul,绝对定位,ul的宽度为所有图片的宽度,比如图片为7张,ul的宽度为700%,然后里面的li全部浮动到左边,通过改变ul的left值,来实现图片的左右轮播。回答的时候脑抽来竟然说父容器也是绝对定位...

  以上是今天面试的总结,结果应该不是很好,总结总结经验,下次继续,多储备一些vue相关的知识,继续加油!

  

, 1, 0, 9);