第一次面试的总结

1.面试题不足

CSS布局

路由规则

路由导航守卫

axios拦截器,请求拦截器/响应拦截器

请求拦截器有什么用?
比如config中的一些信息不符合服务器的要求
比如每次发送网络请求时,都希望再界面中显示一个请求的图标 小圆圈加载图标,然后再响应拦截器的成功函数设置这个图标隐藏掉
某些网络请求(登陆(token)),必须携带一些特殊的信息,如果用户发送请求,没有登陆,就跳转到登陆界面
响应拦截器有什么用?
一般做一些数据的处理
对响应的状态进行处理,如果是500,则跳转到500的页面
隐藏掉小圆圈加载图标

v-if与v-show的共同点和不同点

  • 共同点
    • 都是显示和隐藏元素
  • 不同点
    • v-show是通过display:none来隐藏元素的,但是它是存在的,只是被隐藏了,用于频繁交换
    • v-if是添加、删除页面元素,为false时,它是隐藏的,不会渲染的,是不存在的,一般不用与频繁交换

组件传递方式

1.通过Vuex状态管理传值

2.事件总线

这种方法通过一个空的 Vue 实例作为中央事件总线(事件中心),用它来触发事件和监听事件,巧妙而轻量地实现了任何组件间的通信,包括父子、兄弟、跨级。当我们的项目比较大时,可以选择更好的状态管理解决方案 vuex。

3. $parent /$children 与ref

  • ref: 如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素;如果用在子组件上,引用就指向组件实例
  • $parent / $children:访问父 / 子实例

.父子之间的传递

  • 通过props向子组件传递数据
    • 数组写法
    • props: [‘cmovies’, ‘cmessage’]
    • 对象写法
    •   cmessage: {
        type: String,
        default: 'zzzzz',
        required: true //在使用组件必传值
        }
      } 
      
      - 
    
  • 通过事件向父组件传递数据

vuex是什么?

vuex是一个专门为vue.js应用程序开发的状态管理模式,
把多个组件共享的变量全部存储到一个对象中。
作用:

  • 1.状态管理,多个组件可以使用
  • 2.响应式的,当state中的数据发生改变时,Vue组件会自动更新
    什么时候用?
  • 多个组件需要共享某个变量
  • 组件的层级太多

如何解决移动端点击穿透

1.方案1

阻止默认行为
在这里插入图片描述

解决方案2

使背后元素不具备click特性,用touchXxxx代替click
在这里插入图片描述

解决方案三

让背后的元素暂时失去click事件,300毫秒左右再复原
在这里插入图片描述

解决方案四

让隐藏元素延迟300毫秒之后再隐藏
在这里插入图片描述

2.反问HR内容不足

3.自我介绍不足

面试官你好,我是xxx,是xx大学计算机专业的学生,很高兴能够得到贵公司的面试机会。这一次我应聘的是前端开发实习生的工作,在大学期间努力学习,充实自己,工作之后,脚踏实地,提升自己的技术,熟练使用html,css,js基础,也了解vue等框架,httwebpack前端构建工具,并持续关注该工作的新技术。希望能加入贵公司,从事前端开发的工作。

深浅拷贝的概念及区别

  • 浅拷贝 创建一个新对象,复制原始对象的属性,如果属性是基本数据类型,就拷贝基本数据的值,如果属性是引用数据类型,就拷贝引用数据类型的内存地址
  • 深拷贝 重新创建一份原始对象
  • 区别

浅拷贝 拷贝前后基本数据类型不受影响,拷贝前后引用数据类似受影响
深拷贝 拷贝前后对象互不影响

防抖节流

防抖函数的概念
在这里插入图片描述
给定一个时间,如果在这个时间内,没有再次触发,就会执行要执行的函数,如果触发了,将会清除上一次的定时器,重新计时。

节流的概念
在这里插入图片描述
每隔一段时间,就会执行一次,如果再这段时间内重复触发,只会生效一次。
在这里插入图片描述
函数防抖的应用场景

连续的事件,只需触发一次回调的场景有:

1.搜索框搜索输入。只需用户最后一次输入完,再发送请求。

2.手机号、邮箱验证输入检测。

3.窗口大小Resize。只需窗口调整完成后,计算窗口大小。防止重复渲染。

函数节流的应用场景

间隔一段时间执行一次回调的场景有:

