小记面试题-2021

LinMeng
• 阅读 2029

CSS类

1.解释浮动及其工作原理

浮动的元素可以向左或者向右移动,直到它的外边缘碰到包含元素(父元素)或另一个浮动元素的边框为止。要想使元素浮动,必须为元素设置一个宽度。虽然浮动的元素已不在文档流中, 但是它浮动后所处的位置依然在浮动之前的水平方向上。因为浮动元素不在文档流中,所以文档流中的块元素表现的就像浮动元素不存在一样,下面的元素会填补原来的位置。有些元素会在浮动元素的下方,但是这些内容的元素不一定会被浮动元素遮盖,当定位内联元素时,要考虑浮动元素的边界,围绕浮动元素放置内联元素。也可以把浮动元素想象成被块元素忽略的元素,而内联元素会关注的元素。

2.position:absolute和float属性的异同

共同点是对内联元素设置float和absolute属性,可以让元素脱离文档流,并且可以设置其宽高。 不同点是float仍可占据位置,不会覆盖在另一个BFC区域上,浮动的框可以向左或向右移动,直到其外边缘碰到包含框或另一个浮动框的边框为止。absolute覆盖文档流中的其他元素,即遮盖现象。。

3.说说你知道的css3新特性。

圆角(birder-radius),阴影(box-shadow)、对文字加特效(text-shadow),线性渐变(gradient),变换(transform)等等。

4.rgba()和opacity的透明效果有什么不同?

rbga()和opacity都能实现透明效果,但是最大的不同在于opacity是作用于元素,并且可以设置元素内所有内容的透明度;而rgba()只作用于元素的颜色或其背景色---设置rgba透明的元素的子元素不会继承透明的效果。

JavaScript

1.说说你对闭包的理解。

使用闭包只要是为了设计私有变量和方法。闭包的优点是可以避免全局变量的污染;缺点是闭包会常驻内存中,增加内存使用量,使用不当很容易造成内存泄漏,在JavaScript中,函数即闭包,只有函数才会产生作用域。 闭包有3个特性:

  1. 函数嵌套函数
  2. 在函数内部可以引用函数外部的参数和变量
  3. 函数和变量不会以垃圾回收机制回收

    2.简单说说new操作符的作用。

    作用如下:
  4. 创建一个空对象
  5. 由this变量引用该对象
  6. 该对象继承该函数的原型(更改原型链的指向)
  7. 把属性和方法加入到this引用的对象中。
  8. 新创建的对象由this引用,最后隐式地返回this,过程可以了解一下:
    var obj={};
    obj.__proto__ =Base.prototype;
    Base.call(obj);

    3. 说说你知道的那些操作会造成内存泄露。

    内存泄露指不再拥有或需要任何对象(数据)之后,他们仍然存在于内存中。 提示:垃圾回收器定期扫描对象,并计算引用了每个对象的其他对象的数量。如果一个对象的引用数量为0,或该对象的唯一引用是循环,那么该对象占用的内存立即被回收。 如果setTimeout的第一个参数使用字符串而非函数,会引发内存泄漏。 闭包,控制台日志,循环(在两个对象彼此引用且彼此保留时,就会产生一个循环)等会造成内存泄露。

Vue

1.vue-router是什么?它有哪些参数?

导航钩子又称导航守卫,又分为全局钩子,单独酷游独享钩子和组件级钩子。 全局钩子有beforeEach,beforeResolve,afterEach 单个路由独享钩子有beforeEnter 组件级钩子有beforeRouterEnter,beforeRouterUpdate,beforeRouterLeave.它们有以下参数:

  1. to 即将要进入的路由目标对象
  2. from 当前导航正要离开的路由
  3. next 一定要用这个函数才能到达下一个路由,若不用就会遭到拦截。

2. 你是怎么认识vuex的?

vuex可以理解为是一种开发模式或框架,它是对Vue.js框架数据层面的扩展,通过状态(数据源)集中管理驱动组件的变化,应用的状态集中放在store中,改变状态的方式是提交mutations,这是个同步的事务,异步逻辑封装在action中。

3.描述Vue.js的特点。

  1. 简洁--页面由HTML模板+JSON数据+Vue.js实例化对象组成。
  2. 数据驱动--自动计算属性和追踪依赖的模板表达式
  3. 组件化--用可复用,解耦的组件来构造页面
  4. 轻量--代码量小,不依赖其他库
  5. 快速--精确而有效地批量实现DOM更新
  6. 易获取--精确而有效地批量实现DOM更新

其他

1.XSS 攻击是什么?如何防护?

:xss( Cros Site Seripting)攻击指码是攻击者向 Web 页面里插入恶意 HTML标签或者 JavaScript代码,比如,攻击者在论坛中放一个看似安全的链接,骗取用户单击并窃取 cookie 中的用户私密信息;或者攻击者在论坛中加一个恶意表单,当用户提交表单的时候,却把信息传送到攻击者的服务器中,而不是用户原本以为的信任站点。 要防范 XSS攻击,首先,在代码里对用户输入的地方和变量都需要仔细检查长度和对“<”“>”";"","等字符做过滤。其次,在把任何内容写到页面之前都必须进行编码,避免泄露 htmltag。在这一个层面做好,至少可以防止超过一半的 XSS 攻击。

