2021上海中级前端面试常问问题整理

金九银十的时间到了,又是适合跳槽的时间,我之前是在郑州工作,然后九月来上海这边,面了一周左右,找到了还算满意的工作,现在整理一下面试中遇到的问题,给要在上海找工作的小伙伴一个参考,也给自己下次换工作做一个参考,哈哈
我是主要做vue的还没有学vue3所以面试中大多是vue2的问题,但是上海挺多公司开始转vue3了,这个还是要抓紧学习
先把问题记录下来,有时间会更新答案

一、vue和js部分

1.mvvm原理
  • mvvm分为Model、View、ViewModel
    其中Model代表数据模型,也可以再Model中定义数据修改和操作的业务逻辑
    View代表UI组件,负责将数据模型转化为ui显示出来
    ViewModel监听模型数据的改变和控制视图行为、处理用户交互,就是要给同步的Model对象,连接Model和View。

在mvvm架构下,View和Model之间并没有直接的联系,而是通过ViewModel进行交互,Model 和 View 之间的交互是双向的, 因此View 数据的变化会同步到Model中,而Model 数据的变化也会立即反应到View 上。

ViewModel通过双向数据绑定把View层和Model层连接起来,而View和Model之间的同步工作完全是自动的,无需人为干涉,因此开发者只需要关注业务逻辑,不需要手动操作DOM,不需要关注数据状态的同步问题,复杂的数据状态维护完全由MVVM来统一管理

2.数据双向绑定原理
  • vue的数据双向绑定是通过数据劫持结合发布者-订阅模式的方式来实现的
    vue实现数据双向绑定的核心是Object.defineProperty()方法
    Object.defineProperty()在执行中,通过get和set函数
3.v-model原理
4.组件传参(父子,兄弟,组件传参的生命周期)
  • 父传子 props
  • 子传父 $emit
  • 兄弟组件传参 eventBus
  • 组件传参时的生命周期:父beforeCreat、父created、父beforeMount、子beforeCreat、子created、子beforeMount、子mounted、父mounted、父beforeUpdate、子beforeUpdate 、子updated、父updated、 父beforeDestory、子beforeDestory、子destoryed、父destoryed
5.vuex(异步方法和同步方法)
6.watch和computed

computed是vue的计算属性,可以用于一些复杂的运算,有缓存性,依赖的值不变的情况下不会重新计算
1.是计算值,
2.应用:就是简化tempalte里面{{}}计算和处理props或$emit的传值
3.具有缓存性,页面重新渲染值不变化,计算属性会立即返回之前的计算结果,而不必再次执行函数

watch是监听属性,没有缓存,deep(深度监听,用于数组,对象),handler,immediate(立即执行)
1.是观察的动作,
2.应用:监听props,$emit或本组件的值执行异步操作
3.无缓存性,页面重新渲染时值不变化也会执行

7.data为什么是个函数

组件实例对象data必须为函数,目的为了防止多个组件实例直接共用一个data,产生数据污染
在组件复用时,data作为函数,有自己的存储空间,每次都能返回一个新的data,其中一个组件中data的值变化,不会影响其他组件中的data

8.promise如果有一个方法报错会怎样,如果想要不管报错仍输出是怎么实现
9.箭头函数this指向
10.作用域和作用域链
11.原型和原型链
12.数组的一些方法,并且那些方法会返回新数组
13.跨域怎么处理
14.路由权限,按钮权限
15.axios的请求拦截和返回拦截主要是做什么
16.vue常用的一些ui框架有哪些

pc:elementui,avue,Ant Design of Vue
移动:vantui,mint ui

17.async、await做什么和promise的区别
18.v-for和v-if能放一起用吗

不能,v-for优先级比v-if高,放在一起使用的时候,v-if要在每个循环中创建销毁dom,浪费资源

二、小程序部分

1.小程序的生命周期
/**
 * 生命周期函数--监听页面加载
 */
onLoad: function (options) {},

/**
 * 生命周期函数--监听页面初次渲染完成
 */
onReady: function () { },

/**
 * 生命周期函数--监听页面显示
 */
onShow: function () {},

/**
 * 生命周期函数--监听页面隐藏
 */
onHide: function () {},

/**
 * 生命周期函数--监听页面卸载
 */
onUnload: function () {},

/**
 * 页面相关事件处理函数--监听用户下拉动作
 */
onPullDownRefresh: function () {},

/**
 * 页面上拉触底事件的处理函数,可用于下拉加载
 */
onReachBottom: function () {},

/**
 * 用户点击右上角分享
 */
onShareAppMessage: function () {}
2.小程序组件生命周期执行顺序
image.png
3.小程序页面接收参数在那个生命周期内

onLoad(option)

4.小程序页面栈(10层)
5.小程序发布流程

上传--->提审--->发布

6.小程序头部导肮(胶囊导航的位置)
7.小程序和小程序间的跳转

wx.navigateToMiniProgram
可配置跳转版本(开发版,体验版,正式版)

8.小程序登录流程(用户触发登录和静默登录)
9.小程序内嵌web-view(准备工作及如何实现)

配置合法域名,新建web-view页面

10.微信h5跳转小程序

wx-open-launch-weapp 小程序原始id
可参考https://www.jianshu.com/p/7fbca9f7df2b

三、css和html部分

1.盒模型,ie和模型和标准盒模型

计算宽度不一致
ie:content+padding+border
标准:content
box-sizing:content-box ( 标准 )
box-sizing:border-box ( ie )

2.flex布局

flex布局可以更好的适配移动端

3.垂直左右居中

1.flex布局
2.不知道子元素宽高:position:absolute;top:50%;left50%; transform:translate(-50%,-50%)
3.已知子元素的宽高:position:absolute;top:50%;left50%;margin-left:宽的一半,margin-top:高的一半

4.一侧固定另一侧自适应有几种实现方式

1.flex布局,左侧固定宽,右侧flex:1
2.左侧浮动,右侧margin-left:左侧的宽
3.左侧定宽,右侧绝对定位,left:左侧的宽
4.左侧绝对定位,右侧margin-left:左侧的宽

5.上下有宽高,中间自适应怎么实现

上下宽高固定,下用绝对定位定在底部,中间绝对定位,top:上高,bottom:下高;height:auto

6.BFC是什么

相当于一个完全封闭的盒子,元素布局不受外界影响
生成BFC的条件:float(除none)、overflow、
可以解决浮动布局造成的父元素塌陷
解决外边距重合的问题
可以计算浮动的高,

7.less和sass与css相比的好处,怎么声明变量

四、js和es6的一些内容

1.基本数据类型有哪些,和引用数据类型的区别
2.怎么判断不同数据类型
3.闭包
4.es6新特性
5.缓存:local storage和sessionstorage和cooike
6.深浅拷贝
7.防抖节流
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,837评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,551评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,417评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,448评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,524评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,554评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,569评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,316评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,766评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,077评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,240评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,912评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,560评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,176评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,425评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,114评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,114评论 2 352

推荐阅读更多精彩内容