2019年3月web前端最新面试题

2023-10-29

最近在找工作,面试了好多家公司,结果都不怎么理想。要么公司环境氛围不行,要么工资达不到理想的薪资。大部分公司对程序员的面试流程几乎都一样,来了先填一份登记表,写一套面试题,然后技术面,人事面。至于有的大牛说,四面web前端,拿到10K+的工资,反正我这个渣渣程序员是没有碰到。

现在来整理一下这几天我所碰到的面试题。

html、css相关

如何垂直居中一个浮动元素

  • 父盒子有宽高

父元素相对定位,子元素绝对定位,top:50%;left:50%。margin负的左右二分之一的height,width

.content{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100px;
	float: left;
	height: 100px;
	background-color: #ff6700;
	margin-top: -50px;
	margin-left: -50px;
}
  • 父盒子没有高宽

父盒子相对定位,子盒子决定定位,上下左右都为0,margin:auto;

.content{
	width: 200px;
	height: 200px;
	background-color: #ff6700;
	float: left;
	margin: auto;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
}

说一下css的三大特性以及选择器的优先级

css三大特性:继承、优先级、层叠
选择器优先级:!important > 行内样式 > ID选择器 > 类选择器 > 标签 > 通配符 > 继承

简单说一下盒模型

盒模型: 内容 + padding + border + margin

有用过less这种预编译吗?用过它的那些方法

less是对css进行一个预编译,它重新定义了css样式的书写,样式可以嵌套,同时还定义了变量和函数

/*定义变量*/
@color: #ccc;
.content{
  background-color:@color;
}
/*定义函数*/
.textCenter(@marginT: 10px){
  text-align:center;
  margin-top:@marginT;
}

说说H5和C3新增了那些特性

H5主要新增了一些语义化标签,比如header,nav,main等等,还有音频视频,本地存储等技术。
Css3新增了一些属性选择器,伪类选择器,过度transition,2D3D旋转transform,动画animation

Css3颜色渐变有那两种

线性渐变所用的属性是linear-gradien

径向渐变用到的属性是radial-gradient

实现页面间通信有那些方法,他们有什么区别

可以使用H5新增的本地存储技术localstorage, 将数据存储到本地硬盘
使用cookie存储,sessitionStorage
区别:cookie兼容性较好,但是存储体积小只有时4kb,生命周期短,会话结束数据就消失,而且不安全容易被劫持。而其他两者不一样,存储体积大,存储时间长,除非手动删除否则不会消失。

说一下rem和em的区别

在css中的单位主要有px,em,rem
px单位是固定的像素,一但设置就无法适应页面大小而改变
em和rem相对于px更具有灵活性,他们是相对长度单位,意思是长度不是定死了的,更适用于响应式布局。
em相对于父元素,rem相对于根元素(参照的是html)

说一下flex弹性布局的属性

justify-content: //子元素水平排列的方式
                center  //居中
                space-between  //两端对齐
                space-around   // 子元素拉手分布
                flex-start     // 居左
                flex-end      //居右

align-items  :  // 子元素的垂直居中的排列方式
                enter    // 居中
                flex-end   //底部
                flex-start   //开始

align-content :  //多行的时候,子元素的垂直排列方式
                 center    //居中
                 flex-end   //底部
                 flex-start   //开始
                 flx-direction:  // 排列方式row 横向排列
                 row-reverse    //横向反向排列

flex-wrap : //子元素是否在一行显示
                no-wrap   //不换行
                wrap    //换行

控制元素显示隐藏有那些方式,有什么区别

display:nonevisibility:hidden
display:none控制隐藏的元素不占位置
visibility:hidden隐藏元素,但保留元素空间

js相关

###怎样添加、移除、移动、复制、创建和查找节点

1)创建新节点

      createDocumentFragment()    //创建一个DOM片段

      createElement()   //创建一个具体的元素

      createTextNode()   //创建一个文本节点2)添加、移除、替换、插入

      appendChild()

      removeChild()

      replaceChild()

      insertBefore()3)查找

      getElementsByTagName()    //通过标签名称

      getElementsByName()    //通过元素的Name属性的值

      getElementById()    //通过元素Id,唯一性