1.滚动加载,加载更多或滚到底部监听。

2.高频点击提交,表单重复提交

比如:当用户长时间的点击按钮,防抖函数只会触发 一次,节流函数会触发多次。

什么是原型对象?

每创建一个函数,该函数就会自动带有一个 prototype 属性。该属性是个指针,指向了一个对象,我们称之为 原型对象。

js的垃圾回收机制

必要性:字符串、对象、数组的大小不是固定的,在知道他们的大小后,js的解析器会动态的分配内存给这些字符串、对象、数组,最后会回收他们所占的内存,否则,js的解析器会占用所有的系统内存,导致系统崩溃。
Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。

JS中最常见的垃圾回收方式是标记清除。

工作原理:是当变量进入环境时,将这个变量标记为“进入环境”。当变量离开环境时,则将其标记为“离开环境”。标记“离开环境”的就回收内存。

工作流程:

  1. 垃圾回收器,在运行的时候会给存储在内存中的所有变量都加上标记。

  2. 去掉环境中的变量以及被环境中的变量引用的变量的标记。

  3. 再被加上标记的会被视为准备删除的变量。

  4. 垃圾回收器完成内存清除工作,销毁那些带标记的值并回收他们所占用的内存空间。

引用计数 方式

工作原理:跟踪记录每个值被引用的次数。

工作流程:

  1. 声明了一个变量并将一个引用类型的值赋值给这个变量,这个引用类型值的引用次数就是1。

  2. 同一个值又被赋值给另一个变量,这个引用类型值的引用次数加1.

  3. 当包含这个引用类型值的变量又被赋值成另一个值了,那么这个引用类型值的引用次数减1.

  4. 当引用次数变成0时,说明没办法访问这个值了。

  5. 当垃圾收集器下一次运行时,它就会释放引用次数是0的值所占的内存。

但是循环引用的时候就会释放不掉内存。循环引用就是对象A中包含另一个指向对象B的指针,B中也包含一个指向A的引用。

因为IE中的BOM、DOM的实现使用了COM,而COM对象使用的垃圾收集机制是引用计数策略。所以会存在循环引用的问题。

解决:手工断开js对象和DOM之间的链接。赋值为null。IE9把DOM和BOM转换成真正的JS对象了,所以避免了这个问题。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

js的性能

css加载会造成阻塞?

在这里插入图片描述
b、因为cssom树和dom树合成render树,如果cssom未加载完成,那么会影响render树
c、js操作dom的时候,可能会添加某个元素的样式。

懒加载

什么是懒加载?
延迟加载,执行或者少执行,当需要的时候才去加载。比如:对图片使用懒加载,一开始只显示整个屏幕的图片,当用户滚动滚动条的时候,再去加载看到的图片。

懒加载的原理:
先获取所有图片的以及图片的长度,再定义一个函数,函数里获取到屏幕的高度clientHeight和滚动条的高度scrollTop,然后对所有图片进行循环,拿到每一张图片的offtop与两个高度之和进行比较,如果小于两个高度之后就显示图片,这代表着用户滚动到图片的显示区域,显示出图片,之后,通过window.scroll事件调用这个函数。当用户滚动滚动条触发这个函数,显示出图片。
在这里插入图片描述
在这里插入图片描述

云课内部管理系统的问题

判断负责人、成员、指导老师是否选中同一个人,负责人是字符串,首先要转换成数组,通过对负责人、成员、指导老师使用解构赋值的方式,全部赋值给一个新的数组a,然后使用object键值对判断它是否有重复的值,先循环数组a,拿到数组的每一个元素,当做对象的键,判断它是否为true,如果是true,代表它是有重复的值,如果为false,代表它没有重复,最后返回true或者false。

CSS选择器匹配规则

添加链接描述

webpack如何使用?

浏览器的同源策略是什么?

同源策略是浏览器对js实施的安全限制,同源指的是:协议、域名、端口都相同,只要有一个不同就会被认为是不同域。

null和undefined的区别

undefined 是声明了一个变量但是没有给他赋值
null 是声明了一个变量给他赋值了null值,它一般赋值给返回对象的变量
使用typeof判断这两个类型的时候,它是可以判断undefined类型,不能判断null值,因为null返回的是object字符串,使用两个等号判断两个类型返回true,三个等号判断两个类型返回false。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值