草庐IT

前端面试问题:扫码登录原理详解

一、简介从登录的交互形式角度,登录有很多方式:账号密码登录、验证码登录、手机号一键登录、扫码登录等等。今天我们聊一聊扫码登录的原理。先来看两个扫码登录的场景:1.手机已经登录知乎,如果我们想在PC网页登录,可以使用知乎移动端扫码登录。2.使用微信扫码登录PC网页ProcessOn(这是一个免费作图的网站)。从账号体系角度,这是扫码登录的两种方式:自有账户登录登录和第三方登录。我们在面试中问“请讲一讲扫码登录的原理”,通常指的是自有账户登录;而在实际业务开发中,基于微信的第三方登录是很常见的一个需求。下面我们讨论这两种扫码登录如何实现。二、自有账户扫码登录前置条件:用户手机已经登录账号(如知乎)

【面试宝典】2023前端面试题

文章目录一、HTML1、简述一下对HTML语义化的理解?2、标签上title与alt属性的区别是什么?3、href与src?4、HTML新特性?5、Localstorage、SessionStorage、cookie区别6、HTML5的离线储存的使用和原理?7、常见的浏览器内核8、你对web标准以及W3C的理解?9、行内元素和块级元素有哪些?img属于什么元素10、表单中readonly和disabled的区别?11、如何进行网站性能优化?12、如何写出高性能的HTML?13、iframe的优缺点?二、CSS1、css3新特性?2、什么是盒子模型3、CSS选择器以及优先级的理解?4、谈谈你对回

【面试宝典】2023前端面试题

文章目录一、HTML1、简述一下对HTML语义化的理解?2、标签上title与alt属性的区别是什么?3、href与src?4、HTML新特性?5、Localstorage、SessionStorage、cookie区别6、HTML5的离线储存的使用和原理?7、常见的浏览器内核8、你对web标准以及W3C的理解?9、行内元素和块级元素有哪些?img属于什么元素10、表单中readonly和disabled的区别?11、如何进行网站性能优化?12、如何写出高性能的HTML?13、iframe的优缺点?二、CSS1、css3新特性?2、什么是盒子模型3、CSS选择器以及优先级的理解?4、谈谈你对回

2023高频前端面试题(持续更新 含答案)

1,es6有哪些新特性?ES6是2015年推出的一个新的版本、这个版本相对于ES5的语法做了很多的优化let和const具有块级作用域,不存在变量提升的问题。新增了箭头函数,简化了定义函数的写法,同时可以巧用箭头函数的this、(注意箭头函数本身没有this,它的this取决于外部的环境),新增了promise,解决了回调地域的问题,新增了模块化、利用import、export来实现导入、导出。新增了结构赋值,ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。新增了class类的概念,它类似于对象。1-1,let声明变量和var一样,但是

2023高频前端面试题(持续更新 含答案)

1,es6有哪些新特性?ES6是2015年推出的一个新的版本、这个版本相对于ES5的语法做了很多的优化let和const具有块级作用域,不存在变量提升的问题。新增了箭头函数,简化了定义函数的写法,同时可以巧用箭头函数的this、(注意箭头函数本身没有this,它的this取决于外部的环境),新增了promise,解决了回调地域的问题,新增了模块化、利用import、export来实现导入、导出。新增了结构赋值,ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。新增了class类的概念,它类似于对象。1-1,let声明变量和var一样,但是

前端面试题JavaScript篇——2022-09-16

每日3题1以下代码执行后,控制台中的输出内容为?//以下代码执行后,浏览器的控制台中输出的内容是什么vararr=[0,1,2];arr[10]=10;varnewArr=arr.filter((x)=>x===undefined);console.log(newArr);2以下代码执行后,控制台中的输出内容为?//以下代码执行后,控制台中输出的内容是什么constobj={2:3,3:4,length:2,push:Array.prototype.push,};obj.push(1);console.log(obj);3以下代码执行后,控制台中的输出内容为?//以下代码执行后,控制台中输出的

前端面试题JavaScript篇——2022-09-15

每日3题1以下代码执行后,控制台中的输出内容为?//以下代码执行后,控制台中输出的内容是什么varfullname="a";varobj={fullname:"b",prop:{fullname:"c",getFullname:function(){returnthis.fullname;},},};console.log(obj.prop.getFullname());vartest=obj.prop.getFullname;console.log(test());2以下代码执行后,控制台中的输出内容为?//以下代码执行后,控制台中输出的内容是什么functionFoo(){Foo.a=fu

前端面试题JavaScript篇——2022-09-14

每日3题1以下代码执行后,控制台中的输出内容为?varcompany={address:"chengdu",};varobj=Object.create(company);deleteobj.address;console.log(obj.address);2以下代码执行后,控制台中的输出内容为?vara=[0];if(a){console.log(a==true);}else{console.log(a);}3以下代码执行后,控制台中的输出内容为?(function(){vara=(b=5);})();console.log(b);console.log(a);公众号【今天也要写bug】更多

前端面试题JavaScript篇——2022-09-13

每日3题34以下代码执行后,控制台中的输出内容为?constnum={a:10,add(){returnthis.a+2;},reduce:()=>this.a-2,};console.log(num.add());console.log(num.reduce());35以下代码执行后,控制台中的输出内容为?varx=1;if(functionf(){}){x+=typeoff;}console.log(x);36以下代码执行后,控制台中的输出内容为?functionf(){returnf;}console.log(newf()instanceoff);公众号【今天也要写bug】更多前端面试题

前端面试题JavaScript篇——2022-09-16

每日3题1以下代码执行后,控制台中的输出内容为?//以下代码执行后,浏览器的控制台中输出的内容是什么vararr=[0,1,2];arr[10]=10;varnewArr=arr.filter((x)=>x===undefined);console.log(newArr);2以下代码执行后,控制台中的输出内容为?//以下代码执行后,控制台中输出的内容是什么constobj={2:3,3:4,length:2,push:Array.prototype.push,};obj.push(1);console.log(obj);3以下代码执行后,控制台中的输出内容为?//以下代码执行后,控制台中输出的