说说js中操作数组字符串的方法

这个我在之前的文章也有总结

谈谈你对闭包的理解

之所以有闭包是因为js存在一个变量作用域,变量的作用域分为局部全局作变量局部变量,在js函数中,可以访问到外部定义的全局变量,但在函数外面却无法访问函数内部定义的局部变量。所以闭包就是用来解决函数外部无法访问函数内部的局部变量。
闭包是在一个函数内部,return一个子函数,在子函数中可以访问到父函数定义的局部变量。它可以读取函数内部的变量,让这些变量的值始终保持在内存中,避免变量全局污染。所以导致它不能被浏览器垃圾回收机制回收,容易造成页面性能问题,内存泄漏

垃圾回收机制

JS的垃圾回收机制是为了以防内存泄漏,内存泄漏的含义就是当已经不需要某块内存时这块内存还存在着,垃圾回收机制就是间歇的不定期的寻找到不再使用的变量,并释放掉它们所指向的内存。

当一个变量的生命周期结束之后它所指向的内存就应该被释放。JS有两种变量,全局变量和在函数中产生的局部变量。局部变量的生命周期在函数执行过后就结束了,此时便可将它引用的内存释放(即垃圾回收),但全局变量生命周期会持续到浏览器关闭页面。

说一下原型和原型链

  • 原型

JavaScript 规定,每一个构造函数都有一个 prototype 属性,指向另一个对象。我们可以把所有对象实例需要共享的属性和方法直接定义在 prototype 对象上。这个对象的所有属性和方法,都会被构造函数的所拥有。
Prototype作为对象的内部属性,是不能被直接访问的,我们一般通过__proto__这个属性进行访问。
在原型对象中还有一个属性constructor,这个属性对应创建所有指向该原型的实例的构造函数

原型对象就相当于一个公共的区域,所有同一个类的实例都可以访问到这个原型对象,我们可以将对象中共有的内容,统一设置到原型对象中。

构造函数-实例-原型之间的关系.png

  • 原型链

在JavaScript中万物都是对象,对象和对象之间也有关系,并不是孤立存在的。对象之间的继承关系,在JavaScript中是通过prototype对象指向父类对象,直到指向Object对象为止,这样就形成了一个原型指向的链条
当我们访问对象的一个属性或方法时,它会先在对象自身中寻找,如果有则直接使用,如果没有则会去原型对象中寻找,如果找到则直接使用。如果没有则去原型的原型中寻找,直到找到Object对象的原型,Object对象的原型没有原型,如果在Object原型中依然没有找到,则返回undefined。

原型链.png    画的有点丑

事件机制和事件委托

事件流的三个阶段:
事件捕获
处于目标阶段
事件冒泡

事件委托:
事件委托是利用了事件的冒泡原理实现的,子元素的事件通过冒泡形式委托父元素执行

说一下JS面对对象有那些特性,怎样实现

  • 对象三大特性:封装,继承,多态

  • 封装:将面向过程每一步进行推进:对同种对象的属性和方法进行抽象,成为一个类(js中没有类的概念,实际上也是一个对象),然后通过类的方法和属性来访问类

  • 继承:在封装的基础上,将同类事物继续抽象,继承时,子类拥有父类的属性和方法,同时拥有自己特有的属性和方法

js的继承实现方法:
1.属性拷贝(浅拷贝)
2.属性拷贝(深拷贝)
3.原型式继承
4.原型链继承
5.借用构造函数
6.组合继承

  • 多态:不同对象对同一事物做出不同的回应,通常出现在继承后对方法的重写

特点:对于同一个操作(指令),不同的对象表现出不同的反应 隐藏不同

谈谈你对同步异步的理解

  • 同步:在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到返回的值或消息后才往下执行其他的命令。

  • 异步:执行完函数或方法后,不必阻塞性地等待返回值或消息

  • 区别:同步会阻塞程序的执行,效率低。异步可以同时执行多个程序,效率高

一次完整的HTTP请求是怎样一个过程

域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) --> 浏览器对页面进行渲染呈现给用户

Ajax原理