2.说说 Git 中 merge 和 rebase 的区别。

在Git中,merge 和rebase 从最终效果来看没有任何区别,都是将不同分支的码融合在一起,但是生成的代码树稍有不同。rebase 操作不会生成新的节点,而是两个分支融合成一个线性的提交。而merge 操作生成的代码树会显得比较乱。

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
CSS定位规则之BFC
技术改变世界!学习改变人生!1. BFC(block formatting context,中文常译为块级格式化上下文)是W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用。 在进行盒子元素布局的时候,BFC提供了一个环境,在这个环境中按照一定规则进行布局不会影响到其它环境中的布局。比如浮动元素
Wesley13 Wesley13
3年前
BFC清除浮动
BFC就是清除浮动用来处理文档脱离文档流的问题清除浮动的方法:a、父元素也添加一个浮动    产生弊端就是:margin不能使用b、给父元素添加一个:display:inlineblock     弊端同a一样:无法使用marginc、给父元素添加高     
Wesley13 Wesley13
3年前
CSS中清除浮动的作用以及如何清除浮动
1.什么是浮动,浮动的作用“浮动”从字面上来理解就是“悬浮移动、非固定”的意思。块级元素(div、table、span…)是以垂直方向排列,而在前端界面中往往要使用水平布局块级元素使界面更美观。这就要用到浮动了。被设置浮动的元素会脱离标准流(竖直排列),从而达到水平排列的效果。例如.未设置浮动时图1中的两张图片竖直排列在父级元素(橙色区域)
Wesley13 Wesley13
3年前
CSS清除浮动大全共8种方法
在各种浏览器中显示效果也有可能不相同,这样让清除浮动更难了,下面总结8种清除浮动的方法,测试已通过iechromefirefoxopera,需要的朋友可以参考下清除浮动是每一个web前台设计师必须掌握的机能。css清除浮动大全,共8种方法。浮动会使当前标签产生向上浮的效果,同时会影响到前后标签、父级标签的位置及widthheig
Stella981 Stella981
3年前
CSS之清除浮动 && float属性
DIV层内的元素在使用了float属性后无法自动改变高度的解决办法:有的时候为了让外侧层根据内容自动调整,没有设置高度或宽度,一般都会正常显示。但如果层内元素使用了float属性,就会使那些元素脱离文件流,就无法再扩充容器层,就会导致外层大小无法根据内容自动调整。关于这个问题,总结出以几种在当下几种主流浏览器都兼容的方法,供大家参考。1.清除浮动在层
Wesley13 Wesley13
3年前
CSS清除浮动的4种方式
1、使用空标签清除浮动。我用了很久的一种方法,空标签可以是div标签,也可以是P标签。这种方式是在需要清除浮动的父级元素内部的所有浮动元素后添加这样一个标签清除浮动,并为其定义CSS代码:clear:both。此方法的弊端在于增加了无意义的结构元素。2、使用overflow属性。此方法有效地解决了通过空标签元素清除浮动而不得不增加无意代码的弊端。使用
Wesley13 Wesley13
3年前
CSS 清除浮动 伪类
参考链接:https://www.cnblogs.com/yingsu/p/7261904.html不清楚浮动的结果和影响不再描述,清除浮动的代码别处也有很多,每种方法都有十分简洁的代码,我今天学到的是有伪类来清除浮动。他的原理简单来说就是再已经浮动的元素后面添加一个什么也没有的元素,以此来消除子元素因为浮动而让父元素塌陷的一种解决办法。
Wesley13 Wesley13
3年前
CSS复习笔记二:浮动和清除浮动
 一、浮动的性质1、浮动的元素脱离标准文档流,并且可以设置宽度和高度。2、浮动的元素相互贴靠3、浮动的元素有“文字环绕”效果       含有图片的div浮动,段落不浮动,文字会环绕图片。4、div浮动了且没有设置宽度,那么将自动收缩为内容的宽度。浮动(脱标)的元素是不能把容器惩处高度的。二、浮动的清除
Wesley13 Wesley13
3年前
CSS基础知识(定位、浮动)
12、浮动!(https://oscimg.oschina.net/oscnet/80b6fe9ed0e2c74d146667b2fdbd187f21a.jpg)特点:将当前元素脱离文档流   float:left即左浮动 float:right即右浮动注:\父与子元素,设置子元素浮动不能超出父元素的范围
Stella981 Stella981
3年前
CSS 定位 (Positioning) 实例
CSS定位和浮动CSS为定位和浮动提供了一些属性,利用这些属性,可以建立列式布局,将布局的一部分与另一部分重叠,还可以完成多年来通常需要使用多个表格才能完成的任务。定位的基本思想很简单,它允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素、另一个元素甚至浏览器窗口本身的位置。显然,这个功能非常强大,也很让人吃惊。要知道,用户代理对