ajax是用来实现页面异步加载,同步刷新。
Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。
XMLHttpRequest对象的属性:
open准备发送请求的数据
send发送请求
onreadystatechange 每次状态改变所触发事件的事件处理程序。
responseText 从服务器进程返回数据的字符串形式。
responseXML 从服务器进程返回的DOM兼容的文档数据对象。
status 从服务器返回的数字代码,比如常见的404(未找到)和200(已就绪)
status Text 伴随状态码的字符串信息
readyState 对象状态值

Ajax中get请求和post有什么区别

GET和POST请求方式的差异
GET请求没没有请求体,请求的数据在xhr.open()里面拼接,xhr.send(null)
POST请求数据在xhr.send()里面,在设置请求体之前需要设置请求头

xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded")

解决跨域

产生跨域是因为浏览器的同源策略:域名 协议 端口必须保持一致

  • CORS

在服务器端设置响应头
header("Access-Control-Allow-Origin:*")
这种方式需要前后台的一个配后,而且相对而言不安全

  • JSONP

利用script标签src天然支持跨域的特征,将请求的地址写在src,在script里面定义一个处理函数,并把函数名传递给后台,后台接收并返回这个函数的调用,将传递的参数以函数形参的方式传递给前端
这种通过src放送的是一个同步请求,而且只能发送get请求,和ajax不一样

  • 方向代理

通过访问第三方服务器,让第三方服务器帮我们发送请求,开发阶段使用较多。

es6你知道多少

  • 字符串扩展
    includes断字符串中是否包含子字符串,第一个参数表示要测试的子字符串,第二个参数表示从那个位置开始查找,不传默认从索引0开始。
    startsWith判断字符串是否以特定的字符串开始
    endsWith判断字符串是否以特定的字符串结束
    字符串填充:padStart()padEnd()可以对字符串进行填充

  • 解构赋值
    数组的结构赋值

    // 解构
    
    let [a,b,c] = [1,2,3];
    
    console.log(a,b,c); // 1 2 3
    
    // 解构时设置默认值
    
    let [a = 1,b,c] = [,5,6];
    
    console.log(a,b,c); // 1 5 6
    
    // 解构时没有的数据为undefined
    
    let [a = 1,b,c] = [4,5,];
    
    console.log(a,b,c); // 4 5 undefined

对象的解构赋值

    let {name,age} = {name:'zxx',age:18}
    
    console.log(name,age); // zxx 18
    
    
    // 顺序无关
    
    let {name,age} = {age:18,name:'zxx'}
    
    console.log(name,age); // zxx 18
    
    
    // 属性别名,一旦设置了别名,原来的名字就无效了
    
    let {name:tag,age} = {age:18,name:'zxx'}
    
    console.log(name,age); // ReferenceError: name is not defined
    
    console.log(tag,age); // zxx 18
    
    
    // 解构赋值时设置默认值
    
    let {name:tag='zxx',age} = {age:18}
    
    console.log(tag,age); // zxx 18

字符串的解构赋值

    let [a,b,c,d] = 'zxx';
    
    console.log(a,b,c,d); // z x x undefined
    
    let [a,b,c,d] = 'zxx';
    
    console.log(a,b); z x
    
    // 得到字符串长度
    
    let { length } = 'zxx';
    
    console.log(length); // 3
  • 扩展运算符
    合并数组
let arr1 = [1,2,3];
let arr2 = [4,5,6];
let arr3 = [...arr1,...arr2];
console.log(arr3); // [1,2,3,4,5,6]
  • 箭头函数
let f = function(v) {
    return v;
};
let f = v => v;
  • Promise

Promise 是异步编程的一种解决方案.简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,可以从改对象获取异步操作的消息。

// 1. 创建promise实例,在实例中执行异步操作(比如发送网络请求)
// 2. 异步操作成功时,调用reslove函数传递数据
// 3. 异步操作失败时,调用reject函数传递错误信息

const promise = new Promise(function(resolve, reject) {
    // 异步操作

    if (/* 异步操作成功 */){

        resolve(value);

    } else {

        reject(error);

    }

});

//  使用promise实例then方法接收reslove或reject返回的数据

promise.then(function(value) {

    // 此处数据即为reslove回来的数据

    // success

}, function(error) {

    // 此处数据即为reject回来的数据

    // failure

});

VUE相关

vue有那些指令

v-text v-bind v-for v-if v-on
###谈谈MVVM
MVVM是一种分层次开发思想,它是CommonJS规范的实现
M代表module模型层
V代码view视图层
VM模型层和视图层之间没有任何的联系,而VM会充当一个调度者,将他们联系起来,实现双向数据绑定

组件化

从页面视图的角度出发,对页面功能的封装,实现项目可独立维护,可复用性大大提高

什么是Vue双向数据绑定?原理?

v-model指令、数据视图同步更新、使用的是ES5提供的Object.defineProperty()这个方法实现数据劫持

数据如何从模型同步到视图?当模型中数据发生变化时会触发Object.defineProperty的set方法,在这个方法内部能够劫持到数据的改变,然后就可以在该方法内部通知视图更新

视图中的数据如何同步到模型中?(v-model指令是怎么实现改变了元素中的数据同步到模型中)监听表单元素的change事件,在change事件中可以拿到用户输入的数据,然后给模型中的数据赋值

v-if和v-show的区别

v-if和v-show都是用来控制元素的显示和隐藏,当值是true,元素显示,值为false,元素隐藏

区别: v-if当切换布尔值时,会创建/删除元素;v-show当切换布尔值时,会改变元素的样式,display:block

Vue生命周期函数的理解?

生命周期就是在vue实例执行过程中会触发的一批函数,这些函数可以帮助我们处理不同时间段的业务逻辑

  • 创建阶段
    • beforeCreatevue实例被创建出来,此时仅仅只是分配了内存,属性和方法都还没有挂载到vue实例上
    • created此时vue实例已经创建完毕,data中的属性和methods中的方法都已经挂载到vue实例上
  • 渲染阶段
    • beforeMountvue实例中的数据被解析渲染到内存中的虚拟DOM上,真实中的DOM指令还没有被解析
    • mountedvue实例中的数据已经完全被渲染到了真实DOM中
      -更新阶段
    • beforeUpdate模型中的数据已经改变,但视图中的数据还没有同步更新
    • updated此时模型中的数据改变,视图层数据已经同步更新
  • 销毁阶段
    -beforeDestroyvue中的数据和方法还能继续使用,但是指令不能再被vue解析
    • destroyedvue中的数据和方法都已经被销毁

说一下单向数据流

组件之间的传值,数据从父级组件传递给子组件,只能单向绑定。

  • 父组件向子组件传值

    在父组件中定义数据,通过属性绑定的形式绑定到子组件上,在子组件中定义props接收传递过来的变量

  • 子组件向父组件传值

    在子组件中使用this.$emit触发一个自定义的方法名,然后传递数据第一个参数就是自定义的方法名,第二个参数就是需要传递给父组件的数据

    this.$emit('func',this.msg)
    

    在父组件中使用子组件时,绑定一个事件,事件名称和子组件触发的方法名同名

    <div id='app'>
       <son @func = 'getmsg'></son>
    </div>
    

vue-router路由模式有几种,原理分别是什么?

vue-router路由库是用哪种技术实现的,总共有两种,分别叫hash模式和history模式,默认是hash模式

  • hash模式:地址上带有#号;url地址可以放在任意标签中打开;可以兼容低版本的浏览器

    hash模式原理:监听hashchange事件,可以调用window.location.hash获取到锚点值,和路由规则进行匹配,匹配到之后将路由规则中定义的组件渲染到页面
    history模式:地址上没有#号,更加符合URL形式;url地址不能重复打开;

  • history模式原理:利用HTML5新提供的history.pushState API 来完成 URL 跳转而无须重新加载页面

    history模式需要后台进行相关配置:要在服务端增加一个覆盖所有情况的候选资源:如果 URL 匹配不到任何静态资源,则应该返回同一个 index.html 页面,这个页面就是你 app 依赖的页面
    ###Vuex怎么用,它相对与localstorage有什么优点和缺点

vuex的核心是:state,getter,actions,mutations

  • state用来定义存放公共数据
    this.$store.state.msg
    
  • mutations定义方法
    this.$store.commit('change','我是被修改的数据')
    
  • getters用于获取数据 进行一些操作 类似于Vue实例中的过滤器和计算属性
     this.$store.getters.fixmsg
    
  • actionactions和mutations都是定义对数据进行操作的方法,mutations中都是同步方法,mutations中定义异步方法
    this.$store.dispatch('asyncchange','我是被异步修改的数据')
    

区别
localstorage无法实现双向数据绑定,模型层的数据改变视图中数据不会发生改变,vuex数据不能持久化,需要结合localstorage使用,比较臃肿,小型项目不建议使用

总结

以上就是我最近面试遇到的面试题,希望对各位有所帮助,后期我也会持续更新,有遇到新的问题会及时更新。如果有什么错误,还请各位大佬指出在评论留言,小子会更改。最后希望大家能顺利的找到自己满意的工作,喜欢的可以支持一下。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2019年3月web前端最新面试题 的相关文章

  • VUE element-ui之el-popover弹出框在局部全屏下不显示问题及弹框、小箭头背景修改

    问题 局部全屏后el popover弹出框失效 解决方法
  • Java坑人面试题系列: 变量声明(中级难度)

    作用域规则与变量覆盖面试题 Java Magazine上面有一个专门坑人的面试题系列 https blogs oracle com javamagazine quiz 2 这些问题的设计宗旨 主要是测试面试者对Java语言的了解程度 而不是
  • input标签是什么?input标签属性有哪些

    input标签属于什么标签 input标签属性有哪些 相信刚接触的表单的小白应该很陌生 那么接下来我们就来讲一下input标签属性有哪些 首先小编在这里谢谢大家一直的支持 每天都会更新十个web前端基础内容 需要的可以关注我 另外也可以进我
  • 标识符和关键字应该如何理解?

    思考 为什么语言中需要关键字和表示符 程序来源于生活 想想我们人类在生产生活过程中的一些语言使用都有其特定的含义 而每个事物或者事物的一些属性功能也都需要给予特定的语言符号来表示 故java语言的发明者们按照人类的方式创造除了一门值得大家学
  • Web前端——Javascript复习(数组)

    1 数组 1 程序 数据结构 算法 一个好的数据结构 可极大提高程序的执行效率 相关的多个数据应集中存储 管理 分类和排序 2 数组概念 一组连续的变量组成的集合 批量管理多个数据 创建 2 1 var 变量名 2 2 var 变量名 值1
  • 父容器display:flex后,子元素的内部元素height:100%无效解决方法

    父容器display flex后 子元素的内部元素height 100 无效解决方法 解救办法 父类容器position relative 子元素 position absolute width 100 height 100 效果图 代码如
  • 微信小程序开发实战第五讲之授权登录

    上一节 我们实现了简单的通过用户名和密码调用接口进行登录的实战 但是在小程序中 有个特殊的情况 就是很少有厂商去开发一个注册功能或者是通过用户名 密码来登录的逻辑 为什么 因为APP 小程序为了用户体验 是尽量多的避免用户多次输入交互 所以
  • BAT面试题 - 找一个无序实数数组中的最大差值

    题目描述 一个无序的实数数组a i 要求求里面大小相邻的实数的差的最大值 比如 double a 1 5 4 0 2 100 这个无序的数组 相邻的数的最大差值为100 5 95 题目分析 这题有个简单的做法 首先就是对数组进行一个排序 然
  • RabbitMQ消息队列基础点

    消息队列 为什么使用消息队列 1 解耦 2 异步 3 削峰 消息队列的缺点 各种消息中间件的区别 消息丢失 如何保证消息的顺序性 如何解决消息队列的延时以及过期失效问题 消息队列满了以后该怎么处理 有几百万消息持续积压几小时 说说怎么解决
  • react脚手架配置别名并自动提示[VSCode]

    1 安装三方库 craco craco yarn add craco dev npm install craco craco save dev 2 配置craco config js const path require path modu
  • 20最佳代码审查工具-专门为开发人员准备

    程序员总是面临最后期限的压力和很多延误软件设计相当不稳定 整个产品是不稳定的 这种不稳定性的设计软件的原因是 它是不能正常测试 来的工作代码审查工具 的代码审查工具可以帮助web开发人员指出他们哪些区域的程序代码是错误的也可能有机会是不正确
  • CSS 学习笔记(基础)

    用来控制网页表现的语言 CSS Cascading Style Sheet 层叠样式表 然后我们继续看看 W3C 标准 结构 HTML 表现 CSS 行为 JavaScript CSS导入方式 选择器 属性 由于网页的框架结构是由HTML实
  • flex布局宽高度设置不成功

    flex布局中 会出现是在宽高 但是不起作用 那是因为flex布局当不够的时候自动压缩了 可以选择 让其不压缩 flex shrink 0 然后在设置宽高 或者利用复合属性 flex 0 0 83rpx 这篇博客是对flex布局的讲解 以及
  • 网页是如何显示在浏览器

    这两天学习了一些网页如何在浏览器中显示的知识 感觉在我向前端走的路上非常有用 所以就在这里总结一下 大家可以看看 我也算是巩固一下知识 因为自己学识太浅 内容可能有一些错误之处 希望看到的朋友可以指出来啦 在Edge浏览器也加入Chromi
  • 一眼看懂promise与async await的区别

    promise方法 let p1 new Promise resolve reject gt setTimeout gt resolve 我是p1 4000 let p2 new Promise resolve reject gt setT
  • hover时效果从中间向两边扩散

    header nav gt li position relative display inline block margin right 20px padding 0 5px font size 16px line height 76px
  • 微信小程序面试题大全

    1 简述微信小程序的相关文件类型 WXML 搭建页面的结构 WXSS 页面样式文件 js 逻辑处理 网络请求 json 配置当前页面标题和引入组件等 app js 可以在里边监听生命周期函数 声明全局变量 app json 小程序的全局配置
  • 点击按钮复制链接

    做点击按钮复制链接 网上找的方法是用原生js document execCommand Copy window clipboardData setData Text url value 发现微信上存在不兼容 在安卓和PC段都可以 但是在苹果
  • js实现鼠标悬停显示title效果

  • 第8章 多媒体嵌入

    学习目标 了解视频 音频嵌入技术 能够总结HTML5视频 音频嵌入技术的优点 了解常用的视频文件格式和音频文件格式 能够归纳HTML5支持的视频和音频格式 掌握HTML5中视频的嵌入方法 能够在HTML5页面中添加视频文件 掌握HTML5中

随机推荐

  • 华为机试C语言-字符串处理

    题目描述 https pycoder blog csdn net article details 124656685 include
  • 【网络安全】Spring框架漏洞总结(一)

    Spring简介 Spring是Java EE编程领域的一个轻量级开源框架 该框架由一个叫Rod Johnson的程序员在2002年最早提出并随后创建 是为了解决企业级编程开发中的复杂性 业务逻辑层和其他各层的松耦合问题 因此它将面向接口的
  • rxjava 流式开发

    RxJava 是一种支持响应式编程的库 它允许您以流式方式处理异步事件序列 使用 RxJava 您可以将事件序列视为一个流 并使用丰富的操作符对这个流进行转换 过滤 组合等操作 以生成您所需的结果 在 RxJava 中 数据源可以是任何可观
  • MySQL 上机操作--数据库及数据表操作

    前言 如有不当之处 还望指正 一 上机目的 熟练掌握基本表的定义 删除与修改 为后继学习作准备 二 上机设备 1台计算机 数据库系统安装MySql 三 相关准备知识 3 1 掌握数据库的定义 删除与修改 3 2 掌握基本表的定义 删除与修改
  • 程序控制流图

    基本符号 ps 请将线看成弧线 doge 顺序结构 if选择结构 while循环结构 case多分支结构 控制流图由节点和控制流线 弧 两种符号组成 结点以标有编号的圆圈表示 用于表示程序流程图中矩形框 菱形框的功能 是一个或多个分支的语句
  • 10分钟上手Azure Blob Storage

    文章目录 Azure Blob Storage快速上手 背景 什么是Azure Blob Storage Blob Storage的应用场景 环境搭建 安装 运行 修改Blob Storage中的数据 基本操作 使用C 修改文件属性 遇到问
  • 平摊分析典型例题及解答

    Exercise 1 5 对某个数据结构执行大小为 n 的一个操作序列 若 i 为 2 的整数幂 则第 i 个操作的代价 为 i 否则为 1 请利用会计方法分析每次操作的平摊代价 Exercise 2 15 Bill 提出了一种叫做翻转堆栈
  • SpringClud Sleuth + Zipkin + Kafka实现分布式链路追踪

    SpringClud Sleuth Zipkin Kafka实现分布式链路追踪 使用步骤 使用步骤 1 导入 pom 依赖
  • 关于Spring Cloud Gateway 网关限流

    本文将使用以下两种方式实现网关的限流 使用 Spring Cloud Gateway 的 RequestRateLimiter 过滤器工厂基于 Redis 的限流 使用 Sentinel 结合 Spring Cloud Gateway 来实
  • vue动态组件component详解

    附上代码
  • 演唱会门票抢不到?不要慌,教你用python实现自动化抢票

    前言 之前有小伙伴留言说女朋友快生日了 喜欢某某某但是手动买票根本就是买不到 又不想当大冤种从黄牛手里加钱 于是乎在疯狂星期四的晚上遭到 贿赂 的我连夜搞定了 一丶安装环境和配置文件 要用python实现 下载和安装python自然是不用说
  • P1016 旅行家的预算【模拟+贪心】【详解】

    题目链接 思路 这道题是一道很明显的模拟题 但这道题也需要自己的理解 我自己写了些样例 然后找到了其中的模拟 我们假设从一个点出发 对于它的下一个点我们有很多选择 期间定义一个len用以记录满油 单次最远 到达距离 我们造访这条路上的所有点
  • MYSQL数据库(六)用户、权限管理和DCL语句

    成功不易 加倍努力 1 MySQL用户管理 2 权限管理和DCL语句 3 MySQL的图形化的远程管理工具 1 MySQL用户管理 元数据数据库 mysql 系统授权表 USERNAME HOST HOST 主机名 user1 web1 m
  • 区块链到底是怎么运行的

    为了方便你理解 这一篇文章我将以比特币为例来进行讲解 因为比特币算是区块链应用中最简单 最容易理解的一个案例了 中心化记账的问题 首先 举一个关于中心化记账的经典例子 银行转账 假设小明给小红转200块 银行收到了转账请求 将小明银行账户里
  • 区块链hyperledger fabric架构详解

    hyperledger fabric是区块链中联盟链的优秀实现 主要代码由IBM Intel 各大银行等贡献 目前v1 1版的kafka共识方式可达到1000 s次的吞吐量 本文中我们依次讨论 区块链的共通特性 fabric核心概念 fab
  • vue全局一个格式化时间-format

    vue圈定定义一个format 用来格式化时间 Date prototype format function fmt const o M this getMonth 1 月份 d this getDate 日 h this getHours
  • Sudo: unable to initialize policy plugin 解决方法

    在centos7下 使用sudo 命令对www用户生成ssh秘钥 结果报错如下 Sudo parse error in etc sudoers near line 125 Sudo no valid sudoers sources foun
  • OS - 操作系统实战 - 学习/实践

    1 应用场景 主要用于学习 设计和编写操作系统 同时帮助更加好低理解操作系统 研究Linux系统 提供编程能力 2 学习 操作 1 文档阅读 操作系统实战45讲 操作系统 Linux 计算机基础 底层 内核 后端开发 iOS 彭东 C语言
  • c++中string的substr函数

    在 C 中 substr 函数用于提取字符串的子串 它有两种常用的用法 1 substr pos len 提取从位置 pos 开始的长度为 len 的子串 pos 指定提取子串的起始位置 位置从 0 开始 len 指定提取子串的长度 如果不
  • 2019年3月web前端最新面试题

    最近在找工作 面试了好多家公司 结果都不怎么理想 要么公司环境氛围不行 要么工资达不到理想的薪资 大部分公司对程序员的面试流程几乎都一样 来了先填一份登记表 写一套面试题 然后技术面 人事面 至于有的大牛说 四面web前端 拿到10K 